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 Th56:
  Exec(saveIC(a,k1),s).IC SCMPDS = IC s + 1 & Exec(saveIC(a,k1),
s).DataLoc(s.a,k1) = IC s & for b st DataLoc(s.a,k1) <> b holds Exec(saveIC(a,
  k1), s).b = s.b
proof
  reconsider S = s as SCM-State by CARD_3:107;
  reconsider m = IC S as Element of NAT;
  reconsider da = a as Element of SCM-Data-Loc by AMI_2:def 16;
  reconsider I = saveIC(a,k1) as Element of SCMPDS-Instr;
  set A1=Address_Add(S,I P21address,I P22const), S1=SCM-Chg(S, A1,m);
  reconsider i = 3 as Element of Segm 15 by NAT_1:44;
  set DL=DataLoc(s.a,k1);
 I = [ i,{}, <*da,k1*>];
  then
A1: I P21address = da & I P22const = k1 by SCMPDS_I:5;
A2: InsCode(I) = 3;
A3: Exec(saveIC(a,k1), s) = SCM-Exec-Res(I,S) by SCMPDS_1:def 23
    .= SCM-Chg(S1,IC S + 1) by A2,SCMPDS_1:def 22;
  hence Exec(saveIC(a,k1), s).IC SCMPDS = IC s + 1 by Th1,AMI_2:11;
  thus Exec(saveIC(a,k1), s).DL =S1.A1 by A3,A1,AMI_2:12
    .=IC s by Th1,AMI_2:15;
  let b;
  reconsider mn = b as Element of SCM-Data-Loc by AMI_2:def 16;
  assume
A4: DL <> b;
  thus Exec(saveIC(a,k1),s).b = S1.mn by A3,AMI_2:12
    .= s.b by A1,A4,AMI_2:16;
end;
