:: AMISTD_1 semantic presentation
theorem Th1: :: AMISTD_1:1
theorem :: AMISTD_1:2
theorem Th3: :: AMISTD_1:3
theorem :: AMISTD_1:4
canceled;
theorem :: AMISTD_1:5
canceled;
theorem :: AMISTD_1:6
canceled;
theorem :: AMISTD_1:7
canceled;
theorem :: AMISTD_1:8
canceled;
theorem :: AMISTD_1:9
canceled;
theorem :: AMISTD_1:10
canceled;
theorem Th11: :: AMISTD_1:11
Lm1:
for N being with_non-empty_elements set
for S being non empty non void IC-Ins-separated steady-programmed definite AMI-Struct of N
for il being Instruction-Location of S
for I being Element of the Instructions of S
for f being FinPartState of S st f = il .--> I holds
f is autonomic
theorem :: AMISTD_1:12
theorem Th13: :: AMISTD_1:13
:: deftheorem AMISTD_1:def 1 :
canceled;
:: deftheorem AMISTD_1:def 2 :
canceled;
:: deftheorem defines jump-only AMISTD_1:def 3 :
:: deftheorem defines jump-only AMISTD_1:def 4 :
:: deftheorem defines NIC AMISTD_1:def 5 :
Lm2:
now
let N be
with_non-empty_elements set ;
let S be non
empty non
void IC-Ins-separated definite realistic AMI-Struct of
N;
let i be
Element of the
Instructions of
S;
let l be
Instruction-Location of
S;
let s be
State of
S;
let f be
FinPartState of
S;
assume A1:
f = (IC S),
l --> l,
i
;
set t =
s +* f;
A2:
IC S <> l
by AMI_1:48;
A3:
dom f = {(IC S),l}
by A1, FUNCT_4:65;
then A4:
IC S in dom f
by TARSKI:def 2;
A5:
IC (s +* f) =
f . (IC S)
by A4, FUNCT_4:14
.=
l
by A1, A2, FUNCT_4:66
;
l in dom f
by A3, TARSKI:def 2;
then (s +* f) . l =
f . l
by FUNCT_4:14
.=
i
by A1, A2, FUNCT_4:66
;
hence
IC (Following (s +* f)) in NIC i,
l
by A5;
end;
:: deftheorem defines JUMP AMISTD_1:def 6 :
:: deftheorem defines SUCC AMISTD_1:def 7 :
theorem Th14: :: AMISTD_1:14
theorem Th15: :: AMISTD_1:15
:: deftheorem Def8 defines <= AMISTD_1:def 8 :
theorem :: AMISTD_1:16
:: deftheorem defines InsLoc-antisymmetric AMISTD_1:def 9 :
:: deftheorem Def10 defines standard AMISTD_1:def 10 :
theorem Th17: :: AMISTD_1:17
theorem Th18: :: AMISTD_1:18
theorem Th19: :: AMISTD_1:19
Lm3:
for a, b being set holds dom ((NAT --> a) +* (NAT .--> b)) = NAT \/ {NAT }
set III = {[1,0],[0,0]};
definition
let N be
with_non-empty_elements set ;
func STC N -> strict AMI-Struct of
N means :
Def11:
:: AMISTD_1:def 11
( the
carrier of
it = NAT \/ {NAT } & the
Instruction-Counter of
it = NAT & the
Instruction-Locations of
it = NAT & the
Instruction-Codes of
it = {0,1} & the
Instructions of
it = {[0,0],[1,0]} & the
Object-Kind of
it = (NAT --> {[1,0],[0,0]}) +* (NAT .--> NAT ) & ex
f being
Function of
product the
Object-Kind of
it,
product the
Object-Kind of
it st
( ( for
s being
Element of
product the
Object-Kind of
it holds
f . s = s +* (NAT .--> (succ (s . NAT ))) ) & the
Execution of
it = ([1,0] .--> f) +* ([0,0] .--> (id (product the Object-Kind of it))) ) );
existence
ex b1 being strict AMI-Struct of N st
( the carrier of b1 = NAT \/ {NAT } & the Instruction-Counter of b1 = NAT & the Instruction-Locations of b1 = NAT & the Instruction-Codes of b1 = {0,1} & the Instructions of b1 = {[0,0],[1,0]} & the Object-Kind of b1 = (NAT --> {[1,0],[0,0]}) +* (NAT .--> NAT ) & ex f being Function of product the Object-Kind of b1, product the Object-Kind of b1 st
( ( for s being Element of product the Object-Kind of b1 holds f . s = s +* (NAT .--> (succ (s . NAT ))) ) & the Execution of b1 = ([1,0] .--> f) +* ([0,0] .--> (id (product the Object-Kind of b1))) ) )
uniqueness
for b1, b2 being strict AMI-Struct of N st the carrier of b1 = NAT \/ {NAT } & the Instruction-Counter of b1 = NAT & the Instruction-Locations of b1 = NAT & the Instruction-Codes of b1 = {0,1} & the Instructions of b1 = {[0,0],[1,0]} & the Object-Kind of b1 = (NAT --> {[1,0],[0,0]}) +* (NAT .--> NAT ) & ex f being Function of product the Object-Kind of b1, product the Object-Kind of b1 st
( ( for s being Element of product the Object-Kind of b1 holds f . s = s +* (NAT .--> (succ (s . NAT ))) ) & the Execution of b1 = ([1,0] .--> f) +* ([0,0] .--> (id (product the Object-Kind of b1))) ) & the carrier of b2 = NAT \/ {NAT } & the Instruction-Counter of b2 = NAT & the Instruction-Locations of b2 = NAT & the Instruction-Codes of b2 = {0,1} & the Instructions of b2 = {[0,0],[1,0]} & the Object-Kind of b2 = (NAT --> {[1,0],[0,0]}) +* (NAT .--> NAT ) & ex f being Function of product the Object-Kind of b2, product the Object-Kind of b2 st
( ( for s being Element of product the Object-Kind of b2 holds f . s = s +* (NAT .--> (succ (s . NAT ))) ) & the Execution of b2 = ([1,0] .--> f) +* ([0,0] .--> (id (product the Object-Kind of b2))) ) holds
b1 = b2
end;
:: deftheorem Def11 defines STC AMISTD_1:def 11 :
for
N being
with_non-empty_elements set for
b2 being
strict AMI-Struct of
N holds
(
b2 = STC N iff ( the
carrier of
b2 = NAT \/ {NAT } & the
Instruction-Counter of
b2 = NAT & the
Instruction-Locations of
b2 = NAT & the
Instruction-Codes of
b2 = {0,1} & the
Instructions of
b2 = {[0,0],[1,0]} & the
Object-Kind of
b2 = (NAT --> {[1,0],[0,0]}) +* (NAT .--> NAT ) & ex
f being
Function of
product the
Object-Kind of
b2,
product the
Object-Kind of
b2 st
( ( for
s being
Element of
product the
Object-Kind of
b2 holds
f . s = s +* (NAT .--> (succ (s . NAT ))) ) & the
Execution of
b2 = ([1,0] .--> f) +* ([0,0] .--> (id (product the Object-Kind of b2))) ) ) );
Lm4:
for N being with_non-empty_elements set
for i being Instruction of (STC N)
for s being State of (STC N) st InsCode i = 1 holds
(Exec i,s) . (IC (STC N)) = succ (IC s)