Metamath Proof Explorer


Theorem elq2

Description: Elementhood in the rational numbers, providing the canonical representation. (Contributed by Thierry Arnoux, 9-Nov-2025)

Ref Expression
Assertion elq2 ( 𝑄 ∈ ℚ → ∃ 𝑝 ∈ ℤ ∃ 𝑞 ∈ ℕ ( 𝑄 = ( 𝑝 / 𝑞 ) ∧ ( 𝑝 gcd 𝑞 ) = 1 ) )

Proof

Step Hyp Ref Expression
1 oveq1 ⊢ ( 𝑝 = ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) → ( 𝑝 / 𝑞 ) = ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) / 𝑞 ) )
2 1 eqeq2d ⊢ ( 𝑝 = ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) → ( 𝑄 = ( 𝑝 / 𝑞 ) ↔ 𝑄 = ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) / 𝑞 ) ) )
3 oveq1 ⊢ ( 𝑝 = ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) → ( 𝑝 gcd 𝑞 ) = ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) gcd 𝑞 ) )
4 3 eqeq1d ⊢ ( 𝑝 = ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) → ( ( 𝑝 gcd 𝑞 ) = 1 ↔ ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) gcd 𝑞 ) = 1 ) )
5 2 4 anbi12d ⊢ ( 𝑝 = ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) → ( ( 𝑄 = ( 𝑝 / 𝑞 ) ∧ ( 𝑝 gcd 𝑞 ) = 1 ) ↔ ( 𝑄 = ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) / 𝑞 ) ∧ ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) gcd 𝑞 ) = 1 ) ) )
6 oveq2 ⊢ ( 𝑞 = ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) → ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) / 𝑞 ) = ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) / ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) ) )
7 6 eqeq2d ⊢ ( 𝑞 = ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) → ( 𝑄 = ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) / 𝑞 ) ↔ 𝑄 = ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) / ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) ) ) )
8 oveq2 ⊢ ( 𝑞 = ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) → ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) gcd 𝑞 ) = ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) gcd ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) ) )
9 8 eqeq1d ⊢ ( 𝑞 = ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) → ( ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) gcd 𝑞 ) = 1 ↔ ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) gcd ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) ) = 1 ) )
10 7 9 anbi12d ⊢ ( 𝑞 = ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) → ( ( 𝑄 = ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) / 𝑞 ) ∧ ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) gcd 𝑞 ) = 1 ) ↔ ( 𝑄 = ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) / ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) ) ∧ ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) gcd ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) ) = 1 ) ) )
11 simpllr ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → 𝑥 ∈ ℤ )
12 simplr ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → 𝑦 ∈ ℕ )
13 12 nnzd ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → 𝑦 ∈ ℤ )
14 12 nnne0d ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → 𝑦 ≠ 0 )
15 divgcdz ⊢ ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ∧ 𝑦 ≠ 0 ) → ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) ∈ ℤ )
16 11 13 14 15 syl3anc ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) ∈ ℤ )
17 divgcdnnr ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑥 ∈ ℤ ) → ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) ∈ ℕ )
18 12 11 17 syl2anc ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) ∈ ℕ )
19 simpr ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → 𝑄 = ( 𝑥 / 𝑦 ) )
20 11 zcnd ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → 𝑥 ∈ ℂ )
21 12 nncnd ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → 𝑦 ∈ ℂ )
22 11 13 gcdcld ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → ( 𝑥 gcd 𝑦 ) ∈ ℕ0 )
23 22 nn0cnd ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → ( 𝑥 gcd 𝑦 ) ∈ ℂ )
24 14 neneqd ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → ¬ 𝑦 = 0 )
25 24 intnand ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → ¬ ( 𝑥 = 0 ∧ 𝑦 = 0 ) )
26 gcdeq0 ⊢ ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) → ( ( 𝑥 gcd 𝑦 ) = 0 ↔ ( 𝑥 = 0 ∧ 𝑦 = 0 ) ) )
27 26 necon3abid ⊢ ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) → ( ( 𝑥 gcd 𝑦 ) ≠ 0 ↔ ¬ ( 𝑥 = 0 ∧ 𝑦 = 0 ) ) )
28 27 biimpar ⊢ ( ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) ∧ ¬ ( 𝑥 = 0 ∧ 𝑦 = 0 ) ) → ( 𝑥 gcd 𝑦 ) ≠ 0 )
29 11 13 25 28 syl21anc ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → ( 𝑥 gcd 𝑦 ) ≠ 0 )
30 20 21 23 14 29 divcan7d ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) / ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) ) = ( 𝑥 / 𝑦 ) )
31 19 30 eqtr4d ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → 𝑄 = ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) / ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) ) )
32 divgcdcoprm0 ⊢ ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ∧ 𝑦 ≠ 0 ) → ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) gcd ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) ) = 1 )
33 11 13 14 32 syl3anc ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) gcd ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) ) = 1 )
34 31 33 jca ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → ( 𝑄 = ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) / ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) ) ∧ ( ( 𝑥 / ( 𝑥 gcd 𝑦 ) ) gcd ( 𝑦 / ( 𝑥 gcd 𝑦 ) ) ) = 1 ) )
35 5 10 16 18 34 2rspcedvdw ⊢ ( ( ( ( 𝑄 ∈ ℚ ∧ 𝑥 ∈ ℤ ) ∧ 𝑦 ∈ ℕ ) ∧ 𝑄 = ( 𝑥 / 𝑦 ) ) → ∃ 𝑝 ∈ ℤ ∃ 𝑞 ∈ ℕ ( 𝑄 = ( 𝑝 / 𝑞 ) ∧ ( 𝑝 gcd 𝑞 ) = 1 ) )
36 elq ⊢ ( 𝑄 ∈ ℚ ↔ ∃ 𝑥 ∈ ℤ ∃ 𝑦 ∈ ℕ 𝑄 = ( 𝑥 / 𝑦 ) )
37 36 biimpi ⊢ ( 𝑄 ∈ ℚ → ∃ 𝑥 ∈ ℤ ∃ 𝑦 ∈ ℕ 𝑄 = ( 𝑥 / 𝑦 ) )
38 35 37 r19.29vva ⊢ ( 𝑄 ∈ ℚ → ∃ 𝑝 ∈ ℤ ∃ 𝑞 ∈ ℕ ( 𝑄 = ( 𝑝 / 𝑞 ) ∧ ( 𝑝 gcd 𝑞 ) = 1 ) )