let s be State of SCM+FSA ; for f being FinSeq-Location
for p being FinSequence of INT holds
( (IExec (f := p),s) . f = p & ( for a being read-write Int-Location st a <> intloc 1 & a <> intloc 2 holds
(IExec (f := p),s) . a = s . a ) & ( for g being FinSeq-Location st g <> f holds
(IExec (f := p),s) . g = s . g ) )
let f be FinSeq-Location ; for p being FinSequence of INT holds
( (IExec (f := p),s) . f = p & ( for a being read-write Int-Location st a <> intloc 1 & a <> intloc 2 holds
(IExec (f := p),s) . a = s . a ) & ( for g being FinSeq-Location st g <> f holds
(IExec (f := p),s) . g = s . g ) )
let p be FinSequence of INT ; ( (IExec (f := p),s) . f = p & ( for a being read-write Int-Location st a <> intloc 1 & a <> intloc 2 holds
(IExec (f := p),s) . a = s . a ) & ( for g being FinSeq-Location st g <> f holds
(IExec (f := p),s) . g = s . g ) )
A1:
IExec (f := p),s = (Result (ProgramPart (s +* (Initialized (f := p)))),(s +* (Initialized (f := p)))) +* (s | NAT )
by SCMFSA6B:def 1;
intloc 0 in dom (Initialized (f := p))
by SCMFSA6A:45;
then A2: (s +* (Initialized (f := p))) . (intloc 0 ) =
(Initialized (f := p)) . (intloc 0 )
by FUNCT_4:14
.=
1
by SCMFSA6A:46
;
IC SCM+FSA in dom (Initialized (f := p))
by SCMFSA6A:24;
then (s +* (Initialized (f := p))) . (IC SCM+FSA ) =
(Initialized (f := p)) . (IC SCM+FSA )
by FUNCT_4:14
.=
0
by SCMFSA6A:46
;
then A3:
IC (s +* (Initialized (f := p))) = 0
by COMPOS_1:def 9;
( Initialized (f := p) c= s +* (Initialized (f := p)) & f := p c= Initialized (f := p) )
by FUNCT_4:26, SCMFSA6A:26;
then A4:
f := p c= s +* (Initialized (f := p))
by XBOOLE_1:1;
not f in NAT
by SCMFSA_2:85;
then
not f in (dom s) /\ NAT
by XBOOLE_0:def 4;
then
not f in dom (s | NAT )
by RELAT_1:90;
hence (IExec (f := p),s) . f =
(Result (ProgramPart (s +* (Initialized (f := p)))),(s +* (Initialized (f := p)))) . f
by A1, FUNCT_4:12
.=
p
by A3, A2, A4, Lm4
;
( ( for a being read-write Int-Location st a <> intloc 1 & a <> intloc 2 holds
(IExec (f := p),s) . a = s . a ) & ( for g being FinSeq-Location st g <> f holds
(IExec (f := p),s) . g = s . g ) )
hereby for g being FinSeq-Location st g <> f holds
(IExec (f := p),s) . g = s . g
let a be
read-write Int-Location ;
( a <> intloc 1 & a <> intloc 2 implies (IExec (f := p),s) . a = s . a )assume A6:
(
a <> intloc 1 &
a <> intloc 2 )
;
(IExec (f := p),s) . a = s . aA7:
not
a in dom (Initialized (f := p))
by SCMFSA6A:48;
not
a in NAT
by SCMFSA_2:84;
then
not
a in (dom s) /\ NAT
by XBOOLE_0:def 4;
then
not
a in dom (s | NAT )
by RELAT_1:90;
hence (IExec (f := p),s) . a =
(Result (ProgramPart (s +* (Initialized (f := p)))),(s +* (Initialized (f := p)))) . a
by A1, FUNCT_4:12
.=
(s +* (Initialized (f := p))) . a
by A3, A2, A4, A6, Lm4
.=
s . a
by A7, FUNCT_4:12
;
verum
end;
let g be FinSeq-Location ; ( g <> f implies (IExec (f := p),s) . g = s . g )
assume A9:
g <> f
; (IExec (f := p),s) . g = s . g
A10:
not g in dom (Initialized (f := p))
by SCMFSA6A:49;
not g in NAT
by SCMFSA_2:85;
then
not g in (dom s) /\ NAT
by XBOOLE_0:def 4;
then
not g in dom (s | NAT )
by RELAT_1:90;
hence (IExec (f := p),s) . g =
(Result (ProgramPart (s +* (Initialized (f := p)))),(s +* (Initialized (f := p)))) . g
by A1, FUNCT_4:12
.=
(s +* (Initialized (f := p))) . g
by A3, A2, A4, A9, Lm4
.=
s . g
by A10, FUNCT_4:12
;
verum