:: FIB_NUM semantic presentation

theorem Th1: :: FIB_NUM:1
for b1, b2 being Nat holds b1 hcf b2 = b1 hcf (b2 + b1)
proof end;

theorem Th2: :: FIB_NUM:2
for b1, b2, b3 being Nat st b1 hcf b2 = 1 holds
b1 hcf (b2 * b3) = b1 hcf b3
proof end;

theorem Th3: :: FIB_NUM:3
for b1 being real number st b1 > 0 holds
ex b2 being Nat st
( b2 > 0 & 0 < 1 / b2 & 1 / b2 <= b1 )
proof end;

scheme :: FIB_NUM:sch 1
s1{ P1[ Nat] } :
for b1 being Nat holds P1[b1]
provided
E4: P1[0] and
E5: P1[1] and
E6: for b1 being Nat st P1[b1] & P1[b1 + 1] holds
P1[b1 + 2]
proof end;

scheme :: FIB_NUM:sch 2
s2{ P1[ Nat, Nat] } :
for b1, b2 being Nat holds P1[b1,b2]
provided
E4: for b1, b2 being Nat st P1[b1,b2] holds
P1[b2,b1] and
E5: for b1 being Nat st ( for b2, b3 being Nat st b2 < b1 & b3 < b1 holds
P1[b2,b3] ) holds
for b2 being Nat st b2 <= b1 holds
P1[b1,b2]
proof end;

(0 + 1) + 1 = 2
;

then Lemma4: Fib 2 = 1
by PRE_FF:1;

Lemma5: (1 + 1) + 1 = 3
;

Lemma6: for b1 being Nat holds Fib (b1 + 1) >= b1
proof end;

Lemma7: for b1 being Nat holds Fib (b1 + 1) >= Fib b1
proof end;

Lemma8: for b1, b2 being Nat st b1 >= b2 holds
Fib b1 >= Fib b2
proof end;

Lemma9: for b1 being Nat holds Fib (b1 + 1) <> 0
proof end;

theorem Th4: :: FIB_NUM:4
for b1, b2 being Nat holds Fib (b1 + (b2 + 1)) = ((Fib b2) * (Fib b1)) + ((Fib (b2 + 1)) * (Fib (b1 + 1)))
proof end;

Lemma11: for b1 being Nat holds (Fib b1) hcf (Fib (b1 + 1)) = 1
proof end;

theorem Th5: :: FIB_NUM:5
for b1, b2 being Nat holds (Fib b1) hcf (Fib b2) = Fib (b1 hcf b2)
proof end;

theorem Th6: :: FIB_NUM:6
for b1, b2, b3, b4 being real number st b2 <> 0 & delta b2,b3,b4 >= 0 holds
( ((b2 * (b1 ^2 )) + (b3 * b1)) + b4 = 0 iff ( b1 = ((- b3) - (sqrt (delta b2,b3,b4))) / (2 * b2) or b1 = ((- b3) + (sqrt (delta b2,b3,b4))) / (2 * b2) ) )
proof end;

definition
func tau -> real number equals :: FIB_NUM:def 1
(1 + (sqrt 5)) / 2;
correctness
coherence
(1 + (sqrt 5)) / 2 is real number
;
;
end;

:: deftheorem Def1 defines tau FIB_NUM:def 1 :
tau = (1 + (sqrt 5)) / 2;

definition
func tau_bar -> real number equals :: FIB_NUM:def 2
(1 - (sqrt 5)) / 2;
correctness
coherence
(1 - (sqrt 5)) / 2 is real number
;
;
end;

:: deftheorem Def2 defines tau_bar FIB_NUM:def 2 :
tau_bar = (1 - (sqrt 5)) / 2;

Lemma13: ( tau ^2 = tau + 1 & tau_bar ^2 = tau_bar + 1 )
proof end;

Lemma14: 2 < sqrt 5
by SQUARE_1:85, SQUARE_1:95;

Lemma15: sqrt 5 <> 0
by SQUARE_1:85, SQUARE_1:95;

Lemma16: sqrt 5 < 3
proof end;

1 < tau
proof end;

then Lemma17: 0 < tau
by XREAL_1:2;

Lemma18: tau_bar < 0
proof end;

Lemma19: abs tau_bar < 1
proof end;

theorem Th7: :: FIB_NUM:7
for b1 being Nat holds Fib b1 = ((tau to_power b1) - (tau_bar to_power b1)) / (sqrt 5)
proof end;

Lemma21: for b1 being Nat
for b2 being real number st abs b2 <= 1 holds
abs (b2 |^ b1) <= 1
proof end;

Lemma22: for b1 being Nat holds abs ((tau_bar to_power b1) / (sqrt 5)) < 1
proof end;

theorem Th8: :: FIB_NUM:8
for b1 being Nat holds abs ((Fib b1) - ((tau to_power b1) / (sqrt 5))) < 1
proof end;

theorem Th9: :: FIB_NUM:9
for b1, b2 being Real_Sequence st ( for b3 being Nat holds b1 . b3 = b2 . b3 ) holds
b1 = b2
proof end;

theorem Th10: :: FIB_NUM:10
for b1, b2, b3 being Real_Sequence st b2 is_not_0 holds
(b1 /" b2) (#) (b2 /" b3) = b1 /" b3
proof end;

theorem Th11: :: FIB_NUM:11
for b1, b2 being Real_Sequence
for b3 being Nat holds
( (b1 /" b2) . b3 = (b1 . b3) / (b2 . b3) & (b1 /" b2) . b3 = (b1 . b3) * ((b2 . b3) " ) )
proof end;

theorem Th12: :: FIB_NUM:12
for b1 being Real_Sequence st ( for b2 being Nat holds b1 . b2 = (Fib (b2 + 1)) / (Fib b2) ) holds
( b1 is convergent & lim b1 = tau )
proof end;