let p be Instruction-Sequence of SCM+FSA; for s being State of SCM+FSA
for I being really-closed good InitHalting MacroInstruction 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)),p,s)) . f = (IExec ((Times (a,I)),p,(IExec ((I ";" (SubFrom (a,(intloc 0)))),p,s)))) . f
set D = Data-Locations ;
let s be State of SCM+FSA; for I being really-closed good InitHalting MacroInstruction 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)),p,s)) . f = (IExec ((Times (a,I)),p,(IExec ((I ";" (SubFrom (a,(intloc 0)))),p,s)))) . f
let I be really-closed good InitHalting MacroInstruction 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)),p,s)) . f = (IExec ((Times (a,I)),p,(IExec ((I ";" (SubFrom (a,(intloc 0)))),p,s)))) . f
let f be FinSeq-Location ; for a being read-write Int-Location st not I destroys a & s . a > 0 holds
(IExec ((Times (a,I)),p,s)) . f = (IExec ((Times (a,I)),p,(IExec ((I ";" (SubFrom (a,(intloc 0)))),p,s)))) . f
let a be read-write Int-Location; ( not I destroys a & s . a > 0 implies (IExec ((Times (a,I)),p,s)) . f = (IExec ((Times (a,I)),p,(IExec ((I ";" (SubFrom (a,(intloc 0)))),p,s)))) . f )
assume A1:
( not I destroys a & s . a > 0 )
; (IExec ((Times (a,I)),p,s)) . f = (IExec ((Times (a,I)),p,(IExec ((I ";" (SubFrom (a,(intloc 0)))),p,s)))) . f
set IT = IExec ((Times (a,I)),p,(IExec ((I ";" (SubFrom (a,(intloc 0)))),p,s)));
f in FinSeq-Locations
by SCMFSA_2:def 5;
then A2:
f in Data-Locations
by SCMFSA_2:100, XBOOLE_0:def 3;
hence (IExec ((Times (a,I)),p,s)) . f =
(DataPart (IExec ((Times (a,I)),p,s))) . f
by FUNCT_1:49
.=
(DataPart (IExec ((Times (a,I)),p,(IExec ((I ";" (SubFrom (a,(intloc 0)))),p,s))))) . f
by A1, Th48
.=
(IExec ((Times (a,I)),p,(IExec ((I ";" (SubFrom (a,(intloc 0)))),p,s)))) . f
by A2, FUNCT_1:49
;
verum