Metamath Proof Explorer


Theorem aaliou

Description: Liouville's theorem on diophantine approximation: Any algebraic number, being a root of a polynomial F in integer coefficients, is not approximable beyond order N = deg ( F ) by rational numbers. In this form, it also applies to rational numbers themselves, which are not well approximable by other rational numbers. This is Metamath 100 proof #18. (Contributed by Stefan O'Rear, 16-Nov-2014)

Ref Expression
Hypotheses aalioulem2.a 𝑁 = ( deg ‘ 𝐹 )
aalioulem2.b ( 𝜑𝐹 ∈ ( Poly ‘ ℤ ) )
aalioulem2.c ( 𝜑𝑁 ∈ ℕ )
aalioulem2.d ( 𝜑𝐴 ∈ ℝ )
aalioulem3.e ( 𝜑 → ( 𝐹𝐴 ) = 0 )
Assertion aaliou ( 𝜑 → ∃ 𝑥 ∈ ℝ+𝑝 ∈ ℤ ∀ 𝑞 ∈ ℕ ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( 𝑥 / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) )

Proof

Step Hyp Ref Expression
1 aalioulem2.a 𝑁 = ( deg ‘ 𝐹 )
2 aalioulem2.b ( 𝜑𝐹 ∈ ( Poly ‘ ℤ ) )
3 aalioulem2.c ( 𝜑𝑁 ∈ ℕ )
4 aalioulem2.d ( 𝜑𝐴 ∈ ℝ )
5 aalioulem3.e ( 𝜑 → ( 𝐹𝐴 ) = 0 )
6 1 2 3 4 5 aalioulem6 ( 𝜑 → ∃ 𝑎 ∈ ℝ+𝑝 ∈ ℤ ∀ 𝑞 ∈ ℕ ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( 𝑎 / ( 𝑞𝑁 ) ) ≤ ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) )
7 rphalfcl ( 𝑎 ∈ ℝ+ → ( 𝑎 / 2 ) ∈ ℝ+ )
8 7 adantl ( ( 𝜑𝑎 ∈ ℝ+ ) → ( 𝑎 / 2 ) ∈ ℝ+ )
9 7 ad2antlr ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( 𝑎 / 2 ) ∈ ℝ+ )
10 nnrp ( 𝑞 ∈ ℕ → 𝑞 ∈ ℝ+ )
11 10 ad2antll ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → 𝑞 ∈ ℝ+ )
12 3 nnzd ( 𝜑𝑁 ∈ ℤ )
13 12 ad2antrr ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → 𝑁 ∈ ℤ )
14 11 13 rpexpcld ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( 𝑞𝑁 ) ∈ ℝ+ )
15 9 14 rpdivcld ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) ∈ ℝ+ )
16 15 rpred ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) ∈ ℝ )
17 simplr ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → 𝑎 ∈ ℝ+ )
18 17 14 rpdivcld ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( 𝑎 / ( 𝑞𝑁 ) ) ∈ ℝ+ )
19 18 rpred ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( 𝑎 / ( 𝑞𝑁 ) ) ∈ ℝ )
20 4 adantr ( ( 𝜑𝑎 ∈ ℝ+ ) → 𝐴 ∈ ℝ )
21 znq ( ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) → ( 𝑝 / 𝑞 ) ∈ ℚ )
22 qre ( ( 𝑝 / 𝑞 ) ∈ ℚ → ( 𝑝 / 𝑞 ) ∈ ℝ )
23 21 22 syl ( ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) → ( 𝑝 / 𝑞 ) ∈ ℝ )
24 resubcl ( ( 𝐴 ∈ ℝ ∧ ( 𝑝 / 𝑞 ) ∈ ℝ ) → ( 𝐴 − ( 𝑝 / 𝑞 ) ) ∈ ℝ )
25 20 23 24 syl2an ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( 𝐴 − ( 𝑝 / 𝑞 ) ) ∈ ℝ )
26 25 recnd ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( 𝐴 − ( 𝑝 / 𝑞 ) ) ∈ ℂ )
27 26 abscld ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ∈ ℝ )
28 16 19 27 3jca ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) ∈ ℝ ∧ ( 𝑎 / ( 𝑞𝑁 ) ) ∈ ℝ ∧ ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ∈ ℝ ) )
29 9 rpred ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( 𝑎 / 2 ) ∈ ℝ )
30 rpre ( 𝑎 ∈ ℝ+𝑎 ∈ ℝ )
31 30 ad2antlr ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → 𝑎 ∈ ℝ )
32 rphalflt ( 𝑎 ∈ ℝ+ → ( 𝑎 / 2 ) < 𝑎 )
33 32 ad2antlr ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( 𝑎 / 2 ) < 𝑎 )
34 29 31 14 33 ltdiv1dd ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) < ( 𝑎 / ( 𝑞𝑁 ) ) )
35 34 anim1i ( ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) ∧ ( 𝑎 / ( 𝑞𝑁 ) ) ≤ ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) → ( ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) < ( 𝑎 / ( 𝑞𝑁 ) ) ∧ ( 𝑎 / ( 𝑞𝑁 ) ) ≤ ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) )
36 35 ex ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( ( 𝑎 / ( 𝑞𝑁 ) ) ≤ ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) → ( ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) < ( 𝑎 / ( 𝑞𝑁 ) ) ∧ ( 𝑎 / ( 𝑞𝑁 ) ) ≤ ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) ) )
37 ltletr ( ( ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) ∈ ℝ ∧ ( 𝑎 / ( 𝑞𝑁 ) ) ∈ ℝ ∧ ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ∈ ℝ ) → ( ( ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) < ( 𝑎 / ( 𝑞𝑁 ) ) ∧ ( 𝑎 / ( 𝑞𝑁 ) ) ≤ ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) → ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) )
38 28 36 37 sylsyld ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( ( 𝑎 / ( 𝑞𝑁 ) ) ≤ ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) → ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) )
39 38 orim2d ( ( ( 𝜑𝑎 ∈ ℝ+ ) ∧ ( 𝑝 ∈ ℤ ∧ 𝑞 ∈ ℕ ) ) → ( ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( 𝑎 / ( 𝑞𝑁 ) ) ≤ ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) → ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) ) )
40 39 ralimdvva ( ( 𝜑𝑎 ∈ ℝ+ ) → ( ∀ 𝑝 ∈ ℤ ∀ 𝑞 ∈ ℕ ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( 𝑎 / ( 𝑞𝑁 ) ) ≤ ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) → ∀ 𝑝 ∈ ℤ ∀ 𝑞 ∈ ℕ ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) ) )
41 oveq1 ( 𝑥 = ( 𝑎 / 2 ) → ( 𝑥 / ( 𝑞𝑁 ) ) = ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) )
42 41 breq1d ( 𝑥 = ( 𝑎 / 2 ) → ( ( 𝑥 / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ↔ ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) )
43 42 orbi2d ( 𝑥 = ( 𝑎 / 2 ) → ( ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( 𝑥 / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) ↔ ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) ) )
44 43 2ralbidv ( 𝑥 = ( 𝑎 / 2 ) → ( ∀ 𝑝 ∈ ℤ ∀ 𝑞 ∈ ℕ ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( 𝑥 / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) ↔ ∀ 𝑝 ∈ ℤ ∀ 𝑞 ∈ ℕ ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) ) )
45 44 rspcev ( ( ( 𝑎 / 2 ) ∈ ℝ+ ∧ ∀ 𝑝 ∈ ℤ ∀ 𝑞 ∈ ℕ ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( ( 𝑎 / 2 ) / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) ) → ∃ 𝑥 ∈ ℝ+𝑝 ∈ ℤ ∀ 𝑞 ∈ ℕ ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( 𝑥 / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) )
46 8 40 45 syl6an ( ( 𝜑𝑎 ∈ ℝ+ ) → ( ∀ 𝑝 ∈ ℤ ∀ 𝑞 ∈ ℕ ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( 𝑎 / ( 𝑞𝑁 ) ) ≤ ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) → ∃ 𝑥 ∈ ℝ+𝑝 ∈ ℤ ∀ 𝑞 ∈ ℕ ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( 𝑥 / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) ) )
47 46 rexlimdva ( 𝜑 → ( ∃ 𝑎 ∈ ℝ+𝑝 ∈ ℤ ∀ 𝑞 ∈ ℕ ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( 𝑎 / ( 𝑞𝑁 ) ) ≤ ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) → ∃ 𝑥 ∈ ℝ+𝑝 ∈ ℤ ∀ 𝑞 ∈ ℕ ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( 𝑥 / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) ) )
48 6 47 mpd ( 𝜑 → ∃ 𝑥 ∈ ℝ+𝑝 ∈ ℤ ∀ 𝑞 ∈ ℕ ( 𝐴 = ( 𝑝 / 𝑞 ) ∨ ( 𝑥 / ( 𝑞𝑁 ) ) < ( abs ‘ ( 𝐴 − ( 𝑝 / 𝑞 ) ) ) ) )