Metamath Proof Explorer


Theorem modlt0b

Description: An integer with an absolute value less than a positive integer is 0 modulo the positive integer iff it is 0. (Contributed by AV, 21-Nov-2025)

Ref Expression
Assertion modlt0b ⊢ N ∈ ℕ ∧ X ∈ ℤ ∧ X < N → X mod N = 0 ↔ X = 0

Proof

Step Hyp Ref Expression
1 pm3.22 ⊢ N ∈ ℕ ∧ X ∈ ℤ → X ∈ ℤ ∧ N ∈ ℕ
2 1 3adant3 ⊢ N ∈ ℕ ∧ X ∈ ℤ ∧ X < N → X ∈ ℤ ∧ N ∈ ℕ
3 mod0mul ⊢ X ∈ ℤ ∧ N ∈ ℕ → X mod N = 0 → ∃ z ∈ ℤ X = z ⋅ N
4 2 3 syl ⊢ N ∈ ℕ ∧ X ∈ ℤ ∧ X < N → X mod N = 0 → ∃ z ∈ ℤ X = z ⋅ N
5 simpr ⊢ N ∈ ℕ ∧ X ∈ ℤ ∧ X < N ∧ z ∈ ℤ ∧ X = z ⋅ N → X = z ⋅ N
6 fveq2 ⊢ X = z ⋅ N → X = z ⋅ N
7 6 adantl ⊢ N ∈ ℕ ∧ z ∈ ℤ ∧ X = z ⋅ N → X = z ⋅ N
8 7 breq1d ⊢ N ∈ ℕ ∧ z ∈ ℤ ∧ X = z ⋅ N → X < N ↔ z ⋅ N < N
9 zcn ⊢ z ∈ ℤ → z ∈ ℂ
10 nncn ⊢ N ∈ ℕ → N ∈ ℂ
11 absmul ⊢ z ∈ ℂ ∧ N ∈ ℂ → z ⋅ N = z ⁢ N
12 9 10 11 syl2anr ⊢ N ∈ ℕ ∧ z ∈ ℤ → z ⋅ N = z ⁢ N
13 nnre ⊢ N ∈ ℕ → N ∈ ℝ
14 nnnn0 ⊢ N ∈ ℕ → N ∈ ℕ 0
15 14 nn0ge0d ⊢ N ∈ ℕ → 0 ≤ N
16 13 15 absidd ⊢ N ∈ ℕ → N = N
17 16 adantr ⊢ N ∈ ℕ ∧ z ∈ ℤ → N = N
18 17 oveq2d ⊢ N ∈ ℕ ∧ z ∈ ℤ → z ⁢ N = z ⋅ N
19 12 18 eqtrd ⊢ N ∈ ℕ ∧ z ∈ ℤ → z ⋅ N = z ⋅ N
20 19 breq1d ⊢ N ∈ ℕ ∧ z ∈ ℤ → z ⋅ N < N ↔ z ⋅ N < N
21 9 abscld ⊢ z ∈ ℤ → z ∈ ℝ
22 21 adantl ⊢ N ∈ ℕ ∧ z ∈ ℤ → z ∈ ℝ
23 13 adantr ⊢ N ∈ ℕ ∧ z ∈ ℤ → N ∈ ℝ
24 nngt0 ⊢ N ∈ ℕ → 0 < N
25 13 24 jca ⊢ N ∈ ℕ → N ∈ ℝ ∧ 0 < N
26 25 adantr ⊢ N ∈ ℕ ∧ z ∈ ℤ → N ∈ ℝ ∧ 0 < N
27 ltmuldiv ⊢ z ∈ ℝ ∧ N ∈ ℝ ∧ N ∈ ℝ ∧ 0 < N → z ⋅ N < N ↔ z < N N
28 22 23 26 27 syl3anc ⊢ N ∈ ℕ ∧ z ∈ ℤ → z ⋅ N < N ↔ z < N N
29 nnne0 ⊢ N ∈ ℕ → N ≠ 0
30 10 29 dividd ⊢ N ∈ ℕ → N N = 1
31 30 adantr ⊢ N ∈ ℕ ∧ z ∈ ℤ → N N = 1
32 31 breq2d ⊢ N ∈ ℕ ∧ z ∈ ℤ → z < N N ↔ z < 1
33 28 32 bitrd ⊢ N ∈ ℕ ∧ z ∈ ℤ → z ⋅ N < N ↔ z < 1
34 zabs0b ⊢ z ∈ ℤ → z < 1 ↔ z = 0
35 34 adantl ⊢ N ∈ ℕ ∧ z ∈ ℤ → z < 1 ↔ z = 0
36 oveq1 ⊢ z = 0 → z ⋅ N = 0 ⋅ N
37 10 mul02d ⊢ N ∈ ℕ → 0 ⋅ N = 0
38 36 37 sylan9eqr ⊢ N ∈ ℕ ∧ z = 0 → z ⋅ N = 0
39 38 ex ⊢ N ∈ ℕ → z = 0 → z ⋅ N = 0
40 39 adantr ⊢ N ∈ ℕ ∧ z ∈ ℤ → z = 0 → z ⋅ N = 0
41 35 40 sylbid ⊢ N ∈ ℕ ∧ z ∈ ℤ → z < 1 → z ⋅ N = 0
42 33 41 sylbid ⊢ N ∈ ℕ ∧ z ∈ ℤ → z ⋅ N < N → z ⋅ N = 0
43 20 42 sylbid ⊢ N ∈ ℕ ∧ z ∈ ℤ → z ⋅ N < N → z ⋅ N = 0
44 43 adantr ⊢ N ∈ ℕ ∧ z ∈ ℤ ∧ X = z ⋅ N → z ⋅ N < N → z ⋅ N = 0
45 8 44 sylbid ⊢ N ∈ ℕ ∧ z ∈ ℤ ∧ X = z ⋅ N → X < N → z ⋅ N = 0
46 45 expl ⊢ N ∈ ℕ → z ∈ ℤ ∧ X = z ⋅ N → X < N → z ⋅ N = 0
47 46 adantr ⊢ N ∈ ℕ ∧ X ∈ ℤ → z ∈ ℤ ∧ X = z ⋅ N → X < N → z ⋅ N = 0
48 47 com23 ⊢ N ∈ ℕ ∧ X ∈ ℤ → X < N → z ∈ ℤ ∧ X = z ⋅ N → z ⋅ N = 0
49 48 3impia ⊢ N ∈ ℕ ∧ X ∈ ℤ ∧ X < N → z ∈ ℤ ∧ X = z ⋅ N → z ⋅ N = 0
50 49 impl ⊢ N ∈ ℕ ∧ X ∈ ℤ ∧ X < N ∧ z ∈ ℤ ∧ X = z ⋅ N → z ⋅ N = 0
51 5 50 eqtrd ⊢ N ∈ ℕ ∧ X ∈ ℤ ∧ X < N ∧ z ∈ ℤ ∧ X = z ⋅ N → X = 0
52 51 ex ⊢ N ∈ ℕ ∧ X ∈ ℤ ∧ X < N ∧ z ∈ ℤ → X = z ⋅ N → X = 0
53 52 rexlimdva ⊢ N ∈ ℕ ∧ X ∈ ℤ ∧ X < N → ∃ z ∈ ℤ X = z ⋅ N → X = 0
54 4 53 syld ⊢ N ∈ ℕ ∧ X ∈ ℤ ∧ X < N → X mod N = 0 → X = 0
55 oveq1 ⊢ X = 0 → X mod N = 0 mod N
56 nnrp ⊢ N ∈ ℕ → N ∈ ℝ +
57 0mod ⊢ N ∈ ℝ + → 0 mod N = 0
58 56 57 syl ⊢ N ∈ ℕ → 0 mod N = 0
59 58 3ad2ant1 ⊢ N ∈ ℕ ∧ X ∈ ℤ ∧ X < N → 0 mod N = 0
60 55 59 sylan9eqr ⊢ N ∈ ℕ ∧ X ∈ ℤ ∧ X < N ∧ X = 0 → X mod N = 0
61 60 ex ⊢ N ∈ ℕ ∧ X ∈ ℤ ∧ X < N → X = 0 → X mod N = 0
62 54 61 impbid ⊢ N ∈ ℕ ∧ X ∈ ℤ ∧ X < N → X mod N = 0 ↔ X = 0