reserve a,b,n for Element of NAT;

theorem
  for a,b,c,d,n being Element of NAT holds GenFib(a,b,n) + GenFib(c,d,n)
  = GenFib(a+c,b+d,n)
proof
  let a,b,c,d,n be Element of NAT;
  defpred P[Nat] means GenFib(a,b,$1)+GenFib(c,d,$1)=GenFib(a+c,b+d,$1);
A1: for k being Nat st P[k] & P[k+1] holds P[k+2]
  proof
    let k be Nat;
    assume that
A2: P[k] and
A3: P[k+1];
    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 A2
      .=GenFib(a+c,b+d,k+2) by A3,Th34;
    hence thesis;
  end;
  GenFib(a,b,1)+GenFib(c,d,1)=b+GenFib(c,d,1) by Th32
    .=b+d by Th32
    .=GenFib(a+c,b+d,1) by Th32;
  then
A4: P[1];
  GenFib(a,b,0)+GenFib(c,d,0)=a+GenFib(c,d,0) by Th32
    .=a+c by Th32
    .=GenFib(a+c,b+d,0) by Th32;
  then
A5: P[0];
  for k being Nat holds P[k] from FIB_NUM:sch 1 (A5, A4, A1);
  hence thesis;
end;
