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;

theorem Th63:
  arity f1+2 = arity f2 & 1 <= i & i <= arity f1+1 implies
  primrec(f1,f2,i) is_primitive-recursively_expressed_by f1,f2,i
proof
  assume that
A1: arity f1+2 = arity f2 and
A2: 1 <= i and
A3: i <= arity f1+1;
  take n = arity f1+1;
  set g = primrec(f1,f2,i);
  thus dom g c= n-tuples_on NAT by Th55;
  thus i >= 1 & i <= n by A2,A3;
  thus arity f1+1 = n;
  thus n+1 = arity f2 by A1;
  let p be FinSequence of NAT;
  assume
A4: len p = n;
  then
A5: i in dom p by A2,A3,FINSEQ_3:25;
A6: p is Element of n-tuples_on NAT by A4,FINSEQ_2:92;
  hence p+*(i,0) in dom g iff Del(p,i) in dom f1 by A5,Lm6;
  thus p+*(i,0) in dom g implies g.(p+*(i,0)) = f1.Del(p,i) by A6,A5,Lm6;
  let m be Nat;
  thus p+*(i,m+1) in dom g iff p+*(i,m) in dom g & (p+*(i,m))^<*g.(p+*(i,m))*>
  in dom f2 by A6,A5,Lm6;
  thus p+*(i,m+1) in dom g implies g.(p+*(i,m+1)) = f2.((p+*(i,m))^<*g.(p+*(i,
  m))*>) by A6,A5,Lm6;
end;
