let s be State of SCMPDS; for k1, k2 being Integer
for a being Int_position holds
( (Exec ((AddTo (a,k1,k2)),s)) . (IC ) = (IC s) + 1 & (Exec ((AddTo (a,k1,k2)),s)) . (DataLoc ((s . a),k1)) = (s . (DataLoc ((s . a),k1))) + k2 & ( for b being Int_position st b <> DataLoc ((s . a),k1) holds
(Exec ((AddTo (a,k1,k2)),s)) . b = s . b ) )
let k1, k2 be Integer; for a being Int_position holds
( (Exec ((AddTo (a,k1,k2)),s)) . (IC ) = (IC s) + 1 & (Exec ((AddTo (a,k1,k2)),s)) . (DataLoc ((s . a),k1)) = (s . (DataLoc ((s . a),k1))) + k2 & ( for b being Int_position st b <> DataLoc ((s . a),k1) holds
(Exec ((AddTo (a,k1,k2)),s)) . b = s . b ) )
let a be Int_position; ( (Exec ((AddTo (a,k1,k2)),s)) . (IC ) = (IC s) + 1 & (Exec ((AddTo (a,k1,k2)),s)) . (DataLoc ((s . a),k1)) = (s . (DataLoc ((s . a),k1))) + k2 & ( for b being Int_position st b <> DataLoc ((s . a),k1) holds
(Exec ((AddTo (a,k1,k2)),s)) . b = s . b ) )
reconsider S = s as SCM-State by CARD_3:107;
reconsider mk = a as Element of SCM-Data-Loc by AMI_2:def 16;
reconsider I = AddTo (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))),((S . (Address_Add (S,(I P31address),(I P32const)))) + (I P33const)));
reconsider i = 8 as Element of Segm 15 by NAT_1:44;
A1:
I = [i,{},<*mk,k1,k2*>]
;
then A2:
I P33const = k2
by SCMPDS_I:6;
A3:
InsCode I = 8
;
A4: Exec ((AddTo (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))),((S . (Address_Add (S,(I P31address),(I P32const)))) + (I P33const)))),((IC S) + 1))
by A3, SCMPDS_1:def 22
;
hence
(Exec ((AddTo (a,k1,k2)),s)) . (IC ) = (IC s) + 1
by Th1, AMI_2:11; ( (Exec ((AddTo (a,k1,k2)),s)) . (DataLoc ((s . a),k1)) = (s . (DataLoc ((s . a),k1))) + k2 & ( for b being Int_position st b <> DataLoc ((s . a),k1) holds
(Exec ((AddTo (a,k1,k2)),s)) . b = s . b ) )
A5:
( I P31address = mk & I P32const = k1 )
by A1, SCMPDS_I:6;
hence (Exec ((AddTo (a,k1,k2)),s)) . (DataLoc ((s . a),k1)) =
(SCM-Chg (S,(Address_Add (S,(I P31address),(I P32const))),((S . (Address_Add (S,(I P31address),(I P32const)))) + (I P33const)))) . (Address_Add (S,(I P31address),(I P32const)))
by A4, AMI_2:12
.=
(s . (DataLoc ((s . a),k1))) + k2
by A5, A2, AMI_2:15
;
for b being Int_position st b <> DataLoc ((s . a),k1) holds
(Exec ((AddTo (a,k1,k2)),s)) . b = s . b
let c be Int_position; ( c <> DataLoc ((s . a),k1) implies (Exec ((AddTo (a,k1,k2)),s)) . c = s . c )
reconsider mn = c as Element of SCM-Data-Loc by AMI_2:def 16;
assume A6:
c <> DataLoc ((s . a),k1)
; (Exec ((AddTo (a,k1,k2)),s)) . c = s . c
thus (Exec ((AddTo (a,k1,k2)),s)) . c =
(SCM-Chg (S,(Address_Add (S,(I P31address),(I P32const))),((S . (Address_Add (S,(I P31address),(I P32const)))) + (I P33const)))) . mn
by A4, AMI_2:12
.=
s . c
by A5, A6, AMI_2:16
; verum