let s be State of SCM+FSA ; :: thesis: for a being read-write Int-Location
for cc, bb being Int-Location
for I being Program of SCM+FSA st a <> cc holds
((StepForUp a,bb,cc,I,s) . 0 ) . cc = s . cc
let a be read-write Int-Location ; :: thesis: for cc, bb being Int-Location
for I being Program of SCM+FSA st a <> cc holds
((StepForUp a,bb,cc,I,s) . 0 ) . cc = s . cc
let cc, bb be Int-Location ; :: thesis: for I being Program of SCM+FSA st a <> cc holds
((StepForUp a,bb,cc,I,s) . 0 ) . cc = s . cc
let I be Program of SCM+FSA ; :: thesis: ( a <> cc implies ((StepForUp a,bb,cc,I,s) . 0 ) . cc = s . cc )
assume A1:
a <> cc
; :: thesis: ((StepForUp a,bb,cc,I,s) . 0 ) . cc = s . cc
set aux = 1 -stRWNotIn ({a,bb,cc} \/ (UsedIntLoc I));
set S = (s +* (1 -stRWNotIn ({a,bb,cc} \/ (UsedIntLoc I))),(((s . cc) - (s . bb)) + 1)) +* a,(s . bb);
cc in {a,bb,cc}
by ENUMSET1:def 1;
then
cc in {a,bb,cc} \/ (UsedIntLoc I)
by XBOOLE_0:def 3;
then A2:
cc <> 1 -stRWNotIn ({a,bb,cc} \/ (UsedIntLoc I))
by SFMASTR1:21;
((s +* (1 -stRWNotIn ({a,bb,cc} \/ (UsedIntLoc I))),(((s . cc) - (s . bb)) + 1)) +* a,(s . bb)) . cc =
(s +* (1 -stRWNotIn ({a,bb,cc} \/ (UsedIntLoc I))),(((s . cc) - (s . bb)) + 1)) . cc
by A1, FUNCT_7:34
.=
s . cc
by A2, FUNCT_7:34
;
hence
((StepForUp a,bb,cc,I,s) . 0 ) . cc = s . cc
by SCMFSA_9:def 5; :: thesis: verum