let f1, f2 be Function-yielding primitive-recursive satisfying_primrec_conditions 1 -ary ManySortedSet of NAT ; ( f1 . 0 = 1 succ 1 & ( for m being Nat holds f1 . (m + 1) = primrec ((0 const (Ackermann (m,1))),((f1 . m) * <:<*(2 proj 2)*>:>),1) ) & f2 . 0 = 1 succ 1 & ( for m being Nat holds f2 . (m + 1) = primrec ((0 const (Ackermann (m,1))),((f2 . m) * <:<*(2 proj 2)*>:>),1) ) implies f1 = f2 )
assume that
A16:
f1 . 0 = 1 succ 1
and
A17:
for n being Nat holds f1 . (n + 1) = primrec ((0 const H1(n,1)),((f1 . n) * <:<*(2 proj 2)*>:>),1)
and
A18:
f2 . 0 = 1 succ 1
and
A19:
for n being Nat holds f2 . (n + 1) = primrec ((0 const H1(n,1)),((f2 . n) * <:<*(2 proj 2)*>:>),1)
; f1 = f2
dom f1 = NAT
by PARTFUN1:def 2;
hence
dom f1 = dom f2
by PARTFUN1:def 2; FUNCT_1:def 11 for b1 being object holds
( not b1 in dom f1 or f1 . b1 = f2 . b1 )
let n be object ; ( not n in dom f1 or f1 . n = f2 . n )
assume
n in dom f1
; f1 . n = f2 . n
then reconsider m = n as Nat ;
defpred S1[ Nat] means f1 . $1 = f2 . $1;
A20:
S1[ 0 ]
by A16, A18;
A21:
for n being Nat st S1[n] holds
S1[n + 1]
for k being Nat holds S1[k]
from NAT_1:sch 2(A20, A21);
then
S1[m]
;
hence
f1 . n = f2 . n
; verum