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