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;
reserve x for set;
reserve l,l1,loc for Nat;
reserve l1,l2 for Nat,
  i1,i2 for Instruction of SCMPDS;
reserve l for Nat;

theorem Th20:
  for i be Instruction of SCMPDS,m,n be Nat st i
  valid_at m & m <= n holds i valid_at n
proof
  let i be Instruction of SCMPDS,m,n be Nat;
  assume that
A1: i valid_at m and
A2: m <= n;
A3: now
    assume
    InsCode i= 4;
    then consider a,k1,k2 such that
A4: i = (a,k1)<>0_goto k2 and
A5: m+k2 >= 0 by A1;
    take a,k1,k2;
    thus i = (a,k1)<>0_goto k2 by A4;
    thus n+k2 >= 0 by A2,A5,XREAL_1:6;
  end;
A6: now
    assume
    InsCode i= 6;
    then consider a,k1,k2 such that
A7: i = (a,k1)>=0_goto k2 and
A8: m+k2 >= 0 by A1;
    take a,k1,k2;
    thus i = (a,k1)>=0_goto k2 by A7;
    thus n+k2 >= 0 by A2,A8,XREAL_1:6;
  end;
A9: now
    assume
    InsCode i= 5;
    then consider a,k1,k2 such that
A10: i = (a,k1)<=0_goto k2 and
A11: m+k2 >= 0 by A1;
    take a,k1,k2;
    thus i = (a,k1)<=0_goto k2 by A10;
    thus n+k2 >= 0 by A2,A11,XREAL_1:6;
  end;
  now
    assume
    InsCode i= 14;
    then consider k1 such that
A12: i=goto k1 and
A13: m+k1 >= 0 by A1;
    take k1;
    thus i=goto k1 by A12;
    thus n+k1 >= 0 by A2,A13,XREAL_1:6;
  end;
  hence thesis by A3,A9,A6;
end;
