let s be State of SCM+FSA; :: thesis: 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; :: thesis: 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; :: thesis: 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 ; :: thesis: ( 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 ; :: thesis: ((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;

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; :: thesis: 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; :: thesis: 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 ; :: thesis: ( 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 ; :: thesis: ((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 :: thesis: for x being Int-Location st x in UsedILoc I holds

((StepTimes (a,I,p,s)) . 0) . x = s . x

((StepTimes (a,I,p,s)) . 0) . x = s . x

let x be Int-Location; :: thesis: ( 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 ; :: thesis: ((StepTimes (a,I,p,s)) . 0) . x = s . x

then 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 ; :: thesis: verum

end;A3: not 1 -stRWNotIn ({a} \/ (UsedILoc I)) in {a} \/ (UsedILoc I) by SCMFSA_M:25;

assume x in UsedILoc I ; :: thesis: ((StepTimes (a,I,p,s)) . 0) . x = s . x

then 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 ; :: thesis: verum

now :: thesis: for x being FinSeq-Location holds ((StepTimes (a,I,p,s)) . 0) . x = s . x

hence
((StepTimes (a,I,p,s)) . 0) | ((UsedILoc I) \/ FinSeq-Locations) = s | ((UsedILoc I) \/ FinSeq-Locations)
by A2, SCMFSA_M:28; :: thesis: verumlet x be FinSeq-Location ; :: thesis: ((StepTimes (a,I,p,s)) . 0) . x = s . x

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 SCMFSA_2:63

.= s . x by SCMFSA_M:37 ; :: thesis: verum

end;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 SCMFSA_2:63

.= s . x by SCMFSA_M:37 ; :: thesis: verum