let s be State of SCM+FSA ; :: thesis: for I being Program of SCM+FSA
for a being Int-Location
for k being Element of NAT st I is_closed_on Initialize s & I is_halting_on Initialize s & I does_not_destroy a holds
(IExec I,s) . a = (Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),k) . a
set A = NAT ;
let I be Program of SCM+FSA ; :: thesis: for a being Int-Location
for k being Element of NAT st I is_closed_on Initialize s & I is_halting_on Initialize s & I does_not_destroy a holds
(IExec I,s) . a = (Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),k) . a
let a be Int-Location ; :: thesis: for k being Element of NAT st I is_closed_on Initialize s & I is_halting_on Initialize s & I does_not_destroy a holds
(IExec I,s) . a = (Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),k) . a
let k be Element of NAT ; :: thesis: ( I is_closed_on Initialize s & I is_halting_on Initialize s & I does_not_destroy a implies (IExec I,s) . a = (Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),k) . a )
assume A1:
I is_closed_on Initialize s
; :: thesis: ( not I is_halting_on Initialize s or not I does_not_destroy a or (IExec I,s) . a = (Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),k) . a )
then
not a in (dom s) /\ NAT
by XBOOLE_0:def 4;
then A3:
not a in dom (s | NAT )
by RELAT_1:90;
set s0 = Initialize s;
set s1 = (Initialize s) +* (I +* (Start-At (insloc 0 )));
assume
I is_halting_on Initialize s
; :: thesis: ( not I does_not_destroy a or (IExec I,s) . a = (Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),k) . a )
then A4:
(Initialize s) +* (I +* (Start-At (insloc 0 ))) is halting
by SCMFSA7B:def 8;
assume A5:
I does_not_destroy a
; :: thesis: (IExec I,s) . a = (Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),k) . a
s +* (Initialized I) = (Initialize s) +* (I +* (Start-At (insloc 0 )))
by SCMFSA8A:13;
hence (IExec I,s) . a =
((Result ((Initialize s) +* (I +* (Start-At (insloc 0 ))))) +* (s | NAT )) . a
by SCMFSA6B:def 1
.=
(Result ((Initialize s) +* (I +* (Start-At (insloc 0 ))))) . a
by A3, FUNCT_4:12
.=
(Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),(LifeSpan ((Initialize s) +* (I +* (Start-At (insloc 0 )))))) . a
by A4, AMI_1:122
.=
(Initialize s) . a
by A1, A5, SCMFSA7B:27
.=
(Computation ((Initialize s) +* (I +* (Start-At (insloc 0 )))),k) . a
by A1, A5, SCMFSA7B:27
;
:: thesis: verum