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