set a = intloc 0 ;
let s be State of ; for I being keeping_0 Program of st I is_halting_on Initialize s holds
( (IExec I,s) . (intloc 0 ) = 1 & ( for k being Element of NAT holds (Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),k) . (intloc 0 ) = 1 ) )
set D = Int-Locations \/ FinSeq-Locations ;
set A = NAT ;
let I be keeping_0 Program of ; ( I is_halting_on Initialize s implies ( (IExec I,s) . (intloc 0 ) = 1 & ( for k being Element of NAT holds (Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),k) . (intloc 0 ) = 1 ) ) )
set s0 = Initialize s;
set s1 = (Initialize s) +* (I +* (Start-At (insloc 0 )));
A1:
I +* (Start-At (insloc 0 )) c= (Initialize s) +* (I +* (Start-At (insloc 0 )))
by FUNCT_4:26;
A2:
DataPart (Initialize s) = DataPart ((Initialize s) +* (I +* (Start-At (insloc 0 ))))
by SCMFSA8A:11;
then
not intloc 0 in (dom s) /\ NAT
by XBOOLE_0:def 4;
then A5:
not intloc 0 in dom (s | NAT )
by RELAT_1:90;
assume
I is_halting_on Initialize s
; ( (IExec I,s) . (intloc 0 ) = 1 & ( for k being Element of NAT holds (Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),k) . (intloc 0 ) = 1 ) )
then A6:
ProgramPart ((Initialize s) +* (I +* (Start-At (insloc 0 )))) halts_on (Initialize s) +* (I +* (Start-At (insloc 0 )))
by SCMFSA7B:def 8;
s +* (Initialized I) = (Initialize s) +* (I +* (Start-At (insloc 0 )))
by SCMFSA8A:13;
hence (IExec I,s) . (intloc 0 ) =
((Result ((Initialize s) +* (I +* (Start-At (insloc 0 ))))) +* (s | NAT )) . (intloc 0 )
by SCMFSA6B:def 1
.=
(Result ((Initialize s) +* (I +* (Start-At (insloc 0 ))))) . (intloc 0 )
by A5, FUNCT_4:12
.=
(Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),(LifeSpan ((Initialize s) +* (I +* (Start-At (insloc 0 )))))) . (intloc 0 )
by A6, AMI_1:122
.=
1
by A3
;
for k being Element of NAT holds (Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),k) . (intloc 0 ) = 1
let k be Element of NAT ; (Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),k) . (intloc 0 ) = 1
thus
(Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),k) . (intloc 0 ) = 1
by A3; verum