Proof of Theorem nnnn0modprm0
| Step | Hyp | Ref
| Expression |
| 1 | | prmnn 16712 |
. . . . . 6
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℕ) |
| 2 | 1 | adantr 480 |
. . . . 5
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → 𝑃 ∈ ℕ) |
| 3 | | fzo0sn0fzo1 13795 |
. . . . 5
⊢ (𝑃 ∈ ℕ →
(0..^𝑃) = ({0} ∪
(1..^𝑃))) |
| 4 | 2, 3 | syl 17 |
. . . 4
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → (0..^𝑃) = ({0} ∪ (1..^𝑃))) |
| 5 | 4 | eleq2d 2826 |
. . 3
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → (𝐼 ∈ (0..^𝑃) ↔ 𝐼 ∈ ({0} ∪ (1..^𝑃)))) |
| 6 | | elun 4152 |
. . . . 5
⊢ (𝐼 ∈ ({0} ∪ (1..^𝑃)) ↔ (𝐼 ∈ {0} ∨ 𝐼 ∈ (1..^𝑃))) |
| 7 | | elsni 4642 |
. . . . . . 7
⊢ (𝐼 ∈ {0} → 𝐼 = 0) |
| 8 | | lbfzo0 13740 |
. . . . . . . . . . . 12
⊢ (0 ∈
(0..^𝑃) ↔ 𝑃 ∈
ℕ) |
| 9 | 1, 8 | sylibr 234 |
. . . . . . . . . . 11
⊢ (𝑃 ∈ ℙ → 0 ∈
(0..^𝑃)) |
| 10 | | elfzoelz 13700 |
. . . . . . . . . . . . . . 15
⊢ (𝑁 ∈ (1..^𝑃) → 𝑁 ∈ ℤ) |
| 11 | | zcn 12620 |
. . . . . . . . . . . . . . 15
⊢ (𝑁 ∈ ℤ → 𝑁 ∈
ℂ) |
| 12 | | mul02 11440 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑁 ∈ ℂ → (0
· 𝑁) =
0) |
| 13 | 12 | oveq2d 7448 |
. . . . . . . . . . . . . . . 16
⊢ (𝑁 ∈ ℂ → (0 + (0
· 𝑁)) = (0 +
0)) |
| 14 | | 00id 11437 |
. . . . . . . . . . . . . . . 16
⊢ (0 + 0) =
0 |
| 15 | 13, 14 | eqtrdi 2792 |
. . . . . . . . . . . . . . 15
⊢ (𝑁 ∈ ℂ → (0 + (0
· 𝑁)) =
0) |
| 16 | 10, 11, 15 | 3syl 18 |
. . . . . . . . . . . . . 14
⊢ (𝑁 ∈ (1..^𝑃) → (0 + (0 · 𝑁)) = 0) |
| 17 | 16 | adantl 481 |
. . . . . . . . . . . . 13
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → (0 + (0 · 𝑁)) = 0) |
| 18 | 17 | oveq1d 7447 |
. . . . . . . . . . . 12
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → ((0 + (0 · 𝑁)) mod 𝑃) = (0 mod 𝑃)) |
| 19 | | nnrp 13047 |
. . . . . . . . . . . . . 14
⊢ (𝑃 ∈ ℕ → 𝑃 ∈
ℝ+) |
| 20 | | 0mod 13943 |
. . . . . . . . . . . . . 14
⊢ (𝑃 ∈ ℝ+
→ (0 mod 𝑃) =
0) |
| 21 | 1, 19, 20 | 3syl 18 |
. . . . . . . . . . . . 13
⊢ (𝑃 ∈ ℙ → (0 mod
𝑃) = 0) |
| 22 | 21 | adantr 480 |
. . . . . . . . . . . 12
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → (0 mod 𝑃) = 0) |
| 23 | 18, 22 | eqtrd 2776 |
. . . . . . . . . . 11
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → ((0 + (0 · 𝑁)) mod 𝑃) = 0) |
| 24 | | oveq1 7439 |
. . . . . . . . . . . . . . 15
⊢ (𝑗 = 0 → (𝑗 · 𝑁) = (0 · 𝑁)) |
| 25 | 24 | oveq2d 7448 |
. . . . . . . . . . . . . 14
⊢ (𝑗 = 0 → (0 + (𝑗 · 𝑁)) = (0 + (0 · 𝑁))) |
| 26 | 25 | oveq1d 7447 |
. . . . . . . . . . . . 13
⊢ (𝑗 = 0 → ((0 + (𝑗 · 𝑁)) mod 𝑃) = ((0 + (0 · 𝑁)) mod 𝑃)) |
| 27 | 26 | eqeq1d 2738 |
. . . . . . . . . . . 12
⊢ (𝑗 = 0 → (((0 + (𝑗 · 𝑁)) mod 𝑃) = 0 ↔ ((0 + (0 · 𝑁)) mod 𝑃) = 0)) |
| 28 | 27 | rspcev 3621 |
. . . . . . . . . . 11
⊢ ((0
∈ (0..^𝑃) ∧ ((0 +
(0 · 𝑁)) mod 𝑃) = 0) → ∃𝑗 ∈ (0..^𝑃)((0 + (𝑗 · 𝑁)) mod 𝑃) = 0) |
| 29 | 9, 23, 28 | syl2an2r 685 |
. . . . . . . . . 10
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((0 + (𝑗 · 𝑁)) mod 𝑃) = 0) |
| 30 | 29 | adantl 481 |
. . . . . . . . 9
⊢ ((𝐼 = 0 ∧ (𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃))) → ∃𝑗 ∈ (0..^𝑃)((0 + (𝑗 · 𝑁)) mod 𝑃) = 0) |
| 31 | | oveq1 7439 |
. . . . . . . . . . . . 13
⊢ (𝐼 = 0 → (𝐼 + (𝑗 · 𝑁)) = (0 + (𝑗 · 𝑁))) |
| 32 | 31 | oveq1d 7447 |
. . . . . . . . . . . 12
⊢ (𝐼 = 0 → ((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = ((0 + (𝑗 · 𝑁)) mod 𝑃)) |
| 33 | 32 | eqeq1d 2738 |
. . . . . . . . . . 11
⊢ (𝐼 = 0 → (((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0 ↔ ((0 + (𝑗 · 𝑁)) mod 𝑃) = 0)) |
| 34 | 33 | adantr 480 |
. . . . . . . . . 10
⊢ ((𝐼 = 0 ∧ (𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃))) → (((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0 ↔ ((0 + (𝑗 · 𝑁)) mod 𝑃) = 0)) |
| 35 | 34 | rexbidv 3178 |
. . . . . . . . 9
⊢ ((𝐼 = 0 ∧ (𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃))) → (∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0 ↔ ∃𝑗 ∈ (0..^𝑃)((0 + (𝑗 · 𝑁)) mod 𝑃) = 0)) |
| 36 | 30, 35 | mpbird 257 |
. . . . . . . 8
⊢ ((𝐼 = 0 ∧ (𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃))) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0) |
| 37 | 36 | ex 412 |
. . . . . . 7
⊢ (𝐼 = 0 → ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0)) |
| 38 | 7, 37 | syl 17 |
. . . . . 6
⊢ (𝐼 ∈ {0} → ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0)) |
| 39 | | simpl 482 |
. . . . . . . . 9
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → 𝑃 ∈ ℙ) |
| 40 | 39 | adantl 481 |
. . . . . . . 8
⊢ ((𝐼 ∈ (1..^𝑃) ∧ (𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃))) → 𝑃 ∈ ℙ) |
| 41 | | simprr 772 |
. . . . . . . 8
⊢ ((𝐼 ∈ (1..^𝑃) ∧ (𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃))) → 𝑁 ∈ (1..^𝑃)) |
| 42 | | simpl 482 |
. . . . . . . 8
⊢ ((𝐼 ∈ (1..^𝑃) ∧ (𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃))) → 𝐼 ∈ (1..^𝑃)) |
| 43 | | modprm0 16844 |
. . . . . . . 8
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃) ∧ 𝐼 ∈ (1..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0) |
| 44 | 40, 41, 42, 43 | syl3anc 1372 |
. . . . . . 7
⊢ ((𝐼 ∈ (1..^𝑃) ∧ (𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃))) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0) |
| 45 | 44 | ex 412 |
. . . . . 6
⊢ (𝐼 ∈ (1..^𝑃) → ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0)) |
| 46 | 38, 45 | jaoi 857 |
. . . . 5
⊢ ((𝐼 ∈ {0} ∨ 𝐼 ∈ (1..^𝑃)) → ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0)) |
| 47 | 6, 46 | sylbi 217 |
. . . 4
⊢ (𝐼 ∈ ({0} ∪ (1..^𝑃)) → ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0)) |
| 48 | 47 | com12 32 |
. . 3
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → (𝐼 ∈ ({0} ∪ (1..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0)) |
| 49 | 5, 48 | sylbid 240 |
. 2
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃)) → (𝐼 ∈ (0..^𝑃) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0)) |
| 50 | 49 | 3impia 1117 |
1
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ (1..^𝑃) ∧ 𝐼 ∈ (0..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0) |