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