reserve m,n for Nat,
  a for Int_position,
  i,j for Instruction of SCMPDS,
  s,s1,s2 for State of SCMPDS,
  k1 for Integer,
  loc for Nat,
  I,J,K for Program of SCMPDS;
reserve P,P1,P2 for Instruction-Sequence of SCMPDS;

theorem Th13:
  for s1,s2 being State of SCMPDS, I being Program of SCMPDS st
  DataPart s1 = DataPart s2 holds I is_closed_on s1,P1
   implies I is_closed_on s2,P2
proof
  let s1,s2 be State of SCMPDS,I be Program of SCMPDS;
  set pI=stop I, S1 = Initialize s1, S2 = Initialize s2,
   E1 = P1 +* pI, E2 = P2 +* pI;
  assume
A1: DataPart s1 = DataPart s2;
A2: Comput(E2,S2,0) = Initialize s2 by EXTPRO_1:2;
A3: Comput(E1,S1,0) = Initialize s1 by EXTPRO_1:2;
  then
A4: DataPart Comput(E1,S1,0) = DataPart s1 by MEMSTR_0:45
    .= DataPart Comput(E2,S2,0) by A1,A2,MEMSTR_0:45;
  defpred P[Nat] means IC Comput(E1,S1,$1) = IC Comput(E2,S2,$1)
   & CurInstr(E1,Comput(E1,S1,$1)) = CurInstr(E2,Comput(E2,S2,$1))
   & DataPart Comput(E1,S1,$1) = DataPart Comput(E2,S2,$1);
A5:  0 in dom pI by COMPOS_1:36;
  assume
A6: I is_closed_on s1,P1;
A7: now
    let k be Nat;
A8: Comput(E2,S2,k+1) = Following(E2,Comput(E2,S2,k)) by EXTPRO_1:3;
    assume
A9: P[k];
    then
A10: for a holds Comput(E1,S1,k).a = Comput(E2,S2,k).
a by SCMPDS_4:8;
    pI c= P2 +* pI by FUNCT_4:25;
    then
A11: pI c= E2;
A12: IC Comput(E1,S1,k+1) in dom pI by A6;
A13: Comput(E1,S1,k+1) = Following(E1,Comput(E1,S1,k)) by EXTPRO_1:3;
    Comput(E1,S1,k) =  Comput(E2,S2,k) by A9,A10,SCMPDS_4:2;
     then
A14:  Comput(E1,S1,k+1) =  Comput(E2,S2,k+1) by A9,A8,A13;
   then
A15:  Comput(E1,S1,k+1)
     =  Comput(E2,S2,k+1);
A16: IC Comput(E1,S1,k+1) = IC Comput(E2,S2,k+1) by A14;
A17
:  E1/.IC Comput(E1,S1,k+1)
 = E1.IC Comput(E1,S1,k+1) by PBOOLE:143;
A18:  E2/.IC Comput(E2,S2,k+1)
 = E2.IC Comput(E2,S2,k+1) by PBOOLE:143;
    pI c= P1 +* pI by FUNCT_4:25;
    then pI c= E1;
    then CurInstr(E1,Comput(E1,S1,k+1))
     = pI.IC Comput(E1,S1,k+1) by A12,A17,GRFUNC_1:2
      .= CurInstr(E2,Comput(E2,S2,k+1))
       by A11,A16,A12,A18,GRFUNC_1:2;
    hence P[k+1] by A15;
  end;
A19: IC Comput(E2,S2,0) = IC S2 by A2
    .=  0 by MEMSTR_0:def 11;
A20: E1/.IC Comput(E1,S1,0)
 = E1.IC Comput(E1,S1,0) by PBOOLE:143;
A21: E2/.IC Comput(E2,S2,0)
 = E2.IC Comput(E2,S2,0) by PBOOLE:143;
A22: IC Comput(E1,S1,0) = IC S1
by A3
    .=  0 by MEMSTR_0:def 11;
  then CurInstr(E1,Comput(E1,S1,0))
     = pI. 0 by A5,A20,FUNCT_4:13
    .= CurInstr(E2,Comput(E2,S2,0)) by A19,A5,A21,FUNCT_4:13;
  then
A23: P[0] by A22,A19,A4;
  now
    let k be Nat;
A24: for k being Nat holds P[k] from NAT_1:sch 2(A23,A7);
    IC Comput(E1,S1,k) in dom pI by A6;
    hence IC Comput(E2,S2,k) in dom pI by A24;
  end;
  hence thesis;
end;
