let f, g be Function of [: the carrier of R,NAT:], the carrier of R; ( ( for a being Element of R holds
( f . (a,0) = 0. R & ( for n being Element of NAT holds f . (a,(n + 1)) = (f . (a,n)) + a ) ) ) & ( for a being Element of R holds
( g . (a,0) = 0. R & ( for n being Element of NAT holds g . (a,(n + 1)) = (g . (a,n)) + a ) ) ) implies f = g )
assume A13:
for a being Element of R holds
( f . (a,0) = 0. R & ( for n being Element of NAT holds f . (a,(n + 1)) = (f . (a,n)) + a ) )
; ( ex a being Element of R st
( g . (a,0) = 0. R implies ex n being Element of NAT st not g . (a,(n + 1)) = (g . (a,n)) + a ) or f = g )
defpred S1[ Nat] means for a being Element of R holds f . (a,$1) = g . (a,$1);
assume A14:
for a being Element of R holds
( g . (a,0) = 0. R & ( for n being Element of NAT holds g . (a,(n + 1)) = (g . (a,n)) + a ) )
; f = g
A15:
now for n being Nat st S1[n] holds
S1[n + 1]let n be
Nat;
( S1[n] implies S1[n + 1] )assume A16:
S1[
n]
;
S1[n + 1]hence
S1[
n + 1]
;
verum end;
A17:
S1[ 0 ]
A18:
for n being Nat holds S1[n]
from NAT_1:sch 2(A17, A15);
( dom f = [: the carrier of R,NAT:] & dom g = [: the carrier of R,NAT:] )
by FUNCT_2:def 1;
hence
f = g
by A19, FUNCT_1:2; verum