let a, b, n be Element of NAT ; :: thesis: GenFib a,b,(n + 1) = (a * (Fib n)) + (b * (Fib (n + 1)))
defpred S1[ Nat] means GenFib a,b,($1 + 1) = (a * (Fib $1)) + (b * (Fib ($1 + 1)));
A1:
S1[ 0 ]
by Th32, PRE_FF:1;
A2: GenFib a,b,2 =
GenFib a,b,(0 + 2)
.=
(GenFib a,b,0 ) + (GenFib a,b,(0 + 1))
by Th34
.=
a + (GenFib a,b,1)
by Th32
.=
a + b
by Th32
;
Fib 2 =
Fib (0 + 2)
.=
0 + 1
by FIB_NUM2:26, PRE_FF:1
;
then A3:
S1[1]
by A2, PRE_FF:1;
A4:
for k being Nat st S1[k] & S1[k + 1] holds
S1[k + 2]
for k being Nat holds S1[k]
from FIB_NUM:sch 1(A1, A3, A4);
hence
GenFib a,b,(n + 1) = (a * (Fib n)) + (b * (Fib (n + 1)))
; :: thesis: verum