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 Th80:
  for f1 being 1-ary len-total to-naturals homogeneous NAT*-defined Function,
      f2 being 3-ary len-total to-naturals homogeneous NAT*-defined Function
  holds primrec(f1,f2,2).<*i,j+1*> = f2.<*i,j,primrec(f1,f2,2).<*i,j*>*>
proof
  let f1 be 1-ary len-total to-naturals homogeneous NAT*-defined Function,
  f2 be 3-ary len-total to-naturals homogeneous NAT*-defined Function;
  reconsider i1 = i, j1 = j as Element of NAT by ORDINAL1:def 12;
A1: arity f1 = 1 by Def21;
  then reconsider p = <*i1,j1*> as Element of (arity f1 +1)-tuples_on NAT
  by FINSEQ_2:101;
A2: p+*(2,j+1) = <*i,j+1*> by Th1;
A3: p+*(2,j) = <*i,j*> by Th1;
  arity f1 +2 = arity f2 by A1,Def21;
  hence
  primrec(f1,f2,2).<*i,j+1*> = f2.((p+*(2,j))^<*primrec(f1,f2,2).(p+*(2,j
  ))*>) by A1,A2,Th62
    .= f2.<*i,j,primrec(f1,f2,2).<*i,j*>*> by A3,FINSEQ_1:43;
end;
