let R be 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 ) = (IC s) + 1 & (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 ) = (IC s) + 1 & (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 ) = (IC s) + 1 & (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 ) = (IC s) + 1 & (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
by Th1;
A2:
the_Values_of (SCM R) = (SCM-VAL R) * SCM-OK
by Lm1;
reconsider S = s as SCM-State of R by A2, CARD_3:107;
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:44;
A3:
IC s = IC S
by Def1;
A4:
I = [i,{},<*a,r*>]
;
then A5:
I const_address = a
by A1, AMI_3:27, SCMRINGI:4;
A6:
I const_value = r
by A4, A1, AMI_3:27, SCMRINGI:4;
A7: Exec ((a := r),s) =
SCM-Exec-Res (I,S)
by Th10
.=
SCM-Chg ((SCM-Chg (S,(I const_address),(I const_value))),((IC S) + 1))
by A1, AMI_3:27, SCMRING1:def 14
;
thus (Exec ((a := r),s)) . (IC ) =
(Exec ((a := r),s)) . NAT
by Def1
.=
(IC s) + 1
by A3, A7, SCMRING1:7
; ( (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, A7, AMI_3:27, SCMRING1:8
.=
r
by A5, A6, SCMRING1:11
; 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 A8:
c <> a
; (Exec ((a := r),s)) . c = s . c
A9:
c is Element of Data-Locations
by Th1;
hence (Exec ((a := r),s)) . c =
(SCM-Chg (S,(I const_address),(I const_value))) . c
by A7, AMI_3:27, SCMRING1:8
.=
s . c
by A5, A8, A9, AMI_3:27, SCMRING1:12
;
verum