Metamath Proof Explorer


Theorem zdiv

Description: Two ways to express " M divides N . (Contributed by NM, 3-Oct-2008)

Ref Expression
Assertion zdiv ( ( 𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ ) → ( ∃ 𝑘 ∈ ℤ ( 𝑀 · 𝑘 ) = 𝑁 ↔ ( 𝑁 / 𝑀 ) ∈ ℤ ) )

Proof

Step Hyp Ref Expression
1 nnne0 ( 𝑀 ∈ ℕ → 𝑀 ≠ 0 )
2 1 adantr ( ( 𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ ) → 𝑀 ≠ 0 )
3 nncn ( 𝑀 ∈ ℕ → 𝑀 ∈ ℂ )
4 zcn ( 𝑁 ∈ ℤ → 𝑁 ∈ ℂ )
5 zcn ( 𝑘 ∈ ℤ → 𝑘 ∈ ℂ )
6 divcan3 ( ( 𝑘 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝑀 ≠ 0 ) → ( ( 𝑀 · 𝑘 ) / 𝑀 ) = 𝑘 )
7 6 3coml ( ( 𝑀 ∈ ℂ ∧ 𝑀 ≠ 0 ∧ 𝑘 ∈ ℂ ) → ( ( 𝑀 · 𝑘 ) / 𝑀 ) = 𝑘 )
8 7 3expa ( ( ( 𝑀 ∈ ℂ ∧ 𝑀 ≠ 0 ) ∧ 𝑘 ∈ ℂ ) → ( ( 𝑀 · 𝑘 ) / 𝑀 ) = 𝑘 )
9 5 8 sylan2 ( ( ( 𝑀 ∈ ℂ ∧ 𝑀 ≠ 0 ) ∧ 𝑘 ∈ ℤ ) → ( ( 𝑀 · 𝑘 ) / 𝑀 ) = 𝑘 )
10 9 3adantl2 ( ( ( 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝑀 ≠ 0 ) ∧ 𝑘 ∈ ℤ ) → ( ( 𝑀 · 𝑘 ) / 𝑀 ) = 𝑘 )
11 oveq1 ( ( 𝑀 · 𝑘 ) = 𝑁 → ( ( 𝑀 · 𝑘 ) / 𝑀 ) = ( 𝑁 / 𝑀 ) )
12 10 11 sylan9req ( ( ( ( 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝑀 ≠ 0 ) ∧ 𝑘 ∈ ℤ ) ∧ ( 𝑀 · 𝑘 ) = 𝑁 ) → 𝑘 = ( 𝑁 / 𝑀 ) )
13 simplr ( ( ( ( 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝑀 ≠ 0 ) ∧ 𝑘 ∈ ℤ ) ∧ ( 𝑀 · 𝑘 ) = 𝑁 ) → 𝑘 ∈ ℤ )
14 12 13 eqeltrrd ( ( ( ( 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝑀 ≠ 0 ) ∧ 𝑘 ∈ ℤ ) ∧ ( 𝑀 · 𝑘 ) = 𝑁 ) → ( 𝑁 / 𝑀 ) ∈ ℤ )
15 14 rexlimdva2 ( ( 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝑀 ≠ 0 ) → ( ∃ 𝑘 ∈ ℤ ( 𝑀 · 𝑘 ) = 𝑁 → ( 𝑁 / 𝑀 ) ∈ ℤ ) )
16 divcan2 ( ( 𝑁 ∈ ℂ ∧ 𝑀 ∈ ℂ ∧ 𝑀 ≠ 0 ) → ( 𝑀 · ( 𝑁 / 𝑀 ) ) = 𝑁 )
17 16 3com12 ( ( 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝑀 ≠ 0 ) → ( 𝑀 · ( 𝑁 / 𝑀 ) ) = 𝑁 )
18 oveq2 ( 𝑘 = ( 𝑁 / 𝑀 ) → ( 𝑀 · 𝑘 ) = ( 𝑀 · ( 𝑁 / 𝑀 ) ) )
19 18 eqeq1d ( 𝑘 = ( 𝑁 / 𝑀 ) → ( ( 𝑀 · 𝑘 ) = 𝑁 ↔ ( 𝑀 · ( 𝑁 / 𝑀 ) ) = 𝑁 ) )
20 19 rspcev ( ( ( 𝑁 / 𝑀 ) ∈ ℤ ∧ ( 𝑀 · ( 𝑁 / 𝑀 ) ) = 𝑁 ) → ∃ 𝑘 ∈ ℤ ( 𝑀 · 𝑘 ) = 𝑁 )
21 20 expcom ( ( 𝑀 · ( 𝑁 / 𝑀 ) ) = 𝑁 → ( ( 𝑁 / 𝑀 ) ∈ ℤ → ∃ 𝑘 ∈ ℤ ( 𝑀 · 𝑘 ) = 𝑁 ) )
22 17 21 syl ( ( 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝑀 ≠ 0 ) → ( ( 𝑁 / 𝑀 ) ∈ ℤ → ∃ 𝑘 ∈ ℤ ( 𝑀 · 𝑘 ) = 𝑁 ) )
23 15 22 impbid ( ( 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝑀 ≠ 0 ) → ( ∃ 𝑘 ∈ ℤ ( 𝑀 · 𝑘 ) = 𝑁 ↔ ( 𝑁 / 𝑀 ) ∈ ℤ ) )
24 23 3expia ( ( 𝑀 ∈ ℂ ∧ 𝑁 ∈ ℂ ) → ( 𝑀 ≠ 0 → ( ∃ 𝑘 ∈ ℤ ( 𝑀 · 𝑘 ) = 𝑁 ↔ ( 𝑁 / 𝑀 ) ∈ ℤ ) ) )
25 3 4 24 syl2an ( ( 𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ ) → ( 𝑀 ≠ 0 → ( ∃ 𝑘 ∈ ℤ ( 𝑀 · 𝑘 ) = 𝑁 ↔ ( 𝑁 / 𝑀 ) ∈ ℤ ) ) )
26 2 25 mpd ( ( 𝑀 ∈ ℕ ∧ 𝑁 ∈ ℤ ) → ( ∃ 𝑘 ∈ ℤ ( 𝑀 · 𝑘 ) = 𝑁 ↔ ( 𝑁 / 𝑀 ) ∈ ℤ ) )