Metamath Proof Explorer


Theorem qdiff

Description: The rationals are exactly those reals for which there exist two distinct rationals that are the same distance from the original number. Similar to irrdiff but here proved with a proof which would also work in constructive mathematics. From an online post by Ingo Blechschmidt. For a proof using irrdiff , see qdiffALT . (Contributed by Jim Kingdon, 24-Apr-2026)

Ref Expression
Assertion qdiff ⊢ A ∈ ℝ → A ∈ ℚ ↔ ∃ q ∈ ℚ ∃ r ∈ ℚ q ≠ r ∧ A − q = A − r

Proof

Step Hyp Ref Expression
1 neeq1 ⊢ q = A − 1 → q ≠ r ↔ A − 1 ≠ r
2 oveq2 ⊢ q = A − 1 → A − q = A − A − 1
3 2 fveqeq2d ⊢ q = A − 1 → A − q = A − r ↔ A − A − 1 = A − r
4 1 3 anbi12d ⊢ q = A − 1 → q ≠ r ∧ A − q = A − r ↔ A − 1 ≠ r ∧ A − A − 1 = A − r
5 4 rexbidv ⊢ q = A − 1 → ∃ r ∈ ℚ q ≠ r ∧ A − q = A − r ↔ ∃ r ∈ ℚ A − 1 ≠ r ∧ A − A − 1 = A − r
6 1z ⊢ 1 ∈ ℤ
7 zq ⊢ 1 ∈ ℤ → 1 ∈ ℚ
8 6 7 ax-mp ⊢ 1 ∈ ℚ
9 qsubcl ⊢ A ∈ ℚ ∧ 1 ∈ ℚ → A − 1 ∈ ℚ
10 8 9 mpan2 ⊢ A ∈ ℚ → A − 1 ∈ ℚ
11 qaddcl ⊢ A ∈ ℚ ∧ 1 ∈ ℚ → A + 1 ∈ ℚ
12 8 11 mpan2 ⊢ A ∈ ℚ → A + 1 ∈ ℚ
13 qre ⊢ A ∈ ℚ → A ∈ ℝ
14 1rp ⊢ 1 ∈ ℝ +
15 14 14 pm3.2i ⊢ 1 ∈ ℝ + ∧ 1 ∈ ℝ +
16 rpaddcl ⊢ 1 ∈ ℝ + ∧ 1 ∈ ℝ + → 1 + 1 ∈ ℝ +
17 15 16 mp1i ⊢ A ∈ ℚ → 1 + 1 ∈ ℝ +
18 13 17 ltaddrpd ⊢ A ∈ ℚ → A < A + 1 + 1
19 13 18 ltned ⊢ A ∈ ℚ → A ≠ A + 1 + 1
20 19 neneqd ⊢ A ∈ ℚ → ¬ A = A + 1 + 1
21 20 neqcomd ⊢ A ∈ ℚ → ¬ A + 1 + 1 = A
22 qcn ⊢ A ∈ ℚ → A ∈ ℂ
23 1cnd ⊢ A ∈ ℚ → 1 ∈ ℂ
24 22 23 23 addassd ⊢ A ∈ ℚ → A + 1 + 1 = A + 1 + 1
25 24 eqeq1d ⊢ A ∈ ℚ → A + 1 + 1 = A ↔ A + 1 + 1 = A
26 21 25 mtbird ⊢ A ∈ ℚ → ¬ A + 1 + 1 = A
27 22 23 addcld ⊢ A ∈ ℚ → A + 1 ∈ ℂ
28 22 23 27 subadd2d ⊢ A ∈ ℚ → A − 1 = A + 1 ↔ A + 1 + 1 = A
29 26 28 mtbird ⊢ A ∈ ℚ → ¬ A − 1 = A + 1
30 29 neqned ⊢ A ∈ ℚ → A − 1 ≠ A + 1
31 23 absnegd ⊢ A ∈ ℚ → − 1 = 1
32 22 22 23 subsub4d ⊢ A ∈ ℚ → A - A - 1 = A − A + 1
33 22 subidd ⊢ A ∈ ℚ → A − A = 0
34 33 oveq1d ⊢ A ∈ ℚ → A - A - 1 = 0 − 1
35 df-neg ⊢ − 1 = 0 − 1
36 34 35 eqtr4di ⊢ A ∈ ℚ → A - A - 1 = − 1
37 32 36 eqtr3d ⊢ A ∈ ℚ → A − A + 1 = − 1
38 37 fveq2d ⊢ A ∈ ℚ → A − A + 1 = − 1
39 22 23 nncand ⊢ A ∈ ℚ → A − A − 1 = 1
40 39 fveq2d ⊢ A ∈ ℚ → A − A − 1 = 1
41 31 38 40 3eqtr4rd ⊢ A ∈ ℚ → A − A − 1 = A − A + 1
42 neeq2 ⊢ r = A + 1 → A − 1 ≠ r ↔ A − 1 ≠ A + 1
43 oveq2 ⊢ r = A + 1 → A − r = A − A + 1
44 43 fveq2d ⊢ r = A + 1 → A − r = A − A + 1
45 44 eqeq2d ⊢ r = A + 1 → A − A − 1 = A − r ↔ A − A − 1 = A − A + 1
46 42 45 anbi12d ⊢ r = A + 1 → A − 1 ≠ r ∧ A − A − 1 = A − r ↔ A − 1 ≠ A + 1 ∧ A − A − 1 = A − A + 1
47 46 rspcev ⊢ A + 1 ∈ ℚ ∧ A − 1 ≠ A + 1 ∧ A − A − 1 = A − A + 1 → ∃ r ∈ ℚ A − 1 ≠ r ∧ A − A − 1 = A − r
48 12 30 41 47 syl12anc ⊢ A ∈ ℚ → ∃ r ∈ ℚ A − 1 ≠ r ∧ A − A − 1 = A − r
49 5 10 48 rspcedvdw ⊢ A ∈ ℚ → ∃ q ∈ ℚ ∃ r ∈ ℚ q ≠ r ∧ A − q = A − r
50 2cnd ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → 2 ∈ ℂ
51 simpll ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A ∈ ℝ
52 51 recnd ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A ∈ ℂ
53 simplrl ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q ∈ ℚ
54 53 qred ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q ∈ ℝ
55 54 recnd ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q ∈ ℂ
56 52 55 mulcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A ⁢ q ∈ ℂ
57 simplrr ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → r ∈ ℚ
58 57 qred ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → r ∈ ℝ
59 58 recnd ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → r ∈ ℂ
60 52 59 mulcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A ⁢ r ∈ ℂ
61 50 56 60 subdid ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → 2 ⁢ A ⁢ q − A ⁢ r = 2 ⁢ A ⁢ q − 2 ⁢ A ⁢ r
62 52 sqcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A 2 ∈ ℂ
63 50 60 mulcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → 2 ⁢ A ⁢ r ∈ ℂ
64 50 56 mulcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → 2 ⁢ A ⁢ q ∈ ℂ
65 62 63 64 nnncan1d ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A 2 - 2 ⁢ A ⁢ r - A 2 − 2 ⁢ A ⁢ q = 2 ⁢ A ⁢ q − 2 ⁢ A ⁢ r
66 simprr ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A − q = A − r
67 51 54 resubcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A − q ∈ ℝ
68 51 58 resubcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A − r ∈ ℝ
69 sqabs ⊢ A − q ∈ ℝ ∧ A − r ∈ ℝ → A − q 2 = A − r 2 ↔ A − q = A − r
70 67 68 69 syl2anc ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A − q 2 = A − r 2 ↔ A − q = A − r
71 66 70 mpbird ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A − q 2 = A − r 2
72 binom2sub ⊢ A ∈ ℂ ∧ q ∈ ℂ → A − q 2 = A 2 - 2 ⁢ A ⁢ q + q 2
73 52 55 72 syl2anc ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A − q 2 = A 2 - 2 ⁢ A ⁢ q + q 2
74 binom2sub ⊢ A ∈ ℂ ∧ r ∈ ℂ → A − r 2 = A 2 - 2 ⁢ A ⁢ r + r 2
75 52 59 74 syl2anc ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A − r 2 = A 2 - 2 ⁢ A ⁢ r + r 2
76 71 73 75 3eqtr3d ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A 2 - 2 ⁢ A ⁢ q + q 2 = A 2 - 2 ⁢ A ⁢ r + r 2
77 62 64 subcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A 2 − 2 ⁢ A ⁢ q ∈ ℂ
78 55 sqcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q 2 ∈ ℂ
79 62 63 subcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A 2 − 2 ⁢ A ⁢ r ∈ ℂ
80 59 sqcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → r 2 ∈ ℂ
81 77 78 79 80 addsubeq4d ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A 2 - 2 ⁢ A ⁢ q + q 2 = A 2 - 2 ⁢ A ⁢ r + r 2 ↔ A 2 - 2 ⁢ A ⁢ r - A 2 − 2 ⁢ A ⁢ q = q 2 − r 2
82 76 81 mpbid ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A 2 - 2 ⁢ A ⁢ r - A 2 − 2 ⁢ A ⁢ q = q 2 − r 2
83 61 65 82 3eqtr2d ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → 2 ⁢ A ⁢ q − A ⁢ r = q 2 − r 2
84 78 80 subcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q 2 − r 2 ∈ ℂ
85 56 60 subcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A ⁢ q − A ⁢ r ∈ ℂ
86 2ne0 ⊢ 2 ≠ 0
87 86 a1i ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → 2 ≠ 0
88 84 50 85 87 divmuld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q 2 − r 2 2 = A ⁢ q − A ⁢ r ↔ 2 ⁢ A ⁢ q − A ⁢ r = q 2 − r 2
89 83 88 mpbird ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q 2 − r 2 2 = A ⁢ q − A ⁢ r
90 52 55 59 subdid ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A ⁢ q − r = A ⁢ q − A ⁢ r
91 89 90 eqtr4d ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q 2 − r 2 2 = A ⁢ q − r
92 84 halfcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q 2 − r 2 2 ∈ ℂ
93 55 59 subcld ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q − r ∈ ℂ
94 simprl ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q ≠ r
95 55 59 94 subne0d ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q − r ≠ 0
96 92 52 93 95 divmul3d ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q 2 − r 2 2 q − r = A ↔ q 2 − r 2 2 = A ⁢ q − r
97 91 96 mpbird ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q 2 − r 2 2 q − r = A
98 qsqcl ⊢ q ∈ ℚ → q 2 ∈ ℚ
99 53 98 syl ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q 2 ∈ ℚ
100 qsqcl ⊢ r ∈ ℚ → r 2 ∈ ℚ
101 57 100 syl ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → r 2 ∈ ℚ
102 qsubcl ⊢ q 2 ∈ ℚ ∧ r 2 ∈ ℚ → q 2 − r 2 ∈ ℚ
103 99 101 102 syl2anc ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q 2 − r 2 ∈ ℚ
104 2z ⊢ 2 ∈ ℤ
105 zq ⊢ 2 ∈ ℤ → 2 ∈ ℚ
106 104 105 mp1i ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → 2 ∈ ℚ
107 qdivcl ⊢ q 2 − r 2 ∈ ℚ ∧ 2 ∈ ℚ ∧ 2 ≠ 0 → q 2 − r 2 2 ∈ ℚ
108 103 106 87 107 syl3anc ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q 2 − r 2 2 ∈ ℚ
109 qsubcl ⊢ q ∈ ℚ ∧ r ∈ ℚ → q − r ∈ ℚ
110 53 57 109 syl2anc ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q − r ∈ ℚ
111 qdivcl ⊢ q 2 − r 2 2 ∈ ℚ ∧ q − r ∈ ℚ ∧ q − r ≠ 0 → q 2 − r 2 2 q − r ∈ ℚ
112 108 110 95 111 syl3anc ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → q 2 − r 2 2 q − r ∈ ℚ
113 97 112 eqeltrrd ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ ∧ q ≠ r ∧ A − q = A − r → A ∈ ℚ
114 113 ex ⊢ A ∈ ℝ ∧ q ∈ ℚ ∧ r ∈ ℚ → q ≠ r ∧ A − q = A − r → A ∈ ℚ
115 114 rexlimdvva ⊢ A ∈ ℝ → ∃ q ∈ ℚ ∃ r ∈ ℚ q ≠ r ∧ A − q = A − r → A ∈ ℚ
116 49 115 impbid2 ⊢ A ∈ ℝ → A ∈ ℚ ↔ ∃ q ∈ ℚ ∃ r ∈ ℚ q ≠ r ∧ A − q = A − r