reserve i, j, k, c, m, n for Nat,
  a, x, y, z, X, Y for set,
  D, E for non empty set,
  R for Relation,
  f, g for Function,
  p, q for FinSequence;
reserve f1, f2 for non empty homogeneous to-naturals NAT*-defined Function,
  e1, e2 for homogeneous to-naturals NAT*-defined Function,
  p for Element of (arity f1+1)-tuples_on NAT;
reserve P for primitive-recursively_closed non empty Subset of HFuncs NAT;

theorem Th88:
  [pred].<*0*> = 0 & [pred].<*i+1*> = i
proof
  defpred p[Nat] means [pred].<*$1+1*> = $1;
  reconsider p0 = <*0, 0*> as Element of 2-tuples_on NAT by FINSEQ_2:101;
A2: arity (0 const 0) = 0;
A3: arity (2 proj 1) = 2;
A4: now
    let i be Nat;
  reconsider i1=i as Element of NAT by ORDINAL1:def 12;
    reconsider p0 = <*i1+1,i1*> as Element of 2-tuples_on NAT by FINSEQ_2:101;
    assume p[i];
    then [pred].<*(i+1)+1*> = (2 proj 1).p0 by A2,A3,Th81
      .= <*i+1, i*>.1 by Th37
      .= i+1;
    hence p[i+1];
  end;
  thus [pred].<*0*> = (0 const 0).{} by A2,Th79
    .= 0;
  then [pred].<*0+1*> = (2 proj 1).p0 by A2,A3,Th81
    .= <*0, 0*>.1 by Th37
    .= 0;
  then
A5: p[0];
  for i being Nat holds p[i] from NAT_1:sch 2(A5, A4);
  hence thesis;
end;
