reserve l, m, n for Nat,
  i,j,k for Instruction of SCMPDS,
  I,J,K for Program of SCMPDS,
  p,q,r for PartState of SCMPDS;
reserve a,b,c for Int_position,
  s,s1,s2 for State of SCMPDS,
  k1,k2 for Integer;

theorem Th7:
  for s1,s2 being State of SCMPDS holds (for a being Int_position
  holds s1.a = s2.a) iff DataPart s1 = DataPart s2
proof
  set T1={IC SCMPDS}, T2=SCM-Data-Loc, T3=NAT;
  let s1,s2 be State of SCMPDS;
A1: now
    assume
A2: for a being Int_position holds s1.a = s2.a;
    hereby
      let x be set;
      assume
      x in SCM-Data-Loc;
      then x is Int_position by AMI_2:def 16;
      hence s1.x=s2.x by A2;
    end;
  end;
A3: (for x be set st x in SCM-Data-Loc holds s1.x = s2.x) implies
    for a being Int_position holds s1.a=s2.a by AMI_2:def 16;
A4: dom s2 = the carrier of SCMPDS by PARTFUN1:def 2;
  dom s1 = the carrier of SCMPDS by PARTFUN1:def 2;
  hence thesis by A4,A1,A3,FUNCT_1:95,SCMPDS_2:84;
end;
