let a, b, k, n be Element of NAT ; GenFib (GenFib a,b,k),(GenFib a,b,(k + 1)),n = GenFib a,b,(n + k)
defpred S1[ Nat] means GenFib (GenFib a,b,k),(GenFib a,b,(k + 1)),$1 = GenFib a,b,($1 + k);
A1:
S1[1]
by Th32;
A2:
for i being Nat st S1[i] & S1[i + 1] holds
S1[i + 2]
proof
let i be
Nat;
( S1[i] & S1[i + 1] implies S1[i + 2] )
assume
(
S1[
i] &
S1[
i + 1] )
;
S1[i + 2]
then GenFib (GenFib a,b,k),
(GenFib a,b,(k + 1)),
(i + 2) =
(GenFib a,b,(i + k)) + (GenFib a,b,((i + k) + 1))
by Th34
.=
GenFib a,
b,
((i + k) + 2)
by Th34
.=
GenFib a,
b,
((i + 2) + k)
;
hence
S1[
i + 2]
;
verum
end;
A3:
S1[ 0 ]
by Th32;
for k being Nat holds S1[k]
from FIB_NUM:sch 1(A3, A1, A2);
hence
GenFib (GenFib a,b,k),(GenFib a,b,(k + 1)),n = GenFib a,b,(n + k)
; verum