let s be State of SCMPDS; for k1, k2 being Integer
for a being Int_position holds
( (Exec (((a,k1) := k2),s)) . (IC ) = succ (IC s) & (Exec (((a,k1) := k2),s)) . (DataLoc ((s . a),k1)) = k2 & ( for b being Int_position st b <> DataLoc ((s . a),k1) holds
(Exec (((a,k1) := k2),s)) . b = s . b ) )
let k1, k2 be Integer; for a being Int_position holds
( (Exec (((a,k1) := k2),s)) . (IC ) = succ (IC s) & (Exec (((a,k1) := k2),s)) . (DataLoc ((s . a),k1)) = k2 & ( for b being Int_position st b <> DataLoc ((s . a),k1) holds
(Exec (((a,k1) := k2),s)) . b = s . b ) )
let a be Int_position ; ( (Exec (((a,k1) := k2),s)) . (IC ) = succ (IC s) & (Exec (((a,k1) := k2),s)) . (DataLoc ((s . a),k1)) = k2 & ( for b being Int_position st b <> DataLoc ((s . a),k1) holds
(Exec (((a,k1) := k2),s)) . b = s . b ) )
reconsider S = s as SCMPDS-State by CARD_3:107;
reconsider mk = a as Element of SCM-Data-Loc by Def2;
reconsider I = (a,k1) := k2 as Element of SCMPDS-Instr ;
set A2 = Address_Add (S,(I P31address),(I P32const));
set S1 = SCM-Chg (S,(Address_Add (S,(I P31address),(I P32const))),(I P33const));
reconsider i = 7 as Element of Segm 14 by NAT_1:44;
A1:
I = [i,{},<*mk,k1,k2*>]
;
then A2:
I P33const = k2
by SCMPDS_1:21;
A3: Exec (((a,k1) := k2),s) =
SCM-Exec-Res (I,S)
by SCMPDS_1:def 23
.=
SCM-Chg ((SCM-Chg (S,(Address_Add (S,(I P31address),(I P32const))),(I P33const))),(succ (IC S)))
by A1, SCMPDS_1:def 22
;
hence
(Exec (((a,k1) := k2),s)) . (IC ) = succ (IC s)
by Th6, SCMPDS_1:13; ( (Exec (((a,k1) := k2),s)) . (DataLoc ((s . a),k1)) = k2 & ( for b being Int_position st b <> DataLoc ((s . a),k1) holds
(Exec (((a,k1) := k2),s)) . b = s . b ) )
A4:
( I P31address = mk & I P32const = k1 )
by A1, SCMPDS_1:21;
hence (Exec (((a,k1) := k2),s)) . (DataLoc ((s . a),k1)) =
(SCM-Chg (S,(Address_Add (S,(I P31address),(I P32const))),(I P33const))) . (Address_Add (S,(I P31address),(I P32const)))
by A3, SCMPDS_1:14
.=
k2
by A2, SCMPDS_1:16
;
for b being Int_position st b <> DataLoc ((s . a),k1) holds
(Exec (((a,k1) := k2),s)) . b = s . b
let b be Int_position ; ( b <> DataLoc ((s . a),k1) implies (Exec (((a,k1) := k2),s)) . b = s . b )
reconsider mn = b as Element of SCM-Data-Loc by Def2;
assume A5:
b <> DataLoc ((s . a),k1)
; (Exec (((a,k1) := k2),s)) . b = s . b
thus (Exec (((a,k1) := k2),s)) . b =
(SCM-Chg (S,(Address_Add (S,(I P31address),(I P32const))),(I P33const))) . mn
by A3, SCMPDS_1:14
.=
s . b
by A4, A5, SCMPDS_1:17
; verum