Proof of Theorem modprmn0modprm0
| Step | Hyp | Ref
| Expression |
| 1 | | simpl1 1002 |
. . . 4
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → 𝑃 ∈ ℙ) |
| 2 | | prmnn 12278 |
. . . . . . . . 9
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℕ) |
| 3 | | zmodfzo 10439 |
. . . . . . . . 9
⊢ ((𝑁 ∈ ℤ ∧ 𝑃 ∈ ℕ) → (𝑁 mod 𝑃) ∈ (0..^𝑃)) |
| 4 | 2, 3 | sylan2 286 |
. . . . . . . 8
⊢ ((𝑁 ∈ ℤ ∧ 𝑃 ∈ ℙ) → (𝑁 mod 𝑃) ∈ (0..^𝑃)) |
| 5 | 4 | ancoms 268 |
. . . . . . 7
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ) → (𝑁 mod 𝑃) ∈ (0..^𝑃)) |
| 6 | 5 | 3adant3 1019 |
. . . . . 6
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → (𝑁 mod 𝑃) ∈ (0..^𝑃)) |
| 7 | | fzo1fzo0n0 10259 |
. . . . . . . 8
⊢ ((𝑁 mod 𝑃) ∈ (1..^𝑃) ↔ ((𝑁 mod 𝑃) ∈ (0..^𝑃) ∧ (𝑁 mod 𝑃) ≠ 0)) |
| 8 | 7 | simplbi2com 1455 |
. . . . . . 7
⊢ ((𝑁 mod 𝑃) ≠ 0 → ((𝑁 mod 𝑃) ∈ (0..^𝑃) → (𝑁 mod 𝑃) ∈ (1..^𝑃))) |
| 9 | 8 | 3ad2ant3 1022 |
. . . . . 6
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → ((𝑁 mod 𝑃) ∈ (0..^𝑃) → (𝑁 mod 𝑃) ∈ (1..^𝑃))) |
| 10 | 6, 9 | mpd 13 |
. . . . 5
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → (𝑁 mod 𝑃) ∈ (1..^𝑃)) |
| 11 | 10 | adantr 276 |
. . . 4
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → (𝑁 mod 𝑃) ∈ (1..^𝑃)) |
| 12 | | simpr 110 |
. . . 4
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → 𝐼 ∈ (0..^𝑃)) |
| 13 | | nnnn0modprm0 12424 |
. . . 4
⊢ ((𝑃 ∈ ℙ ∧ (𝑁 mod 𝑃) ∈ (1..^𝑃) ∧ 𝐼 ∈ (0..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · (𝑁 mod 𝑃))) mod 𝑃) = 0) |
| 14 | 1, 11, 12, 13 | syl3anc 1249 |
. . 3
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · (𝑁 mod 𝑃))) mod 𝑃) = 0) |
| 15 | | elfzoelz 10222 |
. . . . . . . . . 10
⊢ (𝑗 ∈ (0..^𝑃) → 𝑗 ∈ ℤ) |
| 16 | 15 | zcnd 9449 |
. . . . . . . . 9
⊢ (𝑗 ∈ (0..^𝑃) → 𝑗 ∈ ℂ) |
| 17 | 2 | anim1ci 341 |
. . . . . . . . . . . 12
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ) → (𝑁 ∈ ℤ ∧ 𝑃 ∈
ℕ)) |
| 18 | | zmodcl 10436 |
. . . . . . . . . . . 12
⊢ ((𝑁 ∈ ℤ ∧ 𝑃 ∈ ℕ) → (𝑁 mod 𝑃) ∈
ℕ0) |
| 19 | | nn0cn 9259 |
. . . . . . . . . . . 12
⊢ ((𝑁 mod 𝑃) ∈ ℕ0 → (𝑁 mod 𝑃) ∈ ℂ) |
| 20 | 17, 18, 19 | 3syl 17 |
. . . . . . . . . . 11
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ) → (𝑁 mod 𝑃) ∈ ℂ) |
| 21 | 20 | 3adant3 1019 |
. . . . . . . . . 10
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → (𝑁 mod 𝑃) ∈ ℂ) |
| 22 | 21 | adantr 276 |
. . . . . . . . 9
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → (𝑁 mod 𝑃) ∈ ℂ) |
| 23 | | mulcom 8008 |
. . . . . . . . 9
⊢ ((𝑗 ∈ ℂ ∧ (𝑁 mod 𝑃) ∈ ℂ) → (𝑗 · (𝑁 mod 𝑃)) = ((𝑁 mod 𝑃) · 𝑗)) |
| 24 | 16, 22, 23 | syl2anr 290 |
. . . . . . . 8
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → (𝑗 · (𝑁 mod 𝑃)) = ((𝑁 mod 𝑃) · 𝑗)) |
| 25 | 24 | oveq2d 5938 |
. . . . . . 7
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → (𝐼 + (𝑗 · (𝑁 mod 𝑃))) = (𝐼 + ((𝑁 mod 𝑃) · 𝑗))) |
| 26 | 25 | oveq1d 5937 |
. . . . . 6
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → ((𝐼 + (𝑗 · (𝑁 mod 𝑃))) mod 𝑃) = ((𝐼 + ((𝑁 mod 𝑃) · 𝑗)) mod 𝑃)) |
| 27 | | elfzoelz 10222 |
. . . . . . . . 9
⊢ (𝐼 ∈ (0..^𝑃) → 𝐼 ∈ ℤ) |
| 28 | 27 | ad2antlr 489 |
. . . . . . . 8
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝐼 ∈ ℤ) |
| 29 | | zq 9700 |
. . . . . . . 8
⊢ (𝐼 ∈ ℤ → 𝐼 ∈
ℚ) |
| 30 | 28, 29 | syl 14 |
. . . . . . 7
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝐼 ∈ ℚ) |
| 31 | | simpll2 1039 |
. . . . . . . 8
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝑁 ∈ ℤ) |
| 32 | | zq 9700 |
. . . . . . . 8
⊢ (𝑁 ∈ ℤ → 𝑁 ∈
ℚ) |
| 33 | 31, 32 | syl 14 |
. . . . . . 7
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝑁 ∈ ℚ) |
| 34 | 15 | adantl 277 |
. . . . . . 7
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝑗 ∈ ℤ) |
| 35 | 2 | 3ad2ant1 1020 |
. . . . . . . . 9
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → 𝑃 ∈ ℕ) |
| 36 | 35 | ad2antrr 488 |
. . . . . . . 8
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝑃 ∈ ℕ) |
| 37 | | nnq 9707 |
. . . . . . . 8
⊢ (𝑃 ∈ ℕ → 𝑃 ∈
ℚ) |
| 38 | 36, 37 | syl 14 |
. . . . . . 7
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝑃 ∈ ℚ) |
| 39 | 2 | nnrpd 9769 |
. . . . . . . . . 10
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℝ+) |
| 40 | 39 | 3ad2ant1 1020 |
. . . . . . . . 9
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → 𝑃 ∈
ℝ+) |
| 41 | 40 | ad2antrr 488 |
. . . . . . . 8
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝑃 ∈
ℝ+) |
| 42 | 41 | rpgt0d 9774 |
. . . . . . 7
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 0 < 𝑃) |
| 43 | | modqaddmulmod 10483 |
. . . . . . 7
⊢ (((𝐼 ∈ ℚ ∧ 𝑁 ∈ ℚ ∧ 𝑗 ∈ ℤ) ∧ (𝑃 ∈ ℚ ∧ 0 <
𝑃)) → ((𝐼 + ((𝑁 mod 𝑃) · 𝑗)) mod 𝑃) = ((𝐼 + (𝑁 · 𝑗)) mod 𝑃)) |
| 44 | 30, 33, 34, 38, 42, 43 | syl32anc 1257 |
. . . . . 6
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → ((𝐼 + ((𝑁 mod 𝑃) · 𝑗)) mod 𝑃) = ((𝐼 + (𝑁 · 𝑗)) mod 𝑃)) |
| 45 | | zcn 9331 |
. . . . . . . . . . . . . 14
⊢ (𝑁 ∈ ℤ → 𝑁 ∈
ℂ) |
| 46 | 45 | adantr 276 |
. . . . . . . . . . . . 13
⊢ ((𝑁 ∈ ℤ ∧ 𝑗 ∈ (0..^𝑃)) → 𝑁 ∈ ℂ) |
| 47 | 16 | adantl 277 |
. . . . . . . . . . . . 13
⊢ ((𝑁 ∈ ℤ ∧ 𝑗 ∈ (0..^𝑃)) → 𝑗 ∈ ℂ) |
| 48 | 46, 47 | mulcomd 8048 |
. . . . . . . . . . . 12
⊢ ((𝑁 ∈ ℤ ∧ 𝑗 ∈ (0..^𝑃)) → (𝑁 · 𝑗) = (𝑗 · 𝑁)) |
| 49 | 48 | ex 115 |
. . . . . . . . . . 11
⊢ (𝑁 ∈ ℤ → (𝑗 ∈ (0..^𝑃) → (𝑁 · 𝑗) = (𝑗 · 𝑁))) |
| 50 | 49 | 3ad2ant2 1021 |
. . . . . . . . . 10
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → (𝑗 ∈ (0..^𝑃) → (𝑁 · 𝑗) = (𝑗 · 𝑁))) |
| 51 | 50 | adantr 276 |
. . . . . . . . 9
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → (𝑗 ∈ (0..^𝑃) → (𝑁 · 𝑗) = (𝑗 · 𝑁))) |
| 52 | 51 | imp 124 |
. . . . . . . 8
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → (𝑁 · 𝑗) = (𝑗 · 𝑁)) |
| 53 | 52 | oveq2d 5938 |
. . . . . . 7
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → (𝐼 + (𝑁 · 𝑗)) = (𝐼 + (𝑗 · 𝑁))) |
| 54 | 53 | oveq1d 5937 |
. . . . . 6
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → ((𝐼 + (𝑁 · 𝑗)) mod 𝑃) = ((𝐼 + (𝑗 · 𝑁)) mod 𝑃)) |
| 55 | 26, 44, 54 | 3eqtrrd 2234 |
. . . . 5
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → ((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = ((𝐼 + (𝑗 · (𝑁 mod 𝑃))) mod 𝑃)) |
| 56 | 55 | eqeq1d 2205 |
. . . 4
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → (((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0 ↔ ((𝐼 + (𝑗 · (𝑁 mod 𝑃))) mod 𝑃) = 0)) |
| 57 | 56 | rexbidva 2494 |
. . 3
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → (∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0 ↔ ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · (𝑁 mod 𝑃))) mod 𝑃) = 0)) |
| 58 | 14, 57 | mpbird 167 |
. 2
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0) |
| 59 | 58 | ex 115 |
1
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → (𝐼 ∈ (0..^𝑃) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0)) |