thus
SCM+FSA is realistic
( SCM+FSA is IC-Ins-separated & SCM+FSA is definite & SCM+FSA is steady-programmed )
ObjectKind (IC SCM+FSA ) = NAT
by FUNCT_7:def 1, SCMFSA_1:5, SCMFSA_1:9;
hence
SCM+FSA is IC-Ins-separated
by AMI_1:def 11; ( SCM+FSA is definite & SCM+FSA is steady-programmed )
thus
SCM+FSA is definite
SCM+FSA is steady-programmed
let s be State of SCM+FSA ; AMI_1:def 13 for b1 being Element of the Instructions of SCM+FSA
for b2 being Element of K107() holds (Exec b1,s) . b2 = s . b2
let i be Instruction of SCM+FSA ; for b1 being Element of K107() holds (Exec i,s) . b1 = s . b1
let l be Element of NAT ; (Exec i,s) . l = s . l
A1:
( i in SCM-Instr \/ { [L,<*dB,fA,dA*>] where L is Element of Segm 13, dB, dA is Element of SCM+FSA-Data-Loc , fA is Element of SCM+FSA-Data*-Loc : L in {9,10} } or i in { [K,<*dC,fB*>] where K is Element of Segm 13, dC is Element of SCM+FSA-Data-Loc , fB is Element of SCM+FSA-Data*-Loc : K in {11,12} } )
by XBOOLE_0:def 3;
reconsider l9 = l as Element of NAT ;
reconsider S = s as Element of product SCM+FSA-OK by PBOOLE:155;
reconsider I = i as Element of SCM+FSA-Instr ;
per cases
( i in SCM-Instr or i in { [J,<*dB,fA,dA*>] where J is Element of Segm 13, dB, dA is Element of SCM+FSA-Data-Loc , fA is Element of SCM+FSA-Data*-Loc : J in {9,10} } or i in { [K,<*dC,fB*>] where K is Element of Segm 13, dC is Element of SCM+FSA-Data-Loc , fB is Element of SCM+FSA-Data*-Loc : K in {11,12} } )
by A1, XBOOLE_0:def 3;
suppose
i in { [J,<*dB,fA,dA*>] where J is Element of Segm 13, dB, dA is Element of SCM+FSA-Data-Loc , fA is Element of SCM+FSA-Data*-Loc : J in {9,10} }
;
(Exec i,s) . l = s . lthen consider J being
Element of
Segm 13,
dB,
dA being
Element of
SCM+FSA-Data-Loc ,
fA being
Element of
SCM+FSA-Data*-Loc such that A4:
i = [J,<*dB,fA,dA*>]
and A5:
J in {9,10}
;
now per cases
( J = 9 or J = 10 )
by A5, TARSKI:def 2;
suppose
J = 9
;
(SCM+FSA-Exec-Res I,S) . l9 = S . l9then
InsCode I = 9
by A4, MCART_1:7;
then consider i being
Integer,
k being
Element of
NAT such that
k = abs (S . (I int_addr2 ))
and
i = (S . (I coll_addr1 )) /. k
and A6:
SCM+FSA-Exec-Res I,
S = SCM+FSA-Chg (SCM+FSA-Chg S,(I int_addr1 ),i),
(succ (IC S))
by SCMFSA_1:def 17;
thus (SCM+FSA-Exec-Res I,S) . l9 =
(SCM+FSA-Chg S,(I int_addr1 ),i) . l9
by A6, SCMFSA_1:23
.=
S . l9
by SCMFSA_1:28
;
verum end; suppose
J = 10
;
(SCM+FSA-Exec-Res I,S) . l9 = S . l9then
InsCode I = 10
by A4, MCART_1:7;
then consider f being
FinSequence of
INT ,
k being
Element of
NAT such that
k = abs (S . (I int_addr2 ))
and
f = (S . (I coll_addr1 )) +* k,
(S . (I int_addr1 ))
and A7:
SCM+FSA-Exec-Res I,
S = SCM+FSA-Chg (SCM+FSA-Chg S,(I coll_addr1 ),f),
(succ (IC S))
by SCMFSA_1:def 17;
thus (SCM+FSA-Exec-Res I,S) . l9 =
(SCM+FSA-Chg S,(I coll_addr1 ),f) . l9
by A7, SCMFSA_1:23
.=
S . l9
by SCMFSA_1:32
;
verum end; end; end; hence
(Exec i,s) . l = s . l
by SCMFSA_1:def 18;
verum end; suppose
i in { [K,<*dC,fB*>] where K is Element of Segm 13, dC is Element of SCM+FSA-Data-Loc , fB is Element of SCM+FSA-Data*-Loc : K in {11,12} }
;
(Exec i,s) . l = s . lthen consider J being
Element of
Segm 13,
dC being
Element of
SCM+FSA-Data-Loc ,
fB being
Element of
SCM+FSA-Data*-Loc such that A8:
i = [J,<*dC,fB*>]
and A9:
J in {11,12}
;
now per cases
( J = 11 or J = 12 )
by A9, TARSKI:def 2;
suppose
J = 12
;
(SCM+FSA-Exec-Res I,S) . l9 = S . l9then
InsCode I = 12
by A8, MCART_1:7;
then consider f being
FinSequence of
INT ,
k being
Element of
NAT such that
k = abs (S . (I int_addr3 ))
and
f = k |-> 0
and A10:
SCM+FSA-Exec-Res I,
S = SCM+FSA-Chg (SCM+FSA-Chg S,(I coll_addr2 ),f),
(succ (IC S))
by SCMFSA_1:def 17;
thus (SCM+FSA-Exec-Res I,S) . l9 =
(SCM+FSA-Chg S,(I coll_addr2 ),f) . l9
by A10, SCMFSA_1:23
.=
S . l9
by SCMFSA_1:32
;
verum end; end; end; hence
(Exec i,s) . l = s . l
by SCMFSA_1:def 18;
verum end; end;