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
  [^].<*i,j*> = i |^ j
proof
  defpred p[Nat] means [^].<*i,$1*> = i |^ $1;
  reconsider i as Element of NAT by ORDINAL1:def 12;
A1: now
    let j be Nat;
    reconsider jj=j as Element of NAT by ORDINAL1:def 12;
    reconsider ij = i|^jj as Element of NAT;
    assume p[j];
    then [^].<*i,jj+1*> = ((1,2)->(1,?,2) [*]).<*i,jj,ij*> by Th80
      .= [*].<*i,ij*> by Th82
      .= i*ij by Th85
      .= i|^(j+1) by NEWTON:6;
    hence p[j+1];
  end;
  reconsider ii = <*i*> as Element of 1-tuples_on NAT by FINSEQ_2:131;
  [^].<*i,0*>=(1 const 1).ii by Th78
    .= i|^0 by NEWTON:4;
  then
A2: p[0];
  for j being Nat holds p[j] from NAT_1:sch 2(A2,A1);
  hence thesis;
end;
