set D = Int-Locations \/ FinSeq-Locations;
let s be State of SCM+FSA; :: thesis: for I being good InitHalting Program of SCM+FSA
for f being FinSeq-Location
for a being read-write Int-Location st not I destroys a & s . a > 0 holds
(IExec ((Times (a,I)),s)) . f = (IExec ((Times (a,I)),(IExec ((I ';' (SubFrom (a,(intloc 0)))),s)))) . f

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

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

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