let P be the Instructions of SCM+FSA -valued ManySortedSet of NAT ; for s being State of SCM+FSA
for I being keeping_0 Program of SCM+FSA st I is_halting_on Initialized s,P holds
( (IExec (I,P,s)) . (intloc 0) = 1 & ( for k being Element of NAT holds (Comput ((P +* I),(Initialize (Initialized s)),k)) . (intloc 0) = 1 ) )
set a = intloc 0;
let s be State of SCM+FSA; for I being keeping_0 Program of SCM+FSA st I is_halting_on Initialized s,P holds
( (IExec (I,P,s)) . (intloc 0) = 1 & ( for k being Element of NAT holds (Comput ((P +* I),(Initialize (Initialized s)),k)) . (intloc 0) = 1 ) )
set D = Data-Locations SCM+FSA;
set A = NAT ;
let I be keeping_0 Program of SCM+FSA; ( I is_halting_on Initialized s,P implies ( (IExec (I,P,s)) . (intloc 0) = 1 & ( for k being Element of NAT holds (Comput ((P +* I),(Initialize (Initialized s)),k)) . (intloc 0) = 1 ) ) )
set s0 = Initialized s;
set s1 = Initialize (Initialized s);
set P1 = P +* I;
A1:
I c= P +* I
by FUNCT_4:26;
B3:
Start-At (0,SCM+FSA) c= Initialize (Initialized s)
by FUNCT_4:26;
A4:
DataPart (Initialized s) = DataPart (Initialize (Initialized s))
by SCMFSA8A:10;
not intloc 0 in NAT
by SCMFSA_2:84;
then
not intloc 0 in (dom s) /\ NAT
by XBOOLE_0:def 4;
then A6:
not intloc 0 in dom (s | NAT)
by RELAT_1:90;
assume
I is_halting_on Initialized s,P
; ( (IExec (I,P,s)) . (intloc 0) = 1 & ( for k being Element of NAT holds (Comput ((P +* I),(Initialize (Initialized s)),k)) . (intloc 0) = 1 ) )
then A7:
P +* I halts_on Initialize (Initialized s)
by SCMFSA7B:def 8;
thus (IExec (I,P,s)) . (intloc 0) =
((Result ((P +* I),(Initialize (Initialized s)))) +* (s | NAT)) . (intloc 0)
by SCMFSA8A:13
.=
(Result ((P +* I),(Initialize (Initialized s)))) . (intloc 0)
by A6, FUNCT_4:12
.=
(Comput ((P +* I),(Initialize (Initialized s)),(LifeSpan ((P +* I),(Initialize (Initialized s)))))) . (intloc 0)
by A7, EXTPRO_1:23
.=
1
by A5
; for k being Element of NAT holds (Comput ((P +* I),(Initialize (Initialized s)),k)) . (intloc 0) = 1
let k be Element of NAT ; (Comput ((P +* I),(Initialize (Initialized s)),k)) . (intloc 0) = 1
thus
(Comput ((P +* I),(Initialize (Initialized s)),k)) . (intloc 0) = 1
by A5; verum