:: REAL_3 semantic presentation

E28: now
let n be Nat;
assume n > 1 ;
then n - 1 > 1 - 1 by REAL_1:92;
then n - 1 in NAT by INT_1:16;
hence n - 1 is Nat by ORDINAL1:def 13;
end;

Lemma29: for a, b, c, d being real number st (a / b) - c <> 0 & d <> 0 & b <> 0 & a = (b * c) + d holds
1 / ((a / b) - c) = b / d
proof end;

registration
let n be Nat;
cluster a1 div 0 -> zero ;
coherence
n div 0 is empty
by NAT_1:def 1;
cluster a1 mod 0 -> zero ;
coherence
n mod 0 is empty
by NAT_1:def 2;
cluster 0 div a1 -> zero ;
coherence
0 div n is empty
by NAT_2:4;
cluster 0 mod a1 -> zero ;
coherence
0 mod n is empty
by NAT_1:78;
end;

registration
let c be complex number ;
cluster a1 - a1 -> zero ;
coherence
c - c is empty
by XCMPLX_1:14;
cluster a1 / 0 -> zero ;
coherence
c / 0 is empty
by XCMPLX_1:49;
end;

registration
cluster [\0/] -> zero ;
coherence
[\0/] is empty
by INT_1:47;
end;

theorem Th1: :: REAL_3:1
for r being real number st 0 < r & r < 1 holds
1 < 1 / r
proof end;

theorem Th2: :: REAL_3:2
for i being Integer
for r being real number st i <= r & r < i + 1 holds
[\r/] = i
proof end;

theorem Th3: :: REAL_3:3
for m, n being Nat holds [\(m / n)/] = m div n
proof end;

theorem Th4: :: REAL_3:4
for m, n being Nat st m mod n = 0 holds
m / n = m div n
proof end;

theorem Th5: :: REAL_3:5
for m, n being Nat st m / n = m div n holds
m mod n = 0
proof end;

theorem Th6: :: REAL_3:6
for m, n being Nat holds frac (m / n) = (m mod n) / n
proof end;

theorem Th7: :: REAL_3:7
for p being rational number st p >= 0 holds
ex m, n being Nat st
( n <> 0 & p = m / n )
proof end;

definition
let R be Relation;
attr a1 is integer-yielding means :Def1: :: REAL_3:def 1
rng R c= INT ;
end;

:: deftheorem Def1 defines integer-yielding REAL_3:def 1 :
for R being Relation holds
( R is integer-yielding iff rng R c= INT );

registration
cluster natural-yielding -> integer-yielding set ;
coherence
for b1 being Relation st b1 is natural-yielding holds
b1 is integer-yielding
proof end;
end;

registration
cluster natural-yielding integer-yielding set ;
existence
ex b1 being Function st b1 is natural-yielding
proof end;
cluster empty -> integer-yielding set ;
coherence
for b1 being Relation st b1 is empty holds
b1 is integer-yielding
proof end;
cluster integer-yielding -> real-yielding set ;
coherence
for b1 being Relation st b1 is integer-yielding holds
b1 is real-yielding
proof end;
end;

registration
let D be set ;
cluster -> integer-yielding Relation of a1, INT ;
coherence
for b1 being PartFunc of D, INT holds b1 is integer-yielding
proof end;
end;

registration
let f be integer-yielding Function;
let n be set ;
cluster a1 . a2 -> integer ;
coherence
f . n is integer
proof end;
end;

registration
cluster real-yielding integer-yielding Relation of NAT , REAL ;
existence
ex b1 being Real_Sequence st b1 is integer-yielding
proof end;
end;

definition
mode Integer_Sequence is integer-yielding Real_Sequence;
end;

theorem Th8: :: REAL_3:8
for f being Function holds
( f is Integer_Sequence iff ( dom f = NAT & ( for x being set st x in NAT holds
f . x is integer ) ) )
proof end;

