let s be State of SCM+FSA ; :: thesis: for I being good InitHalting Program of SCM+FSA
for b being Int-Location
for a being read-write Int-Location st I does_not_destroy a & s . a > 0 holds
(IExec (Times a,I),s) . b = (IExec (Times a,I),(IExec (I ';' (SubFrom a,(intloc 0 ))),s)) . b

let I be good InitHalting Program of SCM+FSA ; :: thesis: for b being Int-Location
for a being read-write Int-Location st I does_not_destroy a & s . a > 0 holds
(IExec (Times a,I),s) . b = (IExec (Times a,I),(IExec (I ';' (SubFrom a,(intloc 0 ))),s)) . b

let b be Int-Location ; :: thesis: for a being read-write Int-Location st I does_not_destroy a & s . a > 0 holds
(IExec (Times a,I),s) . b = (IExec (Times a,I),(IExec (I ';' (SubFrom a,(intloc 0 ))),s)) . b

let a be read-write Int-Location ; :: thesis: ( I does_not_destroy a & s . a > 0 implies (IExec (Times a,I),s) . b = (IExec (Times a,I),(IExec (I ';' (SubFrom a,(intloc 0 ))),s)) . b )
assume A1: ( I does_not_destroy a & s . a > 0 ) ; :: thesis: (IExec (Times a,I),s) . b = (IExec (Times a,I),(IExec (I ';' (SubFrom a,(intloc 0 ))),s)) . b
set D = Int-Locations \/ FinSeq-Locations ;
set IT = IExec (Times a,I),(IExec (I ';' (SubFrom a,(intloc 0 ))),s);
b in Int-Locations by SCMFSA_2:9;
then A2: b in Int-Locations \/ FinSeq-Locations by XBOOLE_0:def 3;
hence (IExec (Times a,I),s) . b = (DataPart (IExec (Times a,I),s)) . b by FUNCT_1:72, SCMFSA_2:127
.= (DataPart (IExec (Times a,I),(IExec (I ';' (SubFrom a,(intloc 0 ))),s))) . b by A1, Th79
.= (IExec (Times a,I),(IExec (I ';' (SubFrom a,(intloc 0 ))),s)) . b by A2, FUNCT_1:72, SCMFSA_2:127 ;
:: thesis: verum