Metamath Proof Explorer


Theorem zdiv

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

Ref Expression
Assertion zdiv ⊢ M ∈ ℕ ∧ N ∈ ℤ → ∃ k ∈ ℤ M ⁢ k = N ↔ N M ∈ ℤ

Proof

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