let R be good Ring; for r being Element of R
for a being Data-Location of R
for s being State of (SCM R) holds
( (Exec ((a := r),s)) . (IC (SCM R)) = succ (IC s) & (Exec ((a := r),s)) . a = r & ( for c being Data-Location of R st c <> a holds
(Exec ((a := r),s)) . c = s . c ) )
let r be Element of R; for a being Data-Location of R
for s being State of (SCM R) holds
( (Exec ((a := r),s)) . (IC (SCM R)) = succ (IC s) & (Exec ((a := r),s)) . a = r & ( for c being Data-Location of R st c <> a holds
(Exec ((a := r),s)) . c = s . c ) )
let a be Data-Location of R; for s being State of (SCM R) holds
( (Exec ((a := r),s)) . (IC (SCM R)) = succ (IC s) & (Exec ((a := r),s)) . a = r & ( for c being Data-Location of R st c <> a holds
(Exec ((a := r),s)) . c = s . c ) )
let s be State of (SCM R); ( (Exec ((a := r),s)) . (IC (SCM R)) = succ (IC s) & (Exec ((a := r),s)) . a = r & ( for c being Data-Location of R st c <> a holds
(Exec ((a := r),s)) . c = s . c ) )
A1:
a is Element of Data-Locations SCM
by Th1;
Y:
the Object-Kind of (SCM R) = SCM-OK R
by Def1;
reconsider S = s as SCM-State of R by Y, PBOOLE:155;
reconsider I = a := r as Element of SCM-Instr R by Def1;
set S1 = SCM-Chg (S,(I const_address),(I const_value));
reconsider i = 5 as Element of Segm 8 by NAT_1:45;
A2:
IC s = IC S
by Def1;
A3:
I = [i,{},<*a,r*>]
;
then A4:
I const_address = a
by A1, AMI_3:72, SCMRING1:20;
A5:
I const_value = r
by A3, A1, AMI_3:72, SCMRING1:20;
A6: Exec ((a := r),s) =
SCM-Exec-Res (I,S)
by Th12
.=
SCM-Chg ((SCM-Chg (S,(I const_address),(I const_value))),(succ (IC S)))
by A1, AMI_3:72, SCMRING1:def 14
;
thus (Exec ((a := r),s)) . (IC (SCM R)) =
(Exec ((a := r),s)) . NAT
by Def1
.=
succ (IC s)
by A2, A6, SCMRING1:10
; ( (Exec ((a := r),s)) . a = r & ( for c being Data-Location of R st c <> a holds
(Exec ((a := r),s)) . c = s . c ) )
thus (Exec ((a := r),s)) . a =
(SCM-Chg (S,(I const_address),(I const_value))) . a
by A1, A6, AMI_3:72, SCMRING1:11
.=
r
by A4, A5, SCMRING1:14
; for c being Data-Location of R st c <> a holds
(Exec ((a := r),s)) . c = s . c
let c be Data-Location of R; ( c <> a implies (Exec ((a := r),s)) . c = s . c )
assume A7:
c <> a
; (Exec ((a := r),s)) . c = s . c
A8:
c is Element of Data-Locations SCM
by Th1;
hence (Exec ((a := r),s)) . c =
(SCM-Chg (S,(I const_address),(I const_value))) . c
by A6, AMI_3:72, SCMRING1:11
.=
s . c
by A4, A7, A8, AMI_3:72, SCMRING1:15
;
verum