Metamath Proof Explorer


Theorem dvdssub2

Description: If an integer divides a difference, then it divides one term iff it divides the other. (Contributed by Mario Carneiro, 13-Jul-2014)

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

Proof

Step Hyp Ref Expression
1 zsubcl ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( 𝑀𝑁 ) ∈ ℤ )
2 1 3adant1 ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( 𝑀𝑁 ) ∈ ℤ )
3 dvds2sub ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ ( 𝑀𝑁 ) ∈ ℤ ) → ( ( 𝐾𝑀𝐾 ∥ ( 𝑀𝑁 ) ) → 𝐾 ∥ ( 𝑀 − ( 𝑀𝑁 ) ) ) )
4 2 3 syld3an3 ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( ( 𝐾𝑀𝐾 ∥ ( 𝑀𝑁 ) ) → 𝐾 ∥ ( 𝑀 − ( 𝑀𝑁 ) ) ) )
5 4 ancomsd ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( ( 𝐾 ∥ ( 𝑀𝑁 ) ∧ 𝐾𝑀 ) → 𝐾 ∥ ( 𝑀 − ( 𝑀𝑁 ) ) ) )
6 5 imp ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾 ∥ ( 𝑀𝑁 ) ∧ 𝐾𝑀 ) ) → 𝐾 ∥ ( 𝑀 − ( 𝑀𝑁 ) ) )
7 zcn ( 𝑀 ∈ ℤ → 𝑀 ∈ ℂ )
8 zcn ( 𝑁 ∈ ℤ → 𝑁 ∈ ℂ )
9 nncan ( ( 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ ) → ( 𝑀 − ( 𝑀𝑁 ) ) = 𝑁 )
10 7 8 9 syl2an ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( 𝑀 − ( 𝑀𝑁 ) ) = 𝑁 )
11 10 3adant1 ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( 𝑀 − ( 𝑀𝑁 ) ) = 𝑁 )
12 11 adantr ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾 ∥ ( 𝑀𝑁 ) ∧ 𝐾𝑀 ) ) → ( 𝑀 − ( 𝑀𝑁 ) ) = 𝑁 )
13 6 12 breqtrd ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾 ∥ ( 𝑀𝑁 ) ∧ 𝐾𝑀 ) ) → 𝐾𝑁 )
14 13 expr ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ 𝐾 ∥ ( 𝑀𝑁 ) ) → ( 𝐾𝑀𝐾𝑁 ) )
15 dvds2add ( ( 𝐾 ∈ ℤ ∧ ( 𝑀𝑁 ) ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( ( 𝐾 ∥ ( 𝑀𝑁 ) ∧ 𝐾𝑁 ) → 𝐾 ∥ ( ( 𝑀𝑁 ) + 𝑁 ) ) )
16 2 15 syld3an2 ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( ( 𝐾 ∥ ( 𝑀𝑁 ) ∧ 𝐾𝑁 ) → 𝐾 ∥ ( ( 𝑀𝑁 ) + 𝑁 ) ) )
17 16 imp ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾 ∥ ( 𝑀𝑁 ) ∧ 𝐾𝑁 ) ) → 𝐾 ∥ ( ( 𝑀𝑁 ) + 𝑁 ) )
18 npcan ( ( 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ ) → ( ( 𝑀𝑁 ) + 𝑁 ) = 𝑀 )
19 7 8 18 syl2an ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( ( 𝑀𝑁 ) + 𝑁 ) = 𝑀 )
20 19 3adant1 ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( ( 𝑀𝑁 ) + 𝑁 ) = 𝑀 )
21 20 adantr ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾 ∥ ( 𝑀𝑁 ) ∧ 𝐾𝑁 ) ) → ( ( 𝑀𝑁 ) + 𝑁 ) = 𝑀 )
22 17 21 breqtrd ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ( 𝐾 ∥ ( 𝑀𝑁 ) ∧ 𝐾𝑁 ) ) → 𝐾𝑀 )
23 22 expr ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ 𝐾 ∥ ( 𝑀𝑁 ) ) → ( 𝐾𝑁𝐾𝑀 ) )
24 14 23 impbid ( ( ( 𝐾 ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ 𝐾 ∥ ( 𝑀𝑁 ) ) → ( 𝐾𝑀𝐾𝑁 ) )