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