Metamath Proof Explorer


Theorem qaddcl

Description: Closure of addition of rationals. (Contributed by NM, 1-Aug-2004)

Ref Expression
Assertion qaddcl ( ( 𝐴 ∈ ℚ ∧ 𝐵 ∈ ℚ ) → ( 𝐴 + 𝐵 ) ∈ ℚ )

Proof

Step Hyp Ref Expression
1 elq ⊢ ( 𝐴 ∈ ℚ ↔ ∃ 𝑥 ∈ ℤ ∃ 𝑦 ∈ ℕ 𝐴 = ( 𝑥 / 𝑦 ) )
2 elq ⊢ ( 𝐵 ∈ ℚ ↔ ∃ 𝑧 ∈ ℤ ∃ 𝑤 ∈ ℕ 𝐵 = ( 𝑧 / 𝑤 ) )
3 nnz ⊢ ( 𝑤 ∈ ℕ → 𝑤 ∈ ℤ )
4 zmulcl ⊢ ( ( 𝑥 ∈ ℤ ∧ 𝑤 ∈ ℤ ) → ( 𝑥 · 𝑤 ) ∈ ℤ )
5 3 4 sylan2 ⊢ ( ( 𝑥 ∈ ℤ ∧ 𝑤 ∈ ℕ ) → ( 𝑥 · 𝑤 ) ∈ ℤ )
6 5 ad2ant2rl ⊢ ( ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ ) ∧ ( 𝑧 ∈ ℤ ∧ 𝑤 ∈ ℕ ) ) → ( 𝑥 · 𝑤 ) ∈ ℤ )
7 simpl ⊢ ( ( 𝑧 ∈ ℤ ∧ 𝑤 ∈ ℕ ) → 𝑧 ∈ ℤ )
8 nnz ⊢ ( 𝑦 ∈ ℕ → 𝑦 ∈ ℤ )
9 8 adantl ⊢ ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ ) → 𝑦 ∈ ℤ )
10 zmulcl ⊢ ( ( 𝑧 ∈ ℤ ∧ 𝑦 ∈ ℤ ) → ( 𝑧 · 𝑦 ) ∈ ℤ )
11 7 9 10 syl2anr ⊢ ( ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ ) ∧ ( 𝑧 ∈ ℤ ∧ 𝑤 ∈ ℕ ) ) → ( 𝑧 · 𝑦 ) ∈ ℤ )
12 6 11 zaddcld ⊢ ( ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ ) ∧ ( 𝑧 ∈ ℤ ∧ 𝑤 ∈ ℕ ) ) → ( ( 𝑥 · 𝑤 ) + ( 𝑧 · 𝑦 ) ) ∈ ℤ )
13 12 adantr ⊢ ( ( ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ ) ∧ ( 𝑧 ∈ ℤ ∧ 𝑤 ∈ ℕ ) ) ∧ ( 𝐴 = ( 𝑥 / 𝑦 ) ∧ 𝐵 = ( 𝑧 / 𝑤 ) ) ) → ( ( 𝑥 · 𝑤 ) + ( 𝑧 · 𝑦 ) ) ∈ ℤ )
14 nnmulcl ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑤 ∈ ℕ ) → ( 𝑦 · 𝑤 ) ∈ ℕ )
15 14 ad2ant2l ⊢ ( ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ ) ∧ ( 𝑧 ∈ ℤ ∧ 𝑤 ∈ ℕ ) ) → ( 𝑦 · 𝑤 ) ∈ ℕ )
16 15 adantr ⊢ ( ( ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ ) ∧ ( 𝑧 ∈ ℤ ∧ 𝑤 ∈ ℕ ) ) ∧ ( 𝐴 = ( 𝑥 / 𝑦 ) ∧ 𝐵 = ( 𝑧 / 𝑤 ) ) ) → ( 𝑦 · 𝑤 ) ∈ ℕ )
17 oveq12 ⊢ ( ( 𝐴 = ( 𝑥 / 𝑦 ) ∧ 𝐵 = ( 𝑧 / 𝑤 ) ) → ( 𝐴 + 𝐵 ) = ( ( 𝑥 / 𝑦 ) + ( 𝑧 / 𝑤 ) ) )
18 zcn ⊢ ( 𝑥 ∈ ℤ → 𝑥 ∈ ℂ )
19 zcn ⊢ ( 𝑧 ∈ ℤ → 𝑧 ∈ ℂ )
20 18 19 anim12i ⊢ ( ( 𝑥 ∈ ℤ ∧ 𝑧 ∈ ℤ ) → ( 𝑥 ∈ ℂ ∧ 𝑧 ∈ ℂ ) )
21 nncn ⊢ ( 𝑦 ∈ ℕ → 𝑦 ∈ ℂ )
22 nnne0 ⊢ ( 𝑦 ∈ ℕ → 𝑦 ≠ 0 )
23 21 22 jca ⊢ ( 𝑦 ∈ ℕ → ( 𝑦 ∈ ℂ ∧ 𝑦 ≠ 0 ) )
24 nncn ⊢ ( 𝑤 ∈ ℕ → 𝑤 ∈ ℂ )
25 nnne0 ⊢ ( 𝑤 ∈ ℕ → 𝑤 ≠ 0 )
26 24 25 jca ⊢ ( 𝑤 ∈ ℕ → ( 𝑤 ∈ ℂ ∧ 𝑤 ≠ 0 ) )
27 23 26 anim12i ⊢ ( ( 𝑦 ∈ ℕ ∧ 𝑤 ∈ ℕ ) → ( ( 𝑦 ∈ ℂ ∧ 𝑦 ≠ 0 ) ∧ ( 𝑤 ∈ ℂ ∧ 𝑤 ≠ 0 ) ) )
28 divadddiv ⊢ ( ( ( 𝑥 ∈ ℂ ∧ 𝑧 ∈ ℂ ) ∧ ( ( 𝑦 ∈ ℂ ∧ 𝑦 ≠ 0 ) ∧ ( 𝑤 ∈ ℂ ∧ 𝑤 ≠ 0 ) ) ) → ( ( 𝑥 / 𝑦 ) + ( 𝑧 / 𝑤 ) ) = ( ( ( 𝑥 · 𝑤 ) + ( 𝑧 · 𝑦 ) ) / ( 𝑦 · 𝑤 ) ) )
29 20 27 28 syl2an ⊢ ( ( ( 𝑥 ∈ ℤ ∧ 𝑧 ∈ ℤ ) ∧ ( 𝑦 ∈ ℕ ∧ 𝑤 ∈ ℕ ) ) → ( ( 𝑥 / 𝑦 ) + ( 𝑧 / 𝑤 ) ) = ( ( ( 𝑥 · 𝑤 ) + ( 𝑧 · 𝑦 ) ) / ( 𝑦 · 𝑤 ) ) )
30 29 an4s ⊢ ( ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ ) ∧ ( 𝑧 ∈ ℤ ∧ 𝑤 ∈ ℕ ) ) → ( ( 𝑥 / 𝑦 ) + ( 𝑧 / 𝑤 ) ) = ( ( ( 𝑥 · 𝑤 ) + ( 𝑧 · 𝑦 ) ) / ( 𝑦 · 𝑤 ) ) )
31 17 30 sylan9eqr ⊢ ( ( ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ ) ∧ ( 𝑧 ∈ ℤ ∧ 𝑤 ∈ ℕ ) ) ∧ ( 𝐴 = ( 𝑥 / 𝑦 ) ∧ 𝐵 = ( 𝑧 / 𝑤 ) ) ) → ( 𝐴 + 𝐵 ) = ( ( ( 𝑥 · 𝑤 ) + ( 𝑧 · 𝑦 ) ) / ( 𝑦 · 𝑤 ) ) )
32 rspceov ⊢ ( ( ( ( 𝑥 · 𝑤 ) + ( 𝑧 · 𝑦 ) ) ∈ ℤ ∧ ( 𝑦 · 𝑤 ) ∈ ℕ ∧ ( 𝐴 + 𝐵 ) = ( ( ( 𝑥 · 𝑤 ) + ( 𝑧 · 𝑦 ) ) / ( 𝑦 · 𝑤 ) ) ) → ∃ 𝑢 ∈ ℤ ∃ 𝑣 ∈ ℕ ( 𝐴 + 𝐵 ) = ( 𝑢 / 𝑣 ) )
33 elq ⊢ ( ( 𝐴 + 𝐵 ) ∈ ℚ ↔ ∃ 𝑢 ∈ ℤ ∃ 𝑣 ∈ ℕ ( 𝐴 + 𝐵 ) = ( 𝑢 / 𝑣 ) )
34 32 33 sylibr ⊢ ( ( ( ( 𝑥 · 𝑤 ) + ( 𝑧 · 𝑦 ) ) ∈ ℤ ∧ ( 𝑦 · 𝑤 ) ∈ ℕ ∧ ( 𝐴 + 𝐵 ) = ( ( ( 𝑥 · 𝑤 ) + ( 𝑧 · 𝑦 ) ) / ( 𝑦 · 𝑤 ) ) ) → ( 𝐴 + 𝐵 ) ∈ ℚ )
35 13 16 31 34 syl3anc ⊢ ( ( ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ ) ∧ ( 𝑧 ∈ ℤ ∧ 𝑤 ∈ ℕ ) ) ∧ ( 𝐴 = ( 𝑥 / 𝑦 ) ∧ 𝐵 = ( 𝑧 / 𝑤 ) ) ) → ( 𝐴 + 𝐵 ) ∈ ℚ )
36 35 an4s ⊢ ( ( ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ ) ∧ 𝐴 = ( 𝑥 / 𝑦 ) ) ∧ ( ( 𝑧 ∈ ℤ ∧ 𝑤 ∈ ℕ ) ∧ 𝐵 = ( 𝑧 / 𝑤 ) ) ) → ( 𝐴 + 𝐵 ) ∈ ℚ )
37 36 exp43 ⊢ ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℕ ) → ( 𝐴 = ( 𝑥 / 𝑦 ) → ( ( 𝑧 ∈ ℤ ∧ 𝑤 ∈ ℕ ) → ( 𝐵 = ( 𝑧 / 𝑤 ) → ( 𝐴 + 𝐵 ) ∈ ℚ ) ) ) )
38 37 rexlimivv ⊢ ( ∃ 𝑥 ∈ ℤ ∃ 𝑦 ∈ ℕ 𝐴 = ( 𝑥 / 𝑦 ) → ( ( 𝑧 ∈ ℤ ∧ 𝑤 ∈ ℕ ) → ( 𝐵 = ( 𝑧 / 𝑤 ) → ( 𝐴 + 𝐵 ) ∈ ℚ ) ) )
39 38 rexlimdvv ⊢ ( ∃ 𝑥 ∈ ℤ ∃ 𝑦 ∈ ℕ 𝐴 = ( 𝑥 / 𝑦 ) → ( ∃ 𝑧 ∈ ℤ ∃ 𝑤 ∈ ℕ 𝐵 = ( 𝑧 / 𝑤 ) → ( 𝐴 + 𝐵 ) ∈ ℚ ) )
40 39 imp ⊢ ( ( ∃ 𝑥 ∈ ℤ ∃ 𝑦 ∈ ℕ 𝐴 = ( 𝑥 / 𝑦 ) ∧ ∃ 𝑧 ∈ ℤ ∃ 𝑤 ∈ ℕ 𝐵 = ( 𝑧 / 𝑤 ) ) → ( 𝐴 + 𝐵 ) ∈ ℚ )
41 1 2 40 syl2anb ⊢ ( ( 𝐴 ∈ ℚ ∧ 𝐵 ∈ ℚ ) → ( 𝐴 + 𝐵 ) ∈ ℚ )