reserve n, k, r, m, i, j for Nat;

theorem Th40:
  for k being non zero Element of NAT holds Fib (n+k) = Fib (k) *
  Fib (n+1) + Fib (k-'1) * Fib (n)
proof
  defpred P[Nat] means Fib (n+$1) = Fib ($1) * Fib (n+1) + Fib ($1-'1) * Fib (
  n);
  Fib (1) * Fib (n+1) + Fib (1-'1) * Fib (n) = 1 * Fib (n+1) + 0 * Fib (n
  ) by PRE_FF:1,XREAL_1:232
    .= Fib (n+1);
  then
A1: P[1];
A2: for m being non zero Nat st P[m] & P[m+1] holds P[m+2]
  proof
    let m be non zero Nat;
A3: m >= 1 by NAT_2:19;
    set F2 = Fib (m+2) * Fib (n+1);
    set F1 = Fib (n+1) * Fib (m+2);
    set k = m-'1;
    assume
A4: ( P[m])& P[m+1];
    Fib (n+(m+2)) = Fib ((n+m)+2) .= Fib (n+m) + Fib (n+m+1) by Th24
      .= (Fib (m) * Fib (n+1) + Fib (k) * Fib (n)) + (Fib (m+1) * Fib (n+1)
    + Fib (m+(1-'1)) * Fib (n)) by A4,NAT_D:38
      .= (Fib (m) * Fib (n+1) + Fib (k) * Fib (n)) + (Fib (m+1) * Fib (n+1)
    + Fib (m+(0 qua Nat)) * Fib (n)) by XREAL_1:232
      .= Fib (n+1) * (Fib (m) + Fib (m+1)) + Fib (n) * (Fib (k) + Fib (m))
      .= F1 + Fib (n) * (Fib (k) + Fib (m)) by Th24
      .= F1 + Fib (n) * (Fib (k) + Fib (k+1)) by A3,XREAL_1:235
      .= F2 + Fib (n) * Fib (m-'1+2) by Th24
      .= F2 + Fib (m+2-'1) * Fib (n) by A3,NAT_D:38;
    hence thesis;
  end;
  2 -' 1 = 2 - 1 by NAT_D:39;
  then
A5: P[2] by Th21,Th24,PRE_FF:1;
  for k being non zero Nat holds P[k] from FibInd1(A1,A5,A2);
  hence thesis;
end;
