JumpPart (halt SCM+FSA) is empty
by LmX, RECDEF_2:def 2;
then
halt SCM+FSA is ins-loc-free
by COMPOS_1:def 37;
hence
SCM+FSA is proper-halt
by COMPOS_1:def 39; ( SCM+FSA is realistic & SCM+FSA is IC-Ins-separated & SCM+FSA is definite & SCM+FSA is steady-programmed )
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 COMPOS_1:def 6; ( 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 NAT holds (Exec (b1,s)) . b2 = s . b2
let i be Instruction of SCM+FSA; for b1 being Element of NAT 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, RECDEF_2:def 1;
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, RECDEF_2:def 1;
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, RECDEF_2:def 1;
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;