Metamath Proof Explorer


Theorem dvdsmulcr

Description: Cancellation law for the divides relation. (Contributed by Paul Chapman, 21-Mar-2011)

Ref Expression
Assertion dvdsmulcr ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) → ( ( 𝑀 · 𝐾 ) ∥ ( 𝑁 · 𝐾 ) ↔ 𝑀 ∥ 𝑁 ) )

Proof

Step Hyp Ref Expression
1 zmulcl ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝐾 ∈ ℤ ) → ( 𝑀 · 𝐾 ) ∈ ℤ )
2 1 3adant2 ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝐾 ∈ ℤ ) → ( 𝑀 · 𝐾 ) ∈ ℤ )
3 zmulcl ⊢ ( ( 𝑁 ∈ ℤ ∧ 𝐾 ∈ ℤ ) → ( 𝑁 · 𝐾 ) ∈ ℤ )
4 3 3adant1 ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝐾 ∈ ℤ ) → ( 𝑁 · 𝐾 ) ∈ ℤ )
5 2 4 jca ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝐾 ∈ ℤ ) → ( ( 𝑀 · 𝐾 ) ∈ ℤ ∧ ( 𝑁 · 𝐾 ) ∈ ℤ ) )
6 5 3adant3r ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) → ( ( 𝑀 · 𝐾 ) ∈ ℤ ∧ ( 𝑁 · 𝐾 ) ∈ ℤ ) )
7 3simpa ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) → ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) )
8 simpr ⊢ ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) ∧ 𝑥 ∈ ℤ ) → 𝑥 ∈ ℤ )
9 zcn ⊢ ( 𝑥 ∈ ℤ → 𝑥 ∈ ℂ )
10 zcn ⊢ ( 𝑀 ∈ ℤ → 𝑀 ∈ ℂ )
11 9 10 anim12i ⊢ ( ( 𝑥 ∈ ℤ ∧ 𝑀 ∈ ℤ ) → ( 𝑥 ∈ ℂ ∧ 𝑀 ∈ ℂ ) )
12 zcn ⊢ ( 𝑁 ∈ ℤ → 𝑁 ∈ ℂ )
13 zcn ⊢ ( 𝐾 ∈ ℤ → 𝐾 ∈ ℂ )
14 13 anim1i ⊢ ( ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) → ( 𝐾 ∈ ℂ ∧ 𝐾 ≠ 0 ) )
15 mulass ⊢ ( ( 𝑥 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝐾 ∈ ℂ ) → ( ( 𝑥 · 𝑀 ) · 𝐾 ) = ( 𝑥 · ( 𝑀 · 𝐾 ) ) )
16 15 3expa ⊢ ( ( ( 𝑥 ∈ ℂ ∧ 𝑀 ∈ ℂ ) ∧ 𝐾 ∈ ℂ ) → ( ( 𝑥 · 𝑀 ) · 𝐾 ) = ( 𝑥 · ( 𝑀 · 𝐾 ) ) )
17 16 adantrr ⊢ ( ( ( 𝑥 ∈ ℂ ∧ 𝑀 ∈ ℂ ) ∧ ( 𝐾 ∈ ℂ ∧ 𝐾 ≠ 0 ) ) → ( ( 𝑥 · 𝑀 ) · 𝐾 ) = ( 𝑥 · ( 𝑀 · 𝐾 ) ) )
18 17 3adant2 ⊢ ( ( ( 𝑥 ∈ ℂ ∧ 𝑀 ∈ ℂ ) ∧ 𝑁 ∈ ℂ ∧ ( 𝐾 ∈ ℂ ∧ 𝐾 ≠ 0 ) ) → ( ( 𝑥 · 𝑀 ) · 𝐾 ) = ( 𝑥 · ( 𝑀 · 𝐾 ) ) )
19 18 eqeq1d ⊢ ( ( ( 𝑥 ∈ ℂ ∧ 𝑀 ∈ ℂ ) ∧ 𝑁 ∈ ℂ ∧ ( 𝐾 ∈ ℂ ∧ 𝐾 ≠ 0 ) ) → ( ( ( 𝑥 · 𝑀 ) · 𝐾 ) = ( 𝑁 · 𝐾 ) ↔ ( 𝑥 · ( 𝑀 · 𝐾 ) ) = ( 𝑁 · 𝐾 ) ) )
20 mulcl ⊢ ( ( 𝑥 ∈ ℂ ∧ 𝑀 ∈ ℂ ) → ( 𝑥 · 𝑀 ) ∈ ℂ )
21 mulcan2 ⊢ ( ( ( 𝑥 · 𝑀 ) ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ ( 𝐾 ∈ ℂ ∧ 𝐾 ≠ 0 ) ) → ( ( ( 𝑥 · 𝑀 ) · 𝐾 ) = ( 𝑁 · 𝐾 ) ↔ ( 𝑥 · 𝑀 ) = 𝑁 ) )
22 20 21 syl3an1 ⊢ ( ( ( 𝑥 ∈ ℂ ∧ 𝑀 ∈ ℂ ) ∧ 𝑁 ∈ ℂ ∧ ( 𝐾 ∈ ℂ ∧ 𝐾 ≠ 0 ) ) → ( ( ( 𝑥 · 𝑀 ) · 𝐾 ) = ( 𝑁 · 𝐾 ) ↔ ( 𝑥 · 𝑀 ) = 𝑁 ) )
23 19 22 bitr3d ⊢ ( ( ( 𝑥 ∈ ℂ ∧ 𝑀 ∈ ℂ ) ∧ 𝑁 ∈ ℂ ∧ ( 𝐾 ∈ ℂ ∧ 𝐾 ≠ 0 ) ) → ( ( 𝑥 · ( 𝑀 · 𝐾 ) ) = ( 𝑁 · 𝐾 ) ↔ ( 𝑥 · 𝑀 ) = 𝑁 ) )
24 11 12 14 23 syl3an ⊢ ( ( ( 𝑥 ∈ ℤ ∧ 𝑀 ∈ ℤ ) ∧ 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) → ( ( 𝑥 · ( 𝑀 · 𝐾 ) ) = ( 𝑁 · 𝐾 ) ↔ ( 𝑥 · 𝑀 ) = 𝑁 ) )
25 24 3expb ⊢ ( ( ( 𝑥 ∈ ℤ ∧ 𝑀 ∈ ℤ ) ∧ ( 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) ) → ( ( 𝑥 · ( 𝑀 · 𝐾 ) ) = ( 𝑁 · 𝐾 ) ↔ ( 𝑥 · 𝑀 ) = 𝑁 ) )
26 25 3impa ⊢ ( ( 𝑥 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ ( 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) ) → ( ( 𝑥 · ( 𝑀 · 𝐾 ) ) = ( 𝑁 · 𝐾 ) ↔ ( 𝑥 · 𝑀 ) = 𝑁 ) )
27 26 3coml ⊢ ( ( 𝑀 ∈ ℤ ∧ ( 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) ∧ 𝑥 ∈ ℤ ) → ( ( 𝑥 · ( 𝑀 · 𝐾 ) ) = ( 𝑁 · 𝐾 ) ↔ ( 𝑥 · 𝑀 ) = 𝑁 ) )
28 27 3expia ⊢ ( ( 𝑀 ∈ ℤ ∧ ( 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) ) → ( 𝑥 ∈ ℤ → ( ( 𝑥 · ( 𝑀 · 𝐾 ) ) = ( 𝑁 · 𝐾 ) ↔ ( 𝑥 · 𝑀 ) = 𝑁 ) ) )
29 28 3impb ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) → ( 𝑥 ∈ ℤ → ( ( 𝑥 · ( 𝑀 · 𝐾 ) ) = ( 𝑁 · 𝐾 ) ↔ ( 𝑥 · 𝑀 ) = 𝑁 ) ) )
30 29 imp ⊢ ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) ∧ 𝑥 ∈ ℤ ) → ( ( 𝑥 · ( 𝑀 · 𝐾 ) ) = ( 𝑁 · 𝐾 ) ↔ ( 𝑥 · 𝑀 ) = 𝑁 ) )
31 30 biimpd ⊢ ( ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) ∧ 𝑥 ∈ ℤ ) → ( ( 𝑥 · ( 𝑀 · 𝐾 ) ) = ( 𝑁 · 𝐾 ) → ( 𝑥 · 𝑀 ) = 𝑁 ) )
32 6 7 8 31 dvds1lem ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) → ( ( 𝑀 · 𝐾 ) ∥ ( 𝑁 · 𝐾 ) → 𝑀 ∥ 𝑁 ) )
33 dvdsmulc ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ 𝐾 ∈ ℤ ) → ( 𝑀 ∥ 𝑁 → ( 𝑀 · 𝐾 ) ∥ ( 𝑁 · 𝐾 ) ) )
34 33 3adant3r ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) → ( 𝑀 ∥ 𝑁 → ( 𝑀 · 𝐾 ) ∥ ( 𝑁 · 𝐾 ) ) )
35 32 34 impbid ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ ( 𝐾 ∈ ℤ ∧ 𝐾 ≠ 0 ) ) → ( ( 𝑀 · 𝐾 ) ∥ ( 𝑁 · 𝐾 ) ↔ 𝑀 ∥ 𝑁 ) )