let N be Function; ( ( for n being Nat holds N . n c= N . (n + 1) ) implies for m, n being Nat st n <= m holds
N . n c= N . m )
defpred S1[ Nat] means for n being Nat st n <= $1 holds
N . n c= N . $1;
assume A1:
for n being Nat holds N . n c= N . (n + 1)
; for m, n being Nat st n <= m holds
N . n c= N . m
A2:
for m being Nat st S1[m] holds
S1[m + 1]
proof
let m be
Nat;
( S1[m] implies S1[m + 1] )
assume A3:
for
n being
Nat st
n <= m holds
N . n c= N . m
;
S1[m + 1]
let n be
Nat;
( n <= m + 1 implies N . n c= N . (m + 1) )
A4:
(
n <= m implies
N . n c= N . (m + 1) )
assume
n <= m + 1
;
N . n c= N . (m + 1)
hence
N . n c= N . (m + 1)
by A4, NAT_1:8;
verum
end;
A6:
S1[ 0 ]
by NAT_1:3;
thus
for m being Nat holds S1[m]
from NAT_1:sch 2(A6, A2); verum