Metamath Proof Explorer


Theorem moddvds

Description: Two ways to say A == B (mod N ), see also definition in ApostolNT p. 106. (Contributed by Mario Carneiro, 18-Feb-2014)

Ref Expression
Assertion moddvds ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A mod N = B mod N ↔ N ∥ A − B

Proof

Step Hyp Ref Expression
1 nnrp ⊢ N ∈ ℕ → N ∈ ℝ +
2 1 adantr ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → N ∈ ℝ +
3 0mod ⊢ N ∈ ℝ + → 0 mod N = 0
4 2 3 syl ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → 0 mod N = 0
5 4 eqeq2d ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A − B mod N = 0 mod N ↔ A − B mod N = 0
6 zre ⊢ A ∈ ℤ → A ∈ ℝ
7 6 ad2antrl ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A ∈ ℝ
8 zre ⊢ B ∈ ℤ → B ∈ ℝ
9 8 ad2antll ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → B ∈ ℝ
10 9 renegcld ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → − B ∈ ℝ
11 modadd1 ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ − B ∈ ℝ ∧ N ∈ ℝ + ∧ A mod N = B mod N → A + − B mod N = B + − B mod N
12 11 3expia ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ − B ∈ ℝ ∧ N ∈ ℝ + → A mod N = B mod N → A + − B mod N = B + − B mod N
13 7 9 10 2 12 syl22anc ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A mod N = B mod N → A + − B mod N = B + − B mod N
14 7 recnd ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A ∈ ℂ
15 9 recnd ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → B ∈ ℂ
16 14 15 negsubd ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A + − B = A − B
17 16 oveq1d ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A + − B mod N = A − B mod N
18 15 negidd ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → B + − B = 0
19 18 oveq1d ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → B + − B mod N = 0 mod N
20 17 19 eqeq12d ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A + − B mod N = B + − B mod N ↔ A − B mod N = 0 mod N
21 13 20 sylibd ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A mod N = B mod N → A − B mod N = 0 mod N
22 7 9 resubcld ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A − B ∈ ℝ
23 0red ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → 0 ∈ ℝ
24 modadd1 ⊢ A − B ∈ ℝ ∧ 0 ∈ ℝ ∧ B ∈ ℝ ∧ N ∈ ℝ + ∧ A − B mod N = 0 mod N → A - B + B mod N = 0 + B mod N
25 24 3expia ⊢ A − B ∈ ℝ ∧ 0 ∈ ℝ ∧ B ∈ ℝ ∧ N ∈ ℝ + → A − B mod N = 0 mod N → A - B + B mod N = 0 + B mod N
26 22 23 9 2 25 syl22anc ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A − B mod N = 0 mod N → A - B + B mod N = 0 + B mod N
27 14 15 npcand ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A - B + B = A
28 27 oveq1d ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A - B + B mod N = A mod N
29 15 addlidd ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → 0 + B = B
30 29 oveq1d ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → 0 + B mod N = B mod N
31 28 30 eqeq12d ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A - B + B mod N = 0 + B mod N ↔ A mod N = B mod N
32 26 31 sylibd ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A − B mod N = 0 mod N → A mod N = B mod N
33 21 32 impbid ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A mod N = B mod N ↔ A − B mod N = 0 mod N
34 zsubcl ⊢ A ∈ ℤ ∧ B ∈ ℤ → A − B ∈ ℤ
35 dvdsval3 ⊢ N ∈ ℕ ∧ A − B ∈ ℤ → N ∥ A − B ↔ A − B mod N = 0
36 34 35 sylan2 ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → N ∥ A − B ↔ A − B mod N = 0
37 5 33 36 3bitr4d ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A mod N = B mod N ↔ N ∥ A − B
38 37 3impb ⊢ N ∈ ℕ ∧ A ∈ ℤ ∧ B ∈ ℤ → A mod N = B mod N ↔ N ∥ A − B