Metamath Proof Explorer


Theorem dvdsgcd

Description: An integer which divides each of two others also divides their gcd. (Contributed by Paul Chapman, 22-Jun-2011) (Revised by Mario Carneiro, 30-May-2014)

Ref Expression
Assertion dvdsgcd ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( ( 𝐾𝑀𝐾𝑁 ) → 𝐾 ∥ ( 𝑀 gcd 𝑁 ) ) )

Proof

Step Hyp Ref Expression
1 bezout ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ∃ 𝑥 ∈ ℤ ∃ 𝑦 ∈ ℤ ( 𝑀 gcd 𝑁 ) = ( ( 𝑀 · 𝑥 ) + ( 𝑁 · 𝑦 ) ) )
2 1 3adant1 ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ∃ 𝑥 ∈ ℤ ∃ 𝑦 ∈ ℤ ( 𝑀 gcd 𝑁 ) = ( ( 𝑀 · 𝑥 ) + ( 𝑁 · 𝑦 ) ) )
3 dvds2ln ( ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) ∧ ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ) → ( ( 𝐾𝑀𝐾𝑁 ) → 𝐾 ∥ ( ( 𝑥 · 𝑀 ) + ( 𝑦 · 𝑁 ) ) ) )
4 3 3impia ( ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) ∧ ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾𝑀𝐾𝑁 ) ) → 𝐾 ∥ ( ( 𝑥 · 𝑀 ) + ( 𝑦 · 𝑁 ) ) )
5 4 3coml ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾𝑀𝐾𝑁 ) ∧ ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) ) → 𝐾 ∥ ( ( 𝑥 · 𝑀 ) + ( 𝑦 · 𝑁 ) ) )
6 simp3l ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾𝑀𝐾𝑁 ) ∧ ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) ) → 𝑥 ∈ ℤ )
7 simp12 ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾𝑀𝐾𝑁 ) ∧ ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) ) → 𝑀 ∈ ℤ )
8 zcn ( 𝑥 ∈ ℤ → 𝑥 ∈ ℂ )
9 zcn ( 𝑀 ∈ ℤ → 𝑀 ∈ ℂ )
10 mulcom ( ( 𝑥 ∈ ℂ ∧ 𝑀 ∈ ℂ ) → ( 𝑥 · 𝑀 ) = ( 𝑀 · 𝑥 ) )
11 8 9 10 syl2an ( ( 𝑥 ∈ ℤ ∧ 𝑀 ∈ ℤ ) → ( 𝑥 · 𝑀 ) = ( 𝑀 · 𝑥 ) )
12 6 7 11 syl2anc ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾𝑀𝐾𝑁 ) ∧ ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) ) → ( 𝑥 · 𝑀 ) = ( 𝑀 · 𝑥 ) )
13 simp3r ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾𝑀𝐾𝑁 ) ∧ ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) ) → 𝑦 ∈ ℤ )
14 simp13 ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾𝑀𝐾𝑁 ) ∧ ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) ) → 𝑁 ∈ ℤ )
15 zcn ( 𝑦 ∈ ℤ → 𝑦 ∈ ℂ )
16 zcn ( 𝑁 ∈ ℤ → 𝑁 ∈ ℂ )
17 mulcom ( ( 𝑦 ∈ ℂ ∧ 𝑁 ∈ ℂ ) → ( 𝑦 · 𝑁 ) = ( 𝑁 · 𝑦 ) )
18 15 16 17 syl2an ( ( 𝑦 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( 𝑦 · 𝑁 ) = ( 𝑁 · 𝑦 ) )
19 13 14 18 syl2anc ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾𝑀𝐾𝑁 ) ∧ ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) ) → ( 𝑦 · 𝑁 ) = ( 𝑁 · 𝑦 ) )
20 12 19 oveq12d ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾𝑀𝐾𝑁 ) ∧ ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) ) → ( ( 𝑥 · 𝑀 ) + ( 𝑦 · 𝑁 ) ) = ( ( 𝑀 · 𝑥 ) + ( 𝑁 · 𝑦 ) ) )
21 5 20 breqtrd ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾𝑀𝐾𝑁 ) ∧ ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) ) → 𝐾 ∥ ( ( 𝑀 · 𝑥 ) + ( 𝑁 · 𝑦 ) ) )
22 breq2 ( ( 𝑀 gcd 𝑁 ) = ( ( 𝑀 · 𝑥 ) + ( 𝑁 · 𝑦 ) ) → ( 𝐾 ∥ ( 𝑀 gcd 𝑁 ) ↔ 𝐾 ∥ ( ( 𝑀 · 𝑥 ) + ( 𝑁 · 𝑦 ) ) ) )
23 21 22 syl5ibrcom ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾𝑀𝐾𝑁 ) ∧ ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) ) → ( ( 𝑀 gcd 𝑁 ) = ( ( 𝑀 · 𝑥 ) + ( 𝑁 · 𝑦 ) ) → 𝐾 ∥ ( 𝑀 gcd 𝑁 ) ) )
24 23 3expia ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾𝑀𝐾𝑁 ) ) → ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) → ( ( 𝑀 gcd 𝑁 ) = ( ( 𝑀 · 𝑥 ) + ( 𝑁 · 𝑦 ) ) → 𝐾 ∥ ( 𝑀 gcd 𝑁 ) ) ) )
25 24 rexlimdvv ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾𝑀𝐾𝑁 ) ) → ( ∃ 𝑥 ∈ ℤ ∃ 𝑦 ∈ ℤ ( 𝑀 gcd 𝑁 ) = ( ( 𝑀 · 𝑥 ) + ( 𝑁 · 𝑦 ) ) → 𝐾 ∥ ( 𝑀 gcd 𝑁 ) ) )
26 25 ex ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( ( 𝐾𝑀𝐾𝑁 ) → ( ∃ 𝑥 ∈ ℤ ∃ 𝑦 ∈ ℤ ( 𝑀 gcd 𝑁 ) = ( ( 𝑀 · 𝑥 ) + ( 𝑁 · 𝑦 ) ) → 𝐾 ∥ ( 𝑀 gcd 𝑁 ) ) ) )
27 2 26 mpid ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( ( 𝐾𝑀𝐾𝑁 ) → 𝐾 ∥ ( 𝑀 gcd 𝑁 ) ) )