let S1, S2 be Function of NAT , ExtREAL ; :: thesis: ( S1 . 0 = N . 0 & ( for n being Element of NAT
for y being R_eal st y = S1 . n holds
S1 . (n + 1) = y + (N . (n + 1)) ) & S2 . 0 = N . 0 & ( for n being Element of NAT
for y being R_eal st y = S2 . n holds
S2 . (n + 1) = y + (N . (n + 1)) ) implies S1 = S2 )

assume that
A1: ( S1 . 0 = N . 0 & ( for n being Element of NAT
for y being R_eal st y = S1 . n holds
S1 . (n + 1) = y + (N . (n + 1)) ) ) and
A2: ( S2 . 0 = N . 0 & ( for n being Element of NAT
for y being R_eal st y = S2 . n holds
S2 . (n + 1) = y + (N . (n + 1)) ) ) ; :: thesis: S1 = S2
defpred S1[ set ] means S1 . $1 = S2 . $1;
for n being set st n in NAT holds
S1[n]
proof
let n be set ; :: thesis: ( n in NAT implies S1[n] )
assume A3: n in NAT ; :: thesis: S1[n]
then reconsider n = n as Element of REAL ;
reconsider n = n as Element of NAT by A3;
for n being Element of NAT holds S1 . n = S2 . n
proof
A4: S1[ 0 ] by A1, A2;
A5: for k being Element of NAT st S1[k] holds
S1[k + 1]
proof
let k be Element of NAT ; :: thesis: ( S1[k] implies S1[k + 1] )
assume A6: S1 . k = S2 . k ; :: thesis: S1[k + 1]
reconsider y2 = S2 . k as R_eal ;
thus S1 . (k + 1) = y2 + (N . (k + 1)) by A1, A6
.= S2 . (k + 1) by A2 ; :: thesis: verum
end;
thus for k being Element of NAT holds S1[k] from NAT_1:sch 1(A4, A5); :: thesis: verum
end;
then S1 . n = S2 . n ;
hence S1[n] ; :: thesis: verum
end;
hence S1 = S2 by FUNCT_2:18; :: thesis: verum