let R be Ring; :: thesis: 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; :: thesis: 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; :: thesis: 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); :: thesis: ( (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 ; :: thesis: ( (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 ; :: thesis: 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; :: thesis: ( c <> a implies (Exec ((a := r),s)) . c = s . c )
assume A8: c <> a ; :: thesis: (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 ;
:: thesis: verum