Metamath Proof Explorer


Theorem dvdsval2

Description: One nonzero integer divides another integer if and only if their quotient is an integer. (Contributed by Jeff Hankins, 29-Sep-2013)

Ref Expression
Assertion dvdsval2 ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ → M ∥ N ↔ N M ∈ ℤ

Proof

Step Hyp Ref Expression
1 divides ⊢ M ∈ ℤ ∧ N ∈ ℤ → M ∥ N ↔ ∃ k ∈ ℤ k ⋅ M = N
2 1 3adant2 ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ → M ∥ N ↔ ∃ k ∈ ℤ k ⋅ M = N
3 zcn ⊢ N ∈ ℤ → N ∈ ℂ
4 3 3ad2ant3 ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ → N ∈ ℂ
5 4 adantr ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ ∧ k ∈ ℤ → N ∈ ℂ
6 zcn ⊢ k ∈ ℤ → k ∈ ℂ
7 6 adantl ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ ∧ k ∈ ℤ → k ∈ ℂ
8 zcn ⊢ M ∈ ℤ → M ∈ ℂ
9 8 3ad2ant1 ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ → M ∈ ℂ
10 9 adantr ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ ∧ k ∈ ℤ → M ∈ ℂ
11 simpl2 ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ ∧ k ∈ ℤ → M ≠ 0
12 5 7 10 11 divmul3d ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ ∧ k ∈ ℤ → N M = k ↔ N = k ⋅ M
13 eqcom ⊢ N = k ⋅ M ↔ k ⋅ M = N
14 12 13 bitrdi ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ ∧ k ∈ ℤ → N M = k ↔ k ⋅ M = N
15 14 biimprd ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ ∧ k ∈ ℤ → k ⋅ M = N → N M = k
16 15 impr ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ ∧ k ∈ ℤ ∧ k ⋅ M = N → N M = k
17 simprl ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ ∧ k ∈ ℤ ∧ k ⋅ M = N → k ∈ ℤ
18 16 17 eqeltrd ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ ∧ k ∈ ℤ ∧ k ⋅ M = N → N M ∈ ℤ
19 18 rexlimdvaa ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ → ∃ k ∈ ℤ k ⋅ M = N → N M ∈ ℤ
20 simpr ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ ∧ N M ∈ ℤ → N M ∈ ℤ
21 simp2 ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ → M ≠ 0
22 4 9 21 divcan1d ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ → N M ⋅ M = N
23 22 adantr ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ ∧ N M ∈ ℤ → N M ⋅ M = N
24 oveq1 ⊢ k = N M → k ⋅ M = N M ⋅ M
25 24 eqeq1d ⊢ k = N M → k ⋅ M = N ↔ N M ⋅ M = N
26 25 rspcev ⊢ N M ∈ ℤ ∧ N M ⋅ M = N → ∃ k ∈ ℤ k ⋅ M = N
27 20 23 26 syl2anc ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ ∧ N M ∈ ℤ → ∃ k ∈ ℤ k ⋅ M = N
28 27 ex ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ → N M ∈ ℤ → ∃ k ∈ ℤ k ⋅ M = N
29 19 28 impbid ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ → ∃ k ∈ ℤ k ⋅ M = N ↔ N M ∈ ℤ
30 2 29 bitrd ⊢ M ∈ ℤ ∧ M ≠ 0 ∧ N ∈ ℤ → M ∥ N ↔ N M ∈ ℤ