defpred S1[ Element of NAT , Element of NAT ] means (Fib $1) gcd (Fib $2) = Fib ($1 gcd $2);
A1:
for k being Element of NAT st ( for m, n being Element of NAT st m < k & n < k holds
S1[m,n] ) holds
for m being Element of NAT st m <= k holds
S1[k,m]
proof
let k be
Element of
NAT ;
( ( for m, n being Element of NAT st m < k & n < k holds
S1[m,n] ) implies for m being Element of NAT st m <= k holds
S1[k,m] )
assume A2:
for
m,
n being
Element of
NAT st
m < k &
n < k holds
S1[
m,
n]
;
for m being Element of NAT st m <= k holds
S1[k,m]
let m be
Element of
NAT ;
( m <= k implies S1[k,m] )
assume A3:
m <= k
;
S1[k,m]
per cases
( m = k or m < k )
by A3, XXREAL_0:1;
suppose A5:
m < k
;
S1[k,m]A6:
not
m < 0
by NAT_1:2;
thus
S1[
k,
m]
verumproof
per cases
( m = 0 or m > 0 )
by A6, XXREAL_0:1;
suppose A8:
m > 0
;
S1[k,m]thus
S1[
k,
m]
verumproof
consider r being
Nat such that A9:
k = m + r
by A3, NAT_1:10;
reconsider r =
r as
Element of
NAT by ORDINAL1:def 13;
A10:
r <= k
by A9, NAT_1:11;
r <> 0
by A5, A9;
then consider rr being
Nat such that A11:
r = rr + 1
by NAT_1:6;
reconsider rr =
rr as
Element of
NAT by ORDINAL1:def 13;
Fib k = ((Fib (rr + 1)) * (Fib (m + 1))) + ((Fib rr) * (Fib m))
by A9, A11, Th4;
then A12:
(Fib k) gcd (Fib m) = (Fib m) gcd ((Fib (m + 1)) * (Fib r))
by A11, EULER_1:9;
(Fib m) gcd (Fib (m + 1)) = 1
by Lm7;
then A13:
(Fib k) gcd (Fib m) = (Fib m) gcd (Fib r)
by A12, Th2;
r <> k
by A8, A9;
then A14:
r < k
by A10, XXREAL_0:1;
k gcd m = m gcd r
by A9, Th1;
hence
S1[
k,
m]
by A2, A5, A13, A14;
verum
end; end; end;
end; end; end;
end;
A15:
for m, n being Element of NAT st S1[m,n] holds
S1[n,m]
;
thus
for m, n being Element of NAT holds S1[m,n]
from FIB_NUM:sch 2(A15, A1); verum