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