let P be the Instructions of SCM+FSA -valued ManySortedSet of NAT ; for s being State of SCM+FSA holds IExec ((Stop SCM+FSA),P,s) = Initialized s
let s be State of SCM+FSA; IExec ((Stop SCM+FSA),P,s) = Initialized s
set D = Data-Locations SCM+FSA;
set A = NAT ;
set s1 = Initialize (Initialized s);
set P1 = P +* (Stop SCM+FSA);
A1:
Stop SCM+FSA c= P +* (Stop SCM+FSA)
by FUNCT_4:26;
A2:
Initialize (Initialized s) = Comput ((P +* (Stop SCM+FSA)),(Initialize (Initialized s)),0)
by EXTPRO_1:3;
A3:
(P +* (Stop SCM+FSA)) /. (IC (Initialize (Initialized s))) = (P +* (Stop SCM+FSA)) . (IC (Initialize (Initialized s)))
by PBOOLE:158;
A4:
(Stop SCM+FSA) . 0 = halt SCM+FSA
by AFINSQ_1:38;
A5:
0 in dom (Stop SCM+FSA)
by COMPOS_1:45;
A6:
s +* (Initialize ((intloc 0) .--> 1)) = Initialize (Initialized s)
by SCMFSA8A:13;
A7: CurInstr ((P +* (Stop SCM+FSA)),(Initialize (Initialized s))) =
(P +* (Stop SCM+FSA)) . 0
by A3, A6, FUNCT_4:26, SCMFSA6B:34
.=
(Stop SCM+FSA) . 0
by A5, A1, GRFUNC_1:8
;
then
P +* (Stop SCM+FSA) halts_on Initialize (Initialized s)
by A2, A4, EXTPRO_1:30;
then A8:
IExec ((Stop SCM+FSA),P,s) = (Initialize (Initialized s)) +* (s | NAT)
by A6, A7, A2, A4, EXTPRO_1:def 8;
then A9: DataPart (IExec ((Stop SCM+FSA),P,s)) =
DataPart (Initialize (Initialized s))
by COMPOS_1:82
.=
DataPart (Initialized s)
by SCMFSA8A:10
;
hereby verum
A11:
now let x be
set ;
( x in dom (IExec ((Stop SCM+FSA),P,s)) implies (IExec ((Stop SCM+FSA),P,s)) . b1 = (Initialized s) . b1 )assume A12:
x in dom (IExec ((Stop SCM+FSA),P,s))
;
(IExec ((Stop SCM+FSA),P,s)) . b1 = (Initialized s) . b1per cases
( x is Int-Location or x is FinSeq-Location or x = IC or x is Element of NAT )
by A12, SCMFSA6A:35;
suppose A17:
x = IC
;
(IExec ((Stop SCM+FSA),P,s)) . b1 = (Initialized s) . b1then
x in {(IC )}
by TARSKI:def 1;
then A18:
x in dom (Start-At (0,SCM+FSA))
by FUNCOP_1:19;
not
x in dom (s | NAT)
by A17, COMPOS_1:139;
hence (IExec ((Stop SCM+FSA),P,s)) . x =
(Initialize (Initialized s)) . (IC )
by A8, A17, FUNCT_4:12
.=
(Start-At (0,SCM+FSA)) . (IC )
by A17, A18, FUNCT_4:14
.=
((s +* ((intloc 0) .--> 1)) +* (Start-At (0,SCM+FSA))) . x
by A17, A18, FUNCT_4:14
.=
(s +* (Initialize ((intloc 0) .--> 1))) . x
by FUNCT_4:15
.=
(Initialized s) . x
;
verum end; end; end; dom (IExec ((Stop SCM+FSA),P,s)) =
the
carrier of
SCM+FSA
by PARTFUN1:def 4
.=
dom (Initialized s)
by PARTFUN1:def 4
;
hence
IExec (
(Stop SCM+FSA),
P,
s)
= Initialized s
by A11, FUNCT_1:9;
verum
end;