let P be Instruction-Sequence of SCM+FSA; for s being State of SCM+FSA
for I being InitHalting good really-closed MacroInstruction of SCM+FSA
for b being Int-Location
for a being read-write Int-Location st s . a > 0 & while>0 (a,I) is InitHalting holds
(IExec ((while>0 (a,I)),P,s)) . b = (IExec ((while>0 (a,I)),P,(IExec (I,P,s)))) . b
let s be State of SCM+FSA; for I being InitHalting good really-closed MacroInstruction of SCM+FSA
for b being Int-Location
for a being read-write Int-Location st s . a > 0 & while>0 (a,I) is InitHalting holds
(IExec ((while>0 (a,I)),P,s)) . b = (IExec ((while>0 (a,I)),P,(IExec (I,P,s)))) . b
let I be InitHalting good really-closed MacroInstruction of SCM+FSA ; for b being Int-Location
for a being read-write Int-Location st s . a > 0 & while>0 (a,I) is InitHalting holds
(IExec ((while>0 (a,I)),P,s)) . b = (IExec ((while>0 (a,I)),P,(IExec (I,P,s)))) . b
let b be Int-Location; for a being read-write Int-Location st s . a > 0 & while>0 (a,I) is InitHalting holds
(IExec ((while>0 (a,I)),P,s)) . b = (IExec ((while>0 (a,I)),P,(IExec (I,P,s)))) . b
let a be read-write Int-Location; ( s . a > 0 & while>0 (a,I) is InitHalting implies (IExec ((while>0 (a,I)),P,s)) . b = (IExec ((while>0 (a,I)),P,(IExec (I,P,s)))) . b )
set D = Data-Locations ;
assume that
A1:
s . a > 0
and
A2:
while>0 (a,I) is InitHalting
; (IExec ((while>0 (a,I)),P,s)) . b = (IExec ((while>0 (a,I)),P,(IExec (I,P,s)))) . b
b in Int-Locations
by AMI_2:def 16;
then A3:
b in Data-Locations
by SCMFSA_2:100, XBOOLE_0:def 3;
then (IExec ((while>0 (a,I)),P,s)) . b =
(DataPart (IExec ((while>0 (a,I)),P,s))) . b
by FUNCT_1:49
.=
(DataPart (IExec ((while>0 (a,I)),P,(IExec (I,P,s))))) . b
by A1, A2, SCM_HALT:75
;
hence
(IExec ((while>0 (a,I)),P,s)) . b = (IExec ((while>0 (a,I)),P,(IExec (I,P,s)))) . b
by A3, FUNCT_1:49; verum