registration
let f be natural-yielding Function;
let n be set ;
cluster a1 . a2 -> natural integer ;
coherence
f . n is natural
proof end;
end;

theorem Th9: :: REAL_3:9
for f being Function holds
( f is Function of NAT , INT iff f is Integer_Sequence )
proof end;

theorem Th10: :: REAL_3:10
for f being Function holds
( f is Seq_of_Nat iff ( dom f = NAT & ( for x being set st x in NAT holds
f . x is natural ) ) )
proof end;

theorem Th11: :: REAL_3:11
for f being Function holds
( f is Function of NAT , NAT iff f is Seq_of_Nat )
proof end;

definition
let m be Nat, n be Nat;
set a = m mod n;
set b = n mod (m mod n);
deffunc H1( Nat, Element of NAT , Element of NAT ) -> Element of NAT = a2 mod a3;
func modSeq c1,c2 -> Seq_of_Nat means :Def2: :: REAL_3:def 2
( it . 0 = m mod n & it . 1 = n mod (m mod n) & ( for k being Nat holds it . (k + 2) = (it . k) mod (it . (k + 1)) ) );
existence
ex b1 being Seq_of_Nat st
( b1 . 0 = m mod n & b1 . 1 = n mod (m mod n) & ( for k being Nat holds b1 . (k + 2) = (b1 . k) mod (b1 . (k + 1)) ) )
proof end;
uniqueness
for b1, b2 being Seq_of_Nat st b1 . 0 = m mod n & b1 . 1 = n mod (m mod n) & ( for k being Nat holds b1 . (k + 2) = (b1 . k) mod (b1 . (k + 1)) ) & b2 . 0 = m mod n & b2 . 1 = n mod (m mod n) & ( for k being Nat holds b2 . (k + 2) = (b2 . k) mod (b2 . (k + 1)) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines modSeq REAL_3:def 2 :
for m, n being Nat
for b3 being Seq_of_Nat holds
( b3 = modSeq m,n iff ( b3 . 0 = m mod n & b3 . 1 = n mod (m mod n) & ( for k being Nat holds b3 . (k + 2) = (b3 . k) mod (b3 . (k + 1)) ) ) );

definition
let m be Nat, n be Nat;
set a = m div n;
set b = n div (m mod n);
deffunc H1( Nat, Element of NAT , Element of NAT ) -> Element of NAT = ((modSeq m,n) . a1) div ((modSeq m,n) . (a1 + 1));
func divSeq c1,c2 -> Seq_of_Nat means :Def3: :: REAL_3:def 3
( it . 0 = m div n & it . 1 = n div (m mod n) & ( for k being Nat holds it . (k + 2) = ((modSeq m,n) . k) div ((modSeq m,n) . (k + 1)) ) );
existence
ex b1 being Seq_of_Nat st
( b1 . 0 = m div n & b1 . 1 = n div (m mod n) & ( for k being Nat holds b1 . (k + 2) = ((modSeq m,n) . k) div ((modSeq m,n) . (k + 1)) ) )
proof end;
uniqueness
for b1, b2 being Seq_of_Nat st b1 . 0 = m div n & b1 . 1 = n div (m mod n) & ( for k being Nat holds b1 . (k + 2) = ((modSeq m,n) . k) div ((modSeq m,n) . (k + 1)) ) & b2 . 0 = m div n & b2 . 1 = n div (m mod n) & ( for k being Nat holds b2 . (k + 2) = ((modSeq m,n) . k) div ((modSeq m,n) . (k + 1)) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines divSeq REAL_3:def 3 :
for m, n being Nat
for b3 being Seq_of_Nat holds
( b3 = divSeq m,n iff ( b3 . 0 = m div n & b3 . 1 = n div (m mod n) & ( for k being Nat holds b3 . (k + 2) = ((modSeq m,n) . k) div ((modSeq m,n) . (k + 1)) ) ) );

theorem Th12: :: REAL_3:12
for m, n being Nat holds (divSeq m,n) . 1 = n div ((modSeq m,n) . 0)
proof end;

theorem Th13: :: REAL_3:13
for m, n being Nat holds (modSeq m,n) . 1 = n mod ((modSeq m,n) . 0)
proof end;

theorem Th14: :: REAL_3:14
for a, b, m, n being Nat st a <= b & (modSeq m,n) . a = 0 holds
(modSeq m,n) . b = 0
proof end;

Lemma71: for m, n, a being Nat holds
( (modSeq m,n) . a > (modSeq m,n) . (a + 1) or (modSeq m,n) . a = 0 )
proof end;

theorem Th15: :: REAL_3:15
for a, b, m, n being Nat holds
( not a < b or (modSeq m,n) . a > (modSeq m,n) . b or (modSeq m,n) . a = 0 )
proof end;

theorem Th16: :: REAL_3:16
for m, n, a being Nat st (divSeq m,n) . (a + 1) = 0 holds
(modSeq m,n) . a = 0
proof end;

Lemma75: for m, n, a being Nat st (modSeq m,n) . a = 0 holds
(divSeq m,n) . (a + 1) = 0
proof end;

theorem Th17: :: REAL_3:17
for a, b, m, n being Nat st a <> 0 & a <= b & (divSeq m,n) . a = 0 holds
(divSeq m,n) . b = 0
proof end;

theorem Th18: :: REAL_3:18
for a, b, m, n being Nat st a < b & (modSeq m,n) . a = 0 holds
(divSeq m,n) . b = 0
proof end;

theorem Th19: :: REAL_3:19
for n, m being Nat st n <> 0 holds
m = (((divSeq m,n) . 0) * n) + ((modSeq m,n) . 0)
proof end;

theorem Th20: :: REAL_3:20
for n, m being Nat st n <> 0 holds
m / n = ((divSeq m,n) . 0) + (1 / (n / ((modSeq m,n) . 0)))
proof end;

set g = NAT --> 0;

Lemma80: dom (NAT --> 0) = NAT
by FUNCOP_1:19;

theorem Th21: :: REAL_3:21
for m being Nat holds divSeq m,0 = NAT --> 0
proof end;

theorem Th22: :: REAL_3:22
for m being Nat holds modSeq m,0 = NAT --> 0
proof end;

theorem Th23: :: REAL_3:23
for n being Nat holds divSeq 0,n = NAT --> 0
proof end;

theorem Th24: :: REAL_3:24
for n being Nat holds modSeq 0,n = NAT --> 0
proof end;

Lemma83: for m, n being Nat ex k being Nat st (modSeq m,n) . k = 0
proof end;

theorem Th25: :: REAL_3:25
for m, n being Nat ex k being Nat st
( (divSeq m,n) . k = 0 & (modSeq m,n) . k = 0 )
proof end;

defpred S1[ set , Element of REAL , set ] means a3 = 1 / (frac a2);

definition
let r be real number ;
func remainders_for_scf c1 -> Real_Sequence means :Def4: :: REAL_3:def 4
( it . 0 = g & ( for n being Nat holds it . (n + 1) = 1 / (frac (it . n)) ) );
existence
ex b1 being Real_Sequence st
( b1 . 0 = r & ( for n being Nat holds b1 . (n + 1) = 1 / (frac (b1 . n)) ) )
proof end;
uniqueness
for b1, b2 being Real_Sequence st b1 . 0 = r & ( for n being Nat holds b1 . (n + 1) = 1 / (frac (b1 . n)) ) & b2 . 0 = r & ( for n being Nat holds b2 . (n + 1) = 1 / (frac (b2 . n)) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def4 defines remainders_for_scf REAL_3:def 4 :
for r being real number
for b2 being Real_Sequence holds
( b2 = remainders_for_scf r iff ( b2 . 0 = r & ( for n being Nat holds b2 . (n + 1) = 1 / (frac (b2 . n)) ) ) );

notation
let r be real number ;
synonym rfs c1 for remainders_for_scf c1;
end;

definition
let r be real number ;
func SimpleContinuedFraction c1 -> Integer_Sequence means :Def5: :: REAL_3:def 5
for n being Nat holds it . n = [\((rfs g) . n)/];
existence
ex b1 being Integer_Sequence st
for n being Nat holds b1 . n = [\((rfs r) . n)/]
proof end;
uniqueness
for b1, b2 being Integer_Sequence st ( for n being Nat holds b1 . n = [\((rfs r) . n)/] ) & ( for n being Nat holds b2 . n = [\((rfs r) . n)/] ) holds
b1 = b2
proof end;
end;

:: deftheorem Def5 defines SimpleContinuedFraction REAL_3:def 5 :
for r being real number
for b2 being Integer_Sequence holds
( b2 = SimpleContinuedFraction r iff for n being Nat holds b2 . n = [\((rfs r) . n)/] );

notation
let r be real number ;
synonym scf c1 for SimpleContinuedFraction c1;
end;

theorem Th26: :: REAL_3:26
for n being Nat
for r being real number holds (rfs r) . (n + 1) = 1 / (((rfs r) . n) - ((scf r) . n))
proof end;

theorem Th27: :: REAL_3:27
for n, m being Nat
for r being real number st (rfs r) . n = 0 & n <= m holds
(rfs r) . m = 0
proof end;

theorem Th28: :: REAL_3:28
for n, m being Nat
for r being real number st (rfs r) . n = 0 & n <= m holds
(scf r) . m = 0
proof end;

theorem Th29: :: REAL_3:29
for n being Nat
for i being Integer holds (rfs i) . (n + 1) = 0
proof end;

theorem Th30: :: REAL_3:30
for n being Nat
for i being Integer holds
( (scf i) . 0 = i & (scf i) . (n + 1) = 0 )
proof end;

Lemma99: for n being Nat
for i being Integer st i > 1 holds
( (rfs (1 / i)) . 1 = i & (rfs (1 / i)) . (n + 2) = 0 & (scf (1 / i)) . 0 = 0 & (scf (1 / i)) . 1 = i & (scf (1 / i)) . (n + 2) = 0 )
proof end;

theorem Th31: :: REAL_3:31
for n being Nat
for i being Integer st i > 1 holds
( (rfs (1 / i)) . 1 = i & (rfs (1 / i)) . (n + 2) = 0 ) by ;

theorem Th32: :: REAL_3:32
for n being Nat
for i being Integer st i > 1 holds
( (scf (1 / i)) . 0 = 0 & (scf (1 / i)) . 1 = i & (scf (1 / i)) . (n + 2) = 0 ) by ;

theorem Th33: :: REAL_3:33
for n being Nat
for r being real number st ( for n being Nat holds (scf r) . n = 0 ) holds
(rfs r) . n = 0
proof end;

theorem Th34: :: REAL_3:34
for r being real number st ( for n being Nat holds (scf r) . n = 0 ) holds
r = 0
proof end;

Lemma102: for n being Nat
for r being real number holds
( (rfs (1 / (r - ((scf r) . 0)))) . n = (rfs r) . (n + 1) & (scf (1 / (r - ((scf r) . 0)))) . n = (scf r) . (n + 1) )
proof end;

theorem Th35: :: REAL_3:35
for r being real number holds frac r = r - ((scf r) . 0)
proof end;

theorem Th36: :: REAL_3:36
for n being Nat
for r being real number holds (rfs r) . (n + 1) = (rfs (1 / (frac r))) . n
proof end;

theorem Th37: :: REAL_3:37
for n being Nat
for r being real number holds (scf r) . (n + 1) = (scf (1 / (frac r))) . n
proof end;

theorem Th38: :: REAL_3:38
for n being Nat
for r being real number st n >= 1 holds
(scf r) . n >= 0
proof end;

theorem Th39: :: REAL_3:39
for n being Nat
for r being real number st n >= 1 holds
(scf r) . n in NAT
proof end;

theorem Th40: :: REAL_3:40
for n being Nat
for r being real number st n >= 1 & (scf r) . n <> 0 holds
(scf r) . n >= 1
proof end;

theorem Th41: :: REAL_3:41
for m, n, k being Nat holds
( (scf (m / n)) . k = (divSeq m,n) . k & (rfs (m / n)) . 1 = n / ((modSeq m,n) . 0) & (rfs (m / n)) . (k + 2) = ((modSeq m,n) . k) / ((modSeq m,n) . (k + 1)) )
proof end;

theorem Th42: :: REAL_3:42
for r being real number holds
( r is rational iff ex n being Nat st
for m being Nat st m >= n holds
(scf r) . m = 0 )
proof end;

theorem Th43: :: REAL_3:43
for r being real number st ( for n being Nat holds (scf r) . n <> 0 ) holds
not r is rational
proof end;

definition
let r be real number ;
func convergent_numerators c1 -> Real_Sequence means :Def6: :: REAL_3:def 6
( it . 0 = (scf g) . 0 & it . 1 = (((scf g) . 1) * ((scf g) . 0)) + 1 & ( for n being Nat holds it . (n + 2) = (((scf g) . (n + 2)) * (it . (n + 1))) + (it . n) ) );
existence
ex b1 being Real_Sequence st
( b1 . 0 = (scf r) . 0 & b1 . 1 = (((scf r) . 1) * ((scf r) . 0)) + 1 & ( for n being Nat holds b1 . (n + 2) = (((scf r) . (n + 2)) * (b1 . (n + 1))) + (b1 . n) ) )
proof end;
uniqueness
for b1, b2 being Real_Sequence st b1 . 0 = (scf r) . 0 & b1 . 1 = (((scf r) . 1) * ((scf r) . 0)) + 1 & ( for n being Nat holds b1 . (n + 2) = (((scf r) . (n + 2)) * (b1 . (n + 1))) + (b1 . n) ) & b2 . 0 = (scf r) . 0 & b2 . 1 = (((scf r) . 1) * ((scf r) . 0)) + 1 & ( for n being Nat holds b2 . (n + 2) = (((scf r) . (n + 2)) * (b2 . (n + 1))) + (b2 . n) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def6 defines convergent_numerators REAL_3:def 6 :
for r being real number
for b2 being Real_Sequence holds
( b2 = convergent_numerators r iff ( b2 . 0 = (scf r) . 0 & b2 . 1 = (((scf r) . 1) * ((scf r) . 0)) + 1 & ( for n being Nat holds b2 . (n + 2) = (((scf r) . (n + 2)) * (b2 . (n + 1))) + (b2 . n) ) ) );

definition
let r be real number ;
set s = scf r;
func convergent_denominators c1 -> Real_Sequence means :Def7: :: REAL_3:def 7
( it . 0 = 1 & it . 1 = (scf g) . 1 & ( for n being Nat holds it . (n + 2) = (((scf g) . (n + 2)) * (it . (n + 1))) + (it . n) ) );
existence
ex b1 being Real_Sequence st
( b1 . 0 = 1 & b1 . 1 = (scf r) . 1 & ( for n being Nat holds b1 . (n + 2) = (((scf r) . (n + 2)) * (b1 . (n + 1))) + (b1 . n) ) )
proof end;
uniqueness
for b1, b2 being Real_Sequence st b1 . 0 = 1 & b1 . 1 = (scf r) . 1 & ( for n being Nat holds b1 . (n + 2) = (((scf r) . (n + 2)) * (b1 . (n + 1))) + (b1 . n) ) & b2 . 0 = 1 & b2 . 1 = (scf r) . 1 & ( for n being Nat holds b2 . (n + 2) = (((scf r) . (n + 2)) * (b2 . (n + 1))) + (b2 . n) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def7 defines convergent_denominators REAL_3:def 7 :
for r being real number
for b2 being Real_Sequence holds
( b2 = convergent_denominators r iff ( b2 . 0 = 1 & b2 . 1 = (scf r) . 1 & ( for n being Nat holds b2 . (n + 2) = (((scf r) . (n + 2)) * (b2 . (n + 1))) + (b2 . n) ) ) );

notation
let r be real number ;
synonym c_n c1 for convergent_numerators c1;
synonym c_d c1 for convergent_denominators c1;
end;

theorem Th44: :: REAL_3:44
for r being real number st (scf r) . 0 > 0 holds
for n being Nat holds (c_n r) . n in NAT
proof end;

theorem Th45: :: REAL_3:45
for r being real number st (scf r) . 0 > 0 holds
for n being Nat holds (c_n r) . n > 0
proof end;

theorem Th46: :: REAL_3:46
for r being real number st (scf r) . 0 > 0 holds
for n being Nat holds (c_n r) . (n + 2) > ((scf r) . (n + 2)) * ((c_n r) . (n + 1))
proof end;

theorem Th47: :: REAL_3:47
for r being real number
for n1, n2 being Nat st (scf r) . 0 > 0 holds
for n being Nat st n1 = (c_n r) . (n + 1) & n2 = (c_n r) . n holds
n1 hcf n2 = 1
proof end;

theorem Th48: :: REAL_3:48
for r being real number st (scf r) . 0 > 0 & ( for n being Nat holds (scf r) . n <> 0 ) holds
for n being Nat holds (c_n r) . n >= tau |^ n
proof end;

theorem Th49: :: REAL_3:49
for b being Nat
for r being real number st (scf r) . 0 > 0 & ( for n being Nat holds (scf r) . n <= b ) holds
for n being Nat holds (c_n r) . n <= ((b + (sqrt ((b ^2 ) + 4))) / 2) |^ (n + 1)
proof end;

theorem Th50: :: REAL_3:50
for n being Nat
for r being real number holds (c_d r) . n in NAT
proof end;

theorem Th51: :: REAL_3:51
for n being Nat
for r being real number holds (c_d r) . n >= 0
proof end;

theorem Th52: :: REAL_3:52
for r being real number st (scf r) . 1 > 0 holds
for n being Nat holds (c_d r) . n > 0
proof end;

theorem Th53: :: REAL_3:53
for n being Nat
for r being real number holds (c_d r) . (n + 2) >= ((scf r) . (n + 2)) * ((c_d r) . (n + 1))
proof end;

theorem Th54: :: REAL_3:54
for r being real number st (scf r) . 1 > 0 holds
for n being Nat holds (c_d r) . (n + 2) > ((scf r) . (n + 2)) * ((c_d r) . (n + 1))
proof end;

theorem Th55: :: REAL_3:55
for r being real number st ( for n being Nat holds (scf r) . n > 0 ) holds
for n being Nat st n >= 1 holds
1 / (((c_d r) . n) * ((c_d r) . (n + 1))) < 1 / (((scf r) . (n + 1)) * (((c_d r) . n) ^2 ))
proof end;

theorem Th56: :: REAL_3:56
for b being Nat
for r being real number st ( for n being Nat holds (scf r) . n <= b ) holds
for n being Nat holds (c_d r) . (n + 1) <= ((b + (sqrt ((b ^2 ) + 4))) / 2) |^ (n + 1)
proof end;

theorem Th57: :: REAL_3:57
for n being Nat
for r being real number
for n1, n2 being Nat st n1 = (c_d r) . (n + 1) & n2 = (c_d r) . n holds
n1 hcf n2 = 1
proof end;

theorem Th58: :: REAL_3:58
for r being real number st ( for n being Nat holds (scf r) . n > 0 ) holds
for n being Nat holds ((c_d r) . (n + 1)) / ((c_d r) . n) >= 1 / ((scf r) . (n + 2))
proof end;

theorem Th59: :: REAL_3:59
for r being real number st ( for n being Nat holds (scf r) . n > 0 ) holds
for n being Nat holds (c_d r) . (n + 2) <= (2 * ((scf r) . (n + 2))) * ((c_d r) . (n + 1))
proof end;

theorem Th60: :: REAL_3:60
for r being real number st ( for n being Nat holds (scf r) . n <> 0 ) holds
for n being Nat holds 1 / (((scf r) . (n + 1)) * (((c_d r) . n) ^2 )) <= 1 / (((c_d r) . n) ^2 )
proof end;

theorem Th61: :: REAL_3:61
for r being real number st ( for n being Nat holds (scf r) . n <> 0 ) holds
for n being Nat holds (c_d r) . (n + 1) >= tau |^ n
proof end;

theorem Th62: :: REAL_3:62
for a being Nat
for r being real number st a > 0 & ( for n being Nat holds (scf r) . n >= a ) holds
for n being Nat holds (c_d r) . (n + 1) >= ((a + (sqrt ((a ^2 ) + 4))) / 2) |^ n
proof end;

theorem Th63: :: REAL_3:63
for n being Nat
for r being real number holds ((c_n r) . (n + 2)) / ((c_d r) . (n + 2)) = ((((scf r) . (n + 2)) * ((c_n r) . (n + 1))) + ((c_n r) . n)) / ((((scf r) . (n + 2)) * ((c_d r) . (n + 1))) + ((c_d r) . n))
proof end;

theorem Th64: :: REAL_3:64
for n being Nat
for r being real number holds (((c_n r) . (n + 1)) * ((c_d r) . n)) - (((c_n r) . n) * ((c_d r) . (n + 1))) = (- 1) |^ n
proof end;

theorem Th65: :: REAL_3:65
for n being Nat
for r being real number st ( for n being Nat holds (c_d r) . n <> 0 ) holds
(((c_n r) . (n + 1)) / ((c_d r) . (n + 1))) - (((c_n r) . n) / ((c_d r) . n)) = ((- 1) |^ n) / (((c_d r) . (n + 1)) * ((c_d r) . n))
proof end;

theorem Th66: :: REAL_3:66
for n being Nat
for r being real number holds (((c_n r) . (n + 2)) * ((c_d r) . n)) - (((c_n r) . n) * ((c_d r) . (n + 2))) = ((- 1) |^ n) * ((scf r) . (n + 2))
proof end;

theorem Th67: :: REAL_3:67
for n being Nat
for r being real number st ( for n being Nat holds (c_d r) . n <> 0 ) holds
(((c_n r) . (n + 2)) / ((c_d r) . (n + 2))) - (((c_n r) . n) / ((c_d r) . n)) = (((- 1) |^ n) * ((scf r) . (n + 2))) / (((c_d r) . (n + 2)) * ((c_d r) . n))
proof end;

theorem Th68: :: REAL_3:68
for r being real number st ( for n being Nat holds (scf r) . n <> 0 ) holds
for n being Nat st n >= 1 holds
((c_n r) . n) / ((c_d r) . n) = (((c_n r) . (n + 1)) - ((c_n r) . (n - 1))) / (((c_d r) . (n + 1)) - ((c_d r) . (n - 1)))
proof end;

theorem Th69: :: REAL_3:69
for r being real number st ( for n being Nat holds (c_d r) . n <> 0 ) holds
for n being Nat holds abs ((((c_n r) . (n + 1)) / ((c_d r) . (n + 1))) - (((c_n r) . n) / ((c_d r) . n))) = 1 / (abs (((c_d r) . (n + 1)) * ((c_d r) . n)))
proof end;

theorem Th70: :: REAL_3:70
for r being real number st (scf r) . 1 > 0 holds
for n being Nat holds ((c_n r) . ((2 * n) + 1)) / ((c_d r) . ((2 * n) + 1)) > ((c_n r) . (2 * n)) / ((c_d r) . (2 * n))
proof end;

definition
let r be real number ;
func convergents_of_continued_fractions c1 -> Real_Sequence equals :: REAL_3:def 8
(c_n g) /" (c_d g);
coherence
(c_n r) /" (c_d r) is Real_Sequence
;
end;

:: deftheorem Def8 defines convergents_of_continued_fractions REAL_3:def 8 :
for r being real number holds convergents_of_continued_fractions r = (c_n r) /" (c_d r);

notation
let r be real number ;
synonym cocf c1 for convergents_of_continued_fractions c1;
end;

theorem Th71: :: REAL_3:71
for r being real number holds (cocf r) . 0 = (scf r) . 0
proof end;

theorem Th72: :: REAL_3:72
for r being real number st (scf r) . 1 <> 0 holds
(cocf r) . 1 = ((scf r) . 0) + (1 / ((scf r) . 1))
proof end;

theorem Th73: :: REAL_3:73
for r being real number st ( for n being Nat holds (scf r) . n > 0 ) holds
(cocf r) . 2 = ((scf r) . 0) + (1 / (((scf r) . 1) + (1 / ((scf r) . 2))))
proof end;

theorem Th74: :: REAL_3:74
for r being real number st ( for n being Nat holds (scf r) . n > 0 ) holds
(cocf r) . 3 = ((scf r) . 0) + (1 / (((scf r) . 1) + (1 / (((scf r) . 2) + (1 / ((scf r) . 3))))))
proof end;

theorem Th75: :: REAL_3:75
for r being real number st ( for n being Nat holds (scf r) . n > 0 ) holds
for n being Nat st n >= 1 holds
((c_n r) . ((2 * n) + 1)) / ((c_d r) . ((2 * n) + 1)) < ((c_n r) . ((2 * n) - 1)) / ((c_d r) . ((2 * n) - 1))
proof end;

theorem Th76: :: REAL_3:76
for r being real number st ( for n being Nat holds (scf r) . n > 0 ) holds
for n being Nat st n >= 1 holds
((c_n r) . (2 * n)) / ((c_d r) . (2 * n)) > ((c_n r) . ((2 * n) - 2)) / ((c_d r) . ((2 * n) - 2))
proof end;

theorem Th77: :: REAL_3:77
for r being real number st ( for n being Nat holds (scf r) . n > 0 ) holds
for n being Nat st n >= 1 holds
((c_n r) . (2 * n)) / ((c_d r) . (2 * n)) < ((c_n r) . ((2 * n) - 1)) / ((c_d r) . ((2 * n) - 1))
proof end;

definition
let r be real number ;
set s = scf r;
func backContinued_fraction c1 -> Real_Sequence means :Def9: :: REAL_3:def 9
( it . 0 = (scf g) . 0 & ( for n being Nat holds it . (n + 1) = (1 / (it . n)) + ((scf g) . (n + 1)) ) );
existence
ex b1 being Real_Sequence st
( b1 . 0 = (scf r) . 0 & ( for n being Nat holds b1 . (n + 1) = (1 / (b1 . n)) + ((scf r) . (n + 1)) ) )
proof end;
uniqueness
for b1, b2 being Real_Sequence st b1 . 0 = (scf r) . 0 & ( for n being Nat holds b1 . (n + 1) = (1 / (b1 . n)) + ((scf r) . (n + 1)) ) & b2 . 0 = (scf r) . 0 & ( for n being Nat holds b2 . (n + 1) = (1 / (b2 . n)) + ((scf r) . (n + 1)) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def9 defines backContinued_fraction REAL_3:def 9 :
for r being real number
for b2 being Real_Sequence holds
( b2 = backContinued_fraction r iff ( b2 . 0 = (scf r) . 0 & ( for n being Nat holds b2 . (n + 1) = (1 / (b2 . n)) + ((scf r) . (n + 1)) ) ) );

notation
let r be real number ;
synonym bcf c1 for backContinued_fraction c1;
end;

theorem Th78: :: REAL_3:78
for r being real number st (scf r) . 0 > 0 holds
for n being Nat holds (bcf r) . (n + 1) = ((c_n r) . (n + 1)) / ((c_n r) . n)
proof end;