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