:: FIB_NUM semantic presentation

theorem Th1: :: FIB_NUM:1
for m, n being Element of NAT holds m hcf n = m hcf (n + m)
proof end;

theorem Th2: :: FIB_NUM:2
for k, m, n being Element of NAT st k hcf m = 1 holds
k hcf (m * n) = k hcf n
proof end;

theorem Th3: :: FIB_NUM:3
for s being real number st s > 0 holds
ex n being Element of NAT st
( n > 0 & 0 < 1 / n & 1 / n <= s )
proof end;

scheme :: FIB_NUM:sch 54
s54{ P1[ Element of NAT ] } :
for k being Element of NAT holds P1[k]
provided
E27: P1[0] and
E28: P1[1] and
E29: for k being Element of NAT st P1[k] & P1[k + 1] holds
P1[k + 2]
proof end;

scheme :: FIB_NUM:sch 56
s56{ P1[ Element of NAT , Element of NAT ] } :
for m, n being Element of NAT holds P1[m,n]
provided
E27: for m, n being Element of NAT st P1[m,n] holds
P1[n,m] and
E28: for k being Element of NAT st ( for m, n being Element of NAT st m < k & n < k holds
P1[m,n] ) holds
for m being Element of NAT st m <= k holds
P1[k,m]
proof end;

(0 + 1) + 1 = 2
;

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

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

Lemma59: for k being Element of NAT holds Fib (k + 1) >= k
proof end;

Lemma60: for m being Element of NAT holds Fib (m + 1) >= Fib m
proof end;

Lemma61: for m, n being Element of NAT st m >= n holds
Fib m >= Fib n
proof end;

Lemma62: for m being Element of NAT holds Fib (m + 1) <> 0
proof end;

theorem Th4: :: FIB_NUM:4
for m, n being Element of NAT holds Fib (m + (n + 1)) = ((Fib n) * (Fib m)) + ((Fib (n + 1)) * (Fib (m + 1)))
proof end;

Lemma65: for n being Element of NAT holds (Fib n) hcf (Fib (n + 1)) = 1
proof end;

theorem Th5: :: FIB_NUM:5
for m, n being Element of NAT holds (Fib m) hcf (Fib n) = Fib (m hcf n)
proof end;

theorem Th6: :: FIB_NUM:6
for x, a, b, c being real number st a <> 0 & delta a,b,c >= 0 holds
( ((a * (x ^2 )) + (b * x)) + c = 0 iff ( x = ((- b) - (sqrt (delta a,b,c))) / (2 * a) or x = ((- b) + (sqrt (delta a,b,c))) / (2 * a) ) )
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;

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

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

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

Lemma75: sqrt 5 < 3
proof end;

1 < tau
proof end;

then Lemma76: 0 < tau
by XXREAL_0:2;

Lemma77: tau_bar < 0
proof end;

Lemma78: abs tau_bar < 1
proof end;

theorem Th7: :: FIB_NUM:7
for n being Element of NAT holds Fib n = ((tau to_power n) - (tau_bar to_power n)) / (sqrt 5)
proof end;

Lemma83: for n being Element of NAT
for x being real number st abs x <= 1 holds
abs (x |^ n) <= 1
proof end;

Lemma84: for n being Element of NAT holds abs ((tau_bar to_power n) / (sqrt 5)) < 1
proof end;

theorem Th8: :: FIB_NUM:8
for n being Element of NAT holds abs ((Fib n) - ((tau to_power n) / (sqrt 5))) < 1
proof end;

theorem Th9: :: FIB_NUM:9
for F, G being Real_Sequence st ( for n being Element of NAT holds F . n = G . n ) holds
F = G by FUNCT_2:113;

theorem Th10: :: FIB_NUM:10
for f, g, h being Real_Sequence st g is being_not_0 holds
(f /" g) (#) (g /" h) = f /" h
proof end;

theorem Th11: :: FIB_NUM:11
for f, g being Real_Sequence
for n being Element of NAT holds
( (f /" g) . n = (f . n) / (g . n) & (f /" g) . n = (f . n) * ((g . n) " ) )
proof end;

theorem Th12: :: FIB_NUM:12
for F being Real_Sequence st ( for n being Element of NAT holds F . n = (Fib (n + 1)) / (Fib n) ) holds
( F is convergent & lim F = tau )
proof end;