reserve x for set,
  k for Element of NAT;
reserve s for State of SCMPDS;
reserve d1,d2,d3,d4,d5 for Element of SCM-Data-Loc,
  k1,k2,k3,k4,k5,k6 for Integer;
reserve I for Instruction of SCMPDS;
reserve a,b,c for Int_position;

theorem Th43:
  Exec((a,k1):=k2, s).IC SCMPDS = IC s + 1 & Exec((a,k1):=k2, s).
DataLoc(s.a,k1) = k2 & for b st b <> DataLoc(s.a,k1) holds Exec((a,k1):=k2, s).
  b = s.b
proof
  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 = (a,k1):=k2 as Element of SCMPDS-Instr;
  set A2=Address_Add(S,I P31address,I P32const), S1 = SCM-Chg(S, A2, I
  P33const);
  reconsider i = 7 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) = 7;
A4: Exec((a,k1):=k2, s) = SCM-Exec-Res(I,S) by SCMPDS_1:def 23
    .= (SCM-Chg(S1, IC S + 1)) by A3,SCMPDS_1:def 22;
  hence Exec((a,k1):=k2, s).IC SCMPDS = IC s + 1 by Th1,AMI_2:11;
A5: I P31address = mk & I P32const = k1 by A1,SCMPDS_I:6;
  hence Exec((a,k1):=k2, s).DataLoc(s.a,k1) = S1.A2 by A4,AMI_2:12
    .= k2 by A2,AMI_2:15;
  let b;
  reconsider mn = b as Element of SCM-Data-Loc by AMI_2:def 16;
  assume
A6: b <> DataLoc(s.a,k1);
  thus Exec((a,k1):=k2, s).b = S1.mn by A4,AMI_2:12
    .= s.b by A5,A6,AMI_2:16;
end;
