Metamath Proof Explorer


Theorem modremain

Description: The result of the modulo operation is the remainder of the division algorithm. (Contributed by AV, 19-Aug-2021)

Ref Expression
Assertion modremain ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D → N mod D = R ↔ ∃ z ∈ ℤ z ⁢ D + R = N

Proof

Step Hyp Ref Expression
1 eqcom ⊢ N mod D = R ↔ R = N mod D
2 divalgmodcl ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 → R = N mod D ↔ R < D ∧ D ∥ N − R
3 2 3adant3r ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D → R = N mod D ↔ R < D ∧ D ∥ N − R
4 ibar ⊢ R < D → D ∥ N − R ↔ R < D ∧ D ∥ N − R
5 4 adantl ⊢ R ∈ ℕ 0 ∧ R < D → D ∥ N − R ↔ R < D ∧ D ∥ N − R
6 5 3ad2ant3 ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D → D ∥ N − R ↔ R < D ∧ D ∥ N − R
7 nnz ⊢ D ∈ ℕ → D ∈ ℤ
8 7 3ad2ant2 ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D → D ∈ ℤ
9 simp1 ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D → N ∈ ℤ
10 nn0z ⊢ R ∈ ℕ 0 → R ∈ ℤ
11 10 adantr ⊢ R ∈ ℕ 0 ∧ R < D → R ∈ ℤ
12 11 3ad2ant3 ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D → R ∈ ℤ
13 9 12 zsubcld ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D → N − R ∈ ℤ
14 divides ⊢ D ∈ ℤ ∧ N − R ∈ ℤ → D ∥ N − R ↔ ∃ z ∈ ℤ z ⁢ D = N − R
15 8 13 14 syl2anc ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D → D ∥ N − R ↔ ∃ z ∈ ℤ z ⁢ D = N − R
16 eqcom ⊢ z ⁢ D = N − R ↔ N − R = z ⁢ D
17 zcn ⊢ N ∈ ℤ → N ∈ ℂ
18 17 3ad2ant1 ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D → N ∈ ℂ
19 18 adantr ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D ∧ z ∈ ℤ → N ∈ ℂ
20 nn0cn ⊢ R ∈ ℕ 0 → R ∈ ℂ
21 20 adantr ⊢ R ∈ ℕ 0 ∧ R < D → R ∈ ℂ
22 21 3ad2ant3 ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D → R ∈ ℂ
23 22 adantr ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D ∧ z ∈ ℤ → R ∈ ℂ
24 simpr ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D ∧ z ∈ ℤ → z ∈ ℤ
25 8 adantr ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D ∧ z ∈ ℤ → D ∈ ℤ
26 24 25 zmulcld ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D ∧ z ∈ ℤ → z ⁢ D ∈ ℤ
27 26 zcnd ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D ∧ z ∈ ℤ → z ⁢ D ∈ ℂ
28 19 23 27 subadd2d ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D ∧ z ∈ ℤ → N − R = z ⁢ D ↔ z ⁢ D + R = N
29 16 28 bitrid ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D ∧ z ∈ ℤ → z ⁢ D = N − R ↔ z ⁢ D + R = N
30 29 rexbidva ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D → ∃ z ∈ ℤ z ⁢ D = N − R ↔ ∃ z ∈ ℤ z ⁢ D + R = N
31 15 30 bitrd ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D → D ∥ N − R ↔ ∃ z ∈ ℤ z ⁢ D + R = N
32 3 6 31 3bitr2d ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D → R = N mod D ↔ ∃ z ∈ ℤ z ⁢ D + R = N
33 1 32 bitrid ⊢ N ∈ ℤ ∧ D ∈ ℕ ∧ R ∈ ℕ 0 ∧ R < D → N mod D = R ↔ ∃ z ∈ ℤ z ⁢ D + R = N