Metamath Proof Explorer


Theorem irrdiff

Description: The irrationals are exactly those reals that are a different distance from every rational. (Contributed by Jim Kingdon, 19-May-2024)

Ref Expression
Assertion irrdiff ( 𝐴 ∈ ℝ → ( ¬ 𝐴 ∈ ℚ ↔ ∀ 𝑞 ∈ ℚ ∀ 𝑟 ∈ ℚ ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) ) )

Proof

Step Hyp Ref Expression
1 simplll ( ( ( ( 𝐴 ∈ ℝ ∧ ¬ 𝐴 ∈ ℚ ) ∧ ( 𝑞 ∈ ℚ ∧ 𝑟 ∈ ℚ ) ) ∧ 𝑞𝑟 ) → 𝐴 ∈ ℝ )
2 simpllr ( ( ( ( 𝐴 ∈ ℝ ∧ ¬ 𝐴 ∈ ℚ ) ∧ ( 𝑞 ∈ ℚ ∧ 𝑟 ∈ ℚ ) ) ∧ 𝑞𝑟 ) → ¬ 𝐴 ∈ ℚ )
3 simplrl ( ( ( ( 𝐴 ∈ ℝ ∧ ¬ 𝐴 ∈ ℚ ) ∧ ( 𝑞 ∈ ℚ ∧ 𝑟 ∈ ℚ ) ) ∧ 𝑞𝑟 ) → 𝑞 ∈ ℚ )
4 simplrr ( ( ( ( 𝐴 ∈ ℝ ∧ ¬ 𝐴 ∈ ℚ ) ∧ ( 𝑞 ∈ ℚ ∧ 𝑟 ∈ ℚ ) ) ∧ 𝑞𝑟 ) → 𝑟 ∈ ℚ )
5 simpr ( ( ( ( 𝐴 ∈ ℝ ∧ ¬ 𝐴 ∈ ℚ ) ∧ ( 𝑞 ∈ ℚ ∧ 𝑟 ∈ ℚ ) ) ∧ 𝑞𝑟 ) → 𝑞𝑟 )
6 1 2 3 4 5 irrdifflemf ( ( ( ( 𝐴 ∈ ℝ ∧ ¬ 𝐴 ∈ ℚ ) ∧ ( 𝑞 ∈ ℚ ∧ 𝑟 ∈ ℚ ) ) ∧ 𝑞𝑟 ) → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) )
7 6 ex ( ( ( 𝐴 ∈ ℝ ∧ ¬ 𝐴 ∈ ℚ ) ∧ ( 𝑞 ∈ ℚ ∧ 𝑟 ∈ ℚ ) ) → ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) )
8 7 ralrimivva ( ( 𝐴 ∈ ℝ ∧ ¬ 𝐴 ∈ ℚ ) → ∀ 𝑞 ∈ ℚ ∀ 𝑟 ∈ ℚ ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) )
9 simplr ( ( ( 𝐴 ∈ ℝ ∧ ∀ 𝑞 ∈ ℚ ∀ 𝑟 ∈ ℚ ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) ) ∧ 𝐴 ∈ ℚ ) → ∀ 𝑞 ∈ ℚ ∀ 𝑟 ∈ ℚ ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) )
10 peano2rem ( 𝐴 ∈ ℝ → ( 𝐴 − 1 ) ∈ ℝ )
11 recn ( 𝐴 ∈ ℝ → 𝐴 ∈ ℂ )
12 1cnd ( 𝐴 ∈ ℝ → 1 ∈ ℂ )
13 11 12 negsubd ( 𝐴 ∈ ℝ → ( 𝐴 + - 1 ) = ( 𝐴 − 1 ) )
14 neg1lt0 - 1 < 0
15 0lt1 0 < 1
16 neg1rr - 1 ∈ ℝ
17 0re 0 ∈ ℝ
18 1re 1 ∈ ℝ
19 16 17 18 lttri ( ( - 1 < 0 ∧ 0 < 1 ) → - 1 < 1 )
20 14 15 19 mp2an - 1 < 1
21 16 a1i ( 𝐴 ∈ ℝ → - 1 ∈ ℝ )
22 1red ( 𝐴 ∈ ℝ → 1 ∈ ℝ )
23 id ( 𝐴 ∈ ℝ → 𝐴 ∈ ℝ )
24 21 22 23 ltadd2d ( 𝐴 ∈ ℝ → ( - 1 < 1 ↔ ( 𝐴 + - 1 ) < ( 𝐴 + 1 ) ) )
25 20 24 mpbii ( 𝐴 ∈ ℝ → ( 𝐴 + - 1 ) < ( 𝐴 + 1 ) )
26 13 25 eqbrtrrd ( 𝐴 ∈ ℝ → ( 𝐴 − 1 ) < ( 𝐴 + 1 ) )
27 10 26 ltned ( 𝐴 ∈ ℝ → ( 𝐴 − 1 ) ≠ ( 𝐴 + 1 ) )
28 27 ad2antrr ( ( ( 𝐴 ∈ ℝ ∧ ∀ 𝑞 ∈ ℚ ∀ 𝑟 ∈ ℚ ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) ) ∧ 𝐴 ∈ ℚ ) → ( 𝐴 − 1 ) ≠ ( 𝐴 + 1 ) )
29 1z 1 ∈ ℤ
30 zq ( 1 ∈ ℤ → 1 ∈ ℚ )
31 29 30 ax-mp 1 ∈ ℚ
32 qsubcl ( ( 𝐴 ∈ ℚ ∧ 1 ∈ ℚ ) → ( 𝐴 − 1 ) ∈ ℚ )
33 31 32 mpan2 ( 𝐴 ∈ ℚ → ( 𝐴 − 1 ) ∈ ℚ )
34 qaddcl ( ( 𝐴 ∈ ℚ ∧ 1 ∈ ℚ ) → ( 𝐴 + 1 ) ∈ ℚ )
35 31 34 mpan2 ( 𝐴 ∈ ℚ → ( 𝐴 + 1 ) ∈ ℚ )
36 35 adantl ( ( ( 𝐴 ∈ ℝ ∧ ∀ 𝑞 ∈ ℚ ∀ 𝑟 ∈ ℚ ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) ) ∧ 𝐴 ∈ ℚ ) → ( 𝐴 + 1 ) ∈ ℚ )
37 simpl ( ( 𝑞 = ( 𝐴 − 1 ) ∧ 𝑟 = ( 𝐴 + 1 ) ) → 𝑞 = ( 𝐴 − 1 ) )
38 simpr ( ( 𝑞 = ( 𝐴 − 1 ) ∧ 𝑟 = ( 𝐴 + 1 ) ) → 𝑟 = ( 𝐴 + 1 ) )
39 37 38 neeq12d ( ( 𝑞 = ( 𝐴 − 1 ) ∧ 𝑟 = ( 𝐴 + 1 ) ) → ( 𝑞𝑟 ↔ ( 𝐴 − 1 ) ≠ ( 𝐴 + 1 ) ) )
40 oveq2 ( 𝑞 = ( 𝐴 − 1 ) → ( 𝐴𝑞 ) = ( 𝐴 − ( 𝐴 − 1 ) ) )
41 40 adantr ( ( 𝑞 = ( 𝐴 − 1 ) ∧ 𝑟 = ( 𝐴 + 1 ) ) → ( 𝐴𝑞 ) = ( 𝐴 − ( 𝐴 − 1 ) ) )
42 41 fveq2d ( ( 𝑞 = ( 𝐴 − 1 ) ∧ 𝑟 = ( 𝐴 + 1 ) ) → ( abs ‘ ( 𝐴𝑞 ) ) = ( abs ‘ ( 𝐴 − ( 𝐴 − 1 ) ) ) )
43 oveq2 ( 𝑟 = ( 𝐴 + 1 ) → ( 𝐴𝑟 ) = ( 𝐴 − ( 𝐴 + 1 ) ) )
44 43 adantl ( ( 𝑞 = ( 𝐴 − 1 ) ∧ 𝑟 = ( 𝐴 + 1 ) ) → ( 𝐴𝑟 ) = ( 𝐴 − ( 𝐴 + 1 ) ) )
45 44 fveq2d ( ( 𝑞 = ( 𝐴 − 1 ) ∧ 𝑟 = ( 𝐴 + 1 ) ) → ( abs ‘ ( 𝐴𝑟 ) ) = ( abs ‘ ( 𝐴 − ( 𝐴 + 1 ) ) ) )
46 42 45 neeq12d ( ( 𝑞 = ( 𝐴 − 1 ) ∧ 𝑟 = ( 𝐴 + 1 ) ) → ( ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ↔ ( abs ‘ ( 𝐴 − ( 𝐴 − 1 ) ) ) ≠ ( abs ‘ ( 𝐴 − ( 𝐴 + 1 ) ) ) ) )
47 39 46 imbi12d ( ( 𝑞 = ( 𝐴 − 1 ) ∧ 𝑟 = ( 𝐴 + 1 ) ) → ( ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) ↔ ( ( 𝐴 − 1 ) ≠ ( 𝐴 + 1 ) → ( abs ‘ ( 𝐴 − ( 𝐴 − 1 ) ) ) ≠ ( abs ‘ ( 𝐴 − ( 𝐴 + 1 ) ) ) ) ) )
48 47 rspc2gv ( ( ( 𝐴 − 1 ) ∈ ℚ ∧ ( 𝐴 + 1 ) ∈ ℚ ) → ( ∀ 𝑞 ∈ ℚ ∀ 𝑟 ∈ ℚ ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) → ( ( 𝐴 − 1 ) ≠ ( 𝐴 + 1 ) → ( abs ‘ ( 𝐴 − ( 𝐴 − 1 ) ) ) ≠ ( abs ‘ ( 𝐴 − ( 𝐴 + 1 ) ) ) ) ) )
49 33 36 48 syl2an2 ( ( ( 𝐴 ∈ ℝ ∧ ∀ 𝑞 ∈ ℚ ∀ 𝑟 ∈ ℚ ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) ) ∧ 𝐴 ∈ ℚ ) → ( ∀ 𝑞 ∈ ℚ ∀ 𝑟 ∈ ℚ ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) → ( ( 𝐴 − 1 ) ≠ ( 𝐴 + 1 ) → ( abs ‘ ( 𝐴 − ( 𝐴 − 1 ) ) ) ≠ ( abs ‘ ( 𝐴 − ( 𝐴 + 1 ) ) ) ) ) )
50 9 28 49 mp2d ( ( ( 𝐴 ∈ ℝ ∧ ∀ 𝑞 ∈ ℚ ∀ 𝑟 ∈ ℚ ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) ) ∧ 𝐴 ∈ ℚ ) → ( abs ‘ ( 𝐴 − ( 𝐴 − 1 ) ) ) ≠ ( abs ‘ ( 𝐴 − ( 𝐴 + 1 ) ) ) )
51 neirr ¬ ( abs ‘ 1 ) ≠ ( abs ‘ 1 )
52 11 12 nncand ( 𝐴 ∈ ℝ → ( 𝐴 − ( 𝐴 − 1 ) ) = 1 )
53 52 fveq2d ( 𝐴 ∈ ℝ → ( abs ‘ ( 𝐴 − ( 𝐴 − 1 ) ) ) = ( abs ‘ 1 ) )
54 11 12 subnegd ( 𝐴 ∈ ℝ → ( 𝐴 − - 1 ) = ( 𝐴 + 1 ) )
55 54 oveq2d ( 𝐴 ∈ ℝ → ( 𝐴 − ( 𝐴 − - 1 ) ) = ( 𝐴 − ( 𝐴 + 1 ) ) )
56 21 recnd ( 𝐴 ∈ ℝ → - 1 ∈ ℂ )
57 11 56 nncand ( 𝐴 ∈ ℝ → ( 𝐴 − ( 𝐴 − - 1 ) ) = - 1 )
58 55 57 eqtr3d ( 𝐴 ∈ ℝ → ( 𝐴 − ( 𝐴 + 1 ) ) = - 1 )
59 58 fveq2d ( 𝐴 ∈ ℝ → ( abs ‘ ( 𝐴 − ( 𝐴 + 1 ) ) ) = ( abs ‘ - 1 ) )
60 12 absnegd ( 𝐴 ∈ ℝ → ( abs ‘ - 1 ) = ( abs ‘ 1 ) )
61 59 60 eqtrd ( 𝐴 ∈ ℝ → ( abs ‘ ( 𝐴 − ( 𝐴 + 1 ) ) ) = ( abs ‘ 1 ) )
62 53 61 neeq12d ( 𝐴 ∈ ℝ → ( ( abs ‘ ( 𝐴 − ( 𝐴 − 1 ) ) ) ≠ ( abs ‘ ( 𝐴 − ( 𝐴 + 1 ) ) ) ↔ ( abs ‘ 1 ) ≠ ( abs ‘ 1 ) ) )
63 51 62 mtbiri ( 𝐴 ∈ ℝ → ¬ ( abs ‘ ( 𝐴 − ( 𝐴 − 1 ) ) ) ≠ ( abs ‘ ( 𝐴 − ( 𝐴 + 1 ) ) ) )
64 63 ad2antrr ( ( ( 𝐴 ∈ ℝ ∧ ∀ 𝑞 ∈ ℚ ∀ 𝑟 ∈ ℚ ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) ) ∧ 𝐴 ∈ ℚ ) → ¬ ( abs ‘ ( 𝐴 − ( 𝐴 − 1 ) ) ) ≠ ( abs ‘ ( 𝐴 − ( 𝐴 + 1 ) ) ) )
65 50 64 pm2.65da ( ( 𝐴 ∈ ℝ ∧ ∀ 𝑞 ∈ ℚ ∀ 𝑟 ∈ ℚ ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) ) → ¬ 𝐴 ∈ ℚ )
66 8 65 impbida ( 𝐴 ∈ ℝ → ( ¬ 𝐴 ∈ ℚ ↔ ∀ 𝑞 ∈ ℚ ∀ 𝑟 ∈ ℚ ( 𝑞𝑟 → ( abs ‘ ( 𝐴𝑞 ) ) ≠ ( abs ‘ ( 𝐴𝑟 ) ) ) ) )