let p be Instruction-Sequence of SCM+FSA; :: thesis: 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; :: thesis: 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 ; :: 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)),p,s)) . f = (IExec ((Times (a,I)),p,(IExec ((I ";" (SubFrom (a,(intloc 0)))),p,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)),p,s)) . f = (IExec ((Times (a,I)),p,(IExec ((I ";" (SubFrom (a,(intloc 0)))),p,s)))) . f

let a be read-write Int-Location; :: thesis: ( 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 ) ; :: thesis: (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 ;

:: thesis: verum

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; :: thesis: 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 ; :: 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)),p,s)) . f = (IExec ((Times (a,I)),p,(IExec ((I ";" (SubFrom (a,(intloc 0)))),p,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)),p,s)) . f = (IExec ((Times (a,I)),p,(IExec ((I ";" (SubFrom (a,(intloc 0)))),p,s)))) . f

let a be read-write Int-Location; :: thesis: ( 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 ) ; :: thesis: (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 ;

:: thesis: verum