let P be the Instructions of SCM+FSA -valued ManySortedSet of NAT ; for s being State of SCM+FSA
for a being read-write Int-Location
for k being Integer holds
( (IExec ((a := k),P,s)) . a = k & ( for b being read-write Int-Location st b <> a holds
(IExec ((a := k),P,s)) . b = s . b ) & ( for f being FinSeq-Location holds (IExec ((a := k),P,s)) . f = s . f ) )
let s be State of SCM+FSA; for a being read-write Int-Location
for k being Integer holds
( (IExec ((a := k),P,s)) . a = k & ( for b being read-write Int-Location st b <> a holds
(IExec ((a := k),P,s)) . b = s . b ) & ( for f being FinSeq-Location holds (IExec ((a := k),P,s)) . f = s . f ) )
let a be read-write Int-Location ; for k being Integer holds
( (IExec ((a := k),P,s)) . a = k & ( for b being read-write Int-Location st b <> a holds
(IExec ((a := k),P,s)) . b = s . b ) & ( for f being FinSeq-Location holds (IExec ((a := k),P,s)) . f = s . f ) )
let k be Integer; ( (IExec ((a := k),P,s)) . a = k & ( for b being read-write Int-Location st b <> a holds
(IExec ((a := k),P,s)) . b = s . b ) & ( for f being FinSeq-Location holds (IExec ((a := k),P,s)) . f = s . f ) )
set s1 = s +* (Initialized (a := k));
intloc 0 in dom (Initialized (a := k))
by SCMFSA6A:45;
then A1: (s +* (Initialized (a := k))) . (intloc 0) =
(Initialized (a := k)) . (intloc 0)
by FUNCT_4:14
.=
1
by SCMFSA6A:46
;
IC in dom (Initialized (a := k))
by SCMFSA6A:24;
then (s +* (Initialized (a := k))) . (IC ) =
(Initialized (a := k)) . (IC )
by FUNCT_4:14
.=
0
by SCMFSA6A:46
;
then
IC (s +* (Initialized (a := k))) = 0
;
then reconsider s1 = s +* (Initialized (a := k)) as 0 -started State of SCM+FSA by COMPOS_1:def 20;
A2:
a := k c= P +* (a := k)
by FUNCT_4:26;
not a in NAT
by SCMFSA_2:84;
then
not a in dom (ProgramPart s)
by COMPOS_1:34;
hence (IExec ((a := k),P,s)) . a =
(Result ((P +* (a := k)),s1)) . a
by FUNCT_4:12
.=
k
by A1, A2, SCMFSA_7:38
;
( ( for b being read-write Int-Location st b <> a holds
(IExec ((a := k),P,s)) . b = s . b ) & ( for f being FinSeq-Location holds (IExec ((a := k),P,s)) . f = s . f ) )
hereby for f being FinSeq-Location holds (IExec ((a := k),P,s)) . f = s . f
let b be
read-write Int-Location ;
( b <> a implies (IExec ((a := k),P,s)) . b = s . b )assume A3:
b <> a
;
(IExec ((a := k),P,s)) . b = s . bA4:
not
b in dom (Initialized (a := k))
by SCMFSA6A:48;
not
b in NAT
by SCMFSA_2:84;
then
not
b in dom (ProgramPart s)
by COMPOS_1:34;
hence (IExec ((a := k),P,s)) . b =
(Result ((P +* (a := k)),s1)) . b
by FUNCT_4:12
.=
s1 . b
by A1, A2, A3, SCMFSA_7:38
.=
s . b
by A4, FUNCT_4:12
;
verum
end;
let f be FinSeq-Location ; (IExec ((a := k),P,s)) . f = s . f
A5:
not f in dom (Initialized (a := k))
by SCMFSA6A:49;
not f in NAT
by SCMFSA_2:85;
then
not f in dom (ProgramPart s)
by COMPOS_1:34;
hence (IExec ((a := k),P,s)) . f =
(Result ((P +* (a := k)),s1)) . f
by FUNCT_4:12
.=
s1 . f
by A1, A2, SCMFSA_7:38
.=
s . f
by A5, FUNCT_4:12
;
verum