reserve X for set;

theorem Th18:
  for N being Function st (for n being Nat holds N.n c=
  N.(n+1)) holds for m,n being Nat st n <= m holds N.n c= N.m
proof
  let N be Function;
  defpred P[Nat] means for n being Nat st n <= $1 holds N.n c= N.$1;
  assume
A1: for n being Nat holds N.n c= N.(n+1);
A2: for m being Nat st P[m] holds P[m+1]
  proof
    let m be Nat;
    assume
A3: for n being Nat st n <= m holds N.n c= N.m;
    let n be Nat;
A4: n <= m implies N.n c= N.(m+1)
    proof
      assume n <= m;
      then
A5:   N.n c= N.m by A3;
      N.m c= N.(m+1) by A1;
      hence thesis by A5;
    end;
    assume n <= m+1;
    hence thesis by A4,NAT_1:8;
  end;
A6: P[0] by NAT_1:3;
  thus for m being Nat holds P[m] from NAT_1:sch 2(A6,A2);
end;
