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 Th57:
  for k be Integer holds ex s be State of SCMPDS st for d being
  Int_position holds s.d = k
proof
  set f = the_Values_of SCMPDS;
  set S =the  SCM-State;
  let k be Integer;
  S is total (SCM-Memory)-defined Function by AMI_2:29;
   then
A1: dom S = the carrier of SCMPDS by PARTFUN1:def 2;
A2: dom f = SCM-Memory by PARTFUN1:def 2;
  k in INT by INT_1:def 2;
  then reconsider g = SCM-Data-Loc --> k as Function of SCM-Data-Loc,INT
               by FUNCOP_1:45;
  set t = S +* g;
A3: for x being object st x in dom f holds t.x in f.x
  proof
    let x be object such that
A4: x in dom f;
    per cases;
    suppose
A5:   x in dom g;
      then
A6:   x in SCM-Data-Loc;
      then
A7:   f.x = INT by AMI_2:8;
      t.x = g.x by A5,FUNCT_4:13
        .= k by A6,FUNCOP_1:7;
      hence thesis by A7,INT_1:def 2;
    end;
    suppose
      not x in dom g;
      then t.x = S.x by FUNCT_4:11;
      hence thesis by A4,CARD_3:9;
    end;
  end;
  dom t = dom S \/ dom g by FUNCT_4:def 1
    .= SCM-Memory \/ dom g by A1
    .= SCM-Memory \/ SCM-Data-Loc
    .= SCM-Memory by XBOOLE_1:12;
  then reconsider s=t as State of SCMPDS by A2,A3,FUNCT_1:def 14,PARTFUN1:def 2
,RELAT_1:def 18;
  take s;
  let d be Int_position;
  reconsider D = d as Element of SCM-Data-Loc by AMI_2:def 16;
  D in dom g;
  hence s.d =g.D by FUNCT_4:13
    .=k;
end;
