let s be State of SCM+FSA; for p being Instruction-Sequence of SCM+FSA
for a being Int-Location
for I being MacroInstruction of SCM+FSA st s . (intloc 0) = 1 holds
((StepTimes (a,I,p,s)) . 0) | ((UsedILoc I) \/ FinSeq-Locations) = s | ((UsedILoc I) \/ FinSeq-Locations)
let p be Instruction-Sequence of SCM+FSA; for a being Int-Location
for I being MacroInstruction of SCM+FSA st s . (intloc 0) = 1 holds
((StepTimes (a,I,p,s)) . 0) | ((UsedILoc I) \/ FinSeq-Locations) = s | ((UsedILoc I) \/ FinSeq-Locations)
let a be Int-Location; for I being MacroInstruction of SCM+FSA st s . (intloc 0) = 1 holds
((StepTimes (a,I,p,s)) . 0) | ((UsedILoc I) \/ FinSeq-Locations) = s | ((UsedILoc I) \/ FinSeq-Locations)
let I be MacroInstruction of SCM+FSA ; ( s . (intloc 0) = 1 implies ((StepTimes (a,I,p,s)) . 0) | ((UsedILoc I) \/ FinSeq-Locations) = s | ((UsedILoc I) \/ FinSeq-Locations) )
set ST = StepTimes (a,I,p,s);
set au = 1 -stRWNotIn ({a} \/ (UsedILoc I));
set Is = Initialized s;
set UILI = UsedILoc I;
assume
s . (intloc 0) = 1
; ((StepTimes (a,I,p,s)) . 0) | ((UsedILoc I) \/ FinSeq-Locations) = s | ((UsedILoc I) \/ FinSeq-Locations)
then A1:
DataPart (Initialized s) = DataPart s
by SCMFSA_M:19;
A2:
now for x being Int-Location st x in UsedILoc I holds
((StepTimes (a,I,p,s)) . 0) . x = s . xlet x be
Int-Location;
( x in UsedILoc I implies ((StepTimes (a,I,p,s)) . 0) . x = s . x )A3:
not 1
-stRWNotIn ({a} \/ (UsedILoc I)) in {a} \/ (UsedILoc I)
by SCMFSA_M:25;
assume
x in UsedILoc I
;
((StepTimes (a,I,p,s)) . 0) . x = s . xthen A4:
1
-stRWNotIn ({a} \/ (UsedILoc I)) <> x
by A3, XBOOLE_0:def 3;
thus ((StepTimes (a,I,p,s)) . 0) . x =
(Exec (((1 -stRWNotIn ({a} \/ (UsedILoc I))) := a),(Initialized s))) . x
by SCMFSA_9:def 5
.=
(Initialized s) . x
by A4, SCMFSA_2:63
.=
s . x
by A1, SCMFSA_M:2
;
verum end;
hence
((StepTimes (a,I,p,s)) . 0) | ((UsedILoc I) \/ FinSeq-Locations) = s | ((UsedILoc I) \/ FinSeq-Locations)
by A2, SCMFSA_M:28; verum