Proof of Theorem modprmn0modprm0
Step | Hyp | Ref
| Expression |
1 | | simpl1 990 |
. . . 4
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → 𝑃 ∈ ℙ) |
2 | | prmnn 12038 |
. . . . . . . . 9
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℕ) |
3 | | zmodfzo 10278 |
. . . . . . . . 9
⊢ ((𝑁 ∈ ℤ ∧ 𝑃 ∈ ℕ) → (𝑁 mod 𝑃) ∈ (0..^𝑃)) |
4 | 2, 3 | sylan2 284 |
. . . . . . . 8
⊢ ((𝑁 ∈ ℤ ∧ 𝑃 ∈ ℙ) → (𝑁 mod 𝑃) ∈ (0..^𝑃)) |
5 | 4 | ancoms 266 |
. . . . . . 7
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ) → (𝑁 mod 𝑃) ∈ (0..^𝑃)) |
6 | 5 | 3adant3 1007 |
. . . . . 6
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → (𝑁 mod 𝑃) ∈ (0..^𝑃)) |
7 | | fzo1fzo0n0 10114 |
. . . . . . . 8
⊢ ((𝑁 mod 𝑃) ∈ (1..^𝑃) ↔ ((𝑁 mod 𝑃) ∈ (0..^𝑃) ∧ (𝑁 mod 𝑃) ≠ 0)) |
8 | 7 | simplbi2com 1432 |
. . . . . . 7
⊢ ((𝑁 mod 𝑃) ≠ 0 → ((𝑁 mod 𝑃) ∈ (0..^𝑃) → (𝑁 mod 𝑃) ∈ (1..^𝑃))) |
9 | 8 | 3ad2ant3 1010 |
. . . . . 6
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → ((𝑁 mod 𝑃) ∈ (0..^𝑃) → (𝑁 mod 𝑃) ∈ (1..^𝑃))) |
10 | 6, 9 | mpd 13 |
. . . . 5
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → (𝑁 mod 𝑃) ∈ (1..^𝑃)) |
11 | 10 | adantr 274 |
. . . 4
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → (𝑁 mod 𝑃) ∈ (1..^𝑃)) |
12 | | simpr 109 |
. . . 4
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → 𝐼 ∈ (0..^𝑃)) |
13 | | nnnn0modprm0 12183 |
. . . 4
⊢ ((𝑃 ∈ ℙ ∧ (𝑁 mod 𝑃) ∈ (1..^𝑃) ∧ 𝐼 ∈ (0..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · (𝑁 mod 𝑃))) mod 𝑃) = 0) |
14 | 1, 11, 12, 13 | syl3anc 1228 |
. . 3
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · (𝑁 mod 𝑃))) mod 𝑃) = 0) |
15 | | elfzoelz 10078 |
. . . . . . . . . 10
⊢ (𝑗 ∈ (0..^𝑃) → 𝑗 ∈ ℤ) |
16 | 15 | zcnd 9310 |
. . . . . . . . 9
⊢ (𝑗 ∈ (0..^𝑃) → 𝑗 ∈ ℂ) |
17 | 2 | anim1ci 339 |
. . . . . . . . . . . 12
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ) → (𝑁 ∈ ℤ ∧ 𝑃 ∈
ℕ)) |
18 | | zmodcl 10275 |
. . . . . . . . . . . 12
⊢ ((𝑁 ∈ ℤ ∧ 𝑃 ∈ ℕ) → (𝑁 mod 𝑃) ∈
ℕ0) |
19 | | nn0cn 9120 |
. . . . . . . . . . . 12
⊢ ((𝑁 mod 𝑃) ∈ ℕ0 → (𝑁 mod 𝑃) ∈ ℂ) |
20 | 17, 18, 19 | 3syl 17 |
. . . . . . . . . . 11
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ) → (𝑁 mod 𝑃) ∈ ℂ) |
21 | 20 | 3adant3 1007 |
. . . . . . . . . 10
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → (𝑁 mod 𝑃) ∈ ℂ) |
22 | 21 | adantr 274 |
. . . . . . . . 9
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → (𝑁 mod 𝑃) ∈ ℂ) |
23 | | mulcom 7878 |
. . . . . . . . 9
⊢ ((𝑗 ∈ ℂ ∧ (𝑁 mod 𝑃) ∈ ℂ) → (𝑗 · (𝑁 mod 𝑃)) = ((𝑁 mod 𝑃) · 𝑗)) |
24 | 16, 22, 23 | syl2anr 288 |
. . . . . . . 8
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → (𝑗 · (𝑁 mod 𝑃)) = ((𝑁 mod 𝑃) · 𝑗)) |
25 | 24 | oveq2d 5857 |
. . . . . . 7
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → (𝐼 + (𝑗 · (𝑁 mod 𝑃))) = (𝐼 + ((𝑁 mod 𝑃) · 𝑗))) |
26 | 25 | oveq1d 5856 |
. . . . . 6
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → ((𝐼 + (𝑗 · (𝑁 mod 𝑃))) mod 𝑃) = ((𝐼 + ((𝑁 mod 𝑃) · 𝑗)) mod 𝑃)) |
27 | | elfzoelz 10078 |
. . . . . . . . 9
⊢ (𝐼 ∈ (0..^𝑃) → 𝐼 ∈ ℤ) |
28 | 27 | ad2antlr 481 |
. . . . . . . 8
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝐼 ∈ ℤ) |
29 | | zq 9560 |
. . . . . . . 8
⊢ (𝐼 ∈ ℤ → 𝐼 ∈
ℚ) |
30 | 28, 29 | syl 14 |
. . . . . . 7
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝐼 ∈ ℚ) |
31 | | simpll2 1027 |
. . . . . . . 8
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝑁 ∈ ℤ) |
32 | | zq 9560 |
. . . . . . . 8
⊢ (𝑁 ∈ ℤ → 𝑁 ∈
ℚ) |
33 | 31, 32 | syl 14 |
. . . . . . 7
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝑁 ∈ ℚ) |
34 | 15 | adantl 275 |
. . . . . . 7
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝑗 ∈ ℤ) |
35 | 2 | 3ad2ant1 1008 |
. . . . . . . . 9
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → 𝑃 ∈ ℕ) |
36 | 35 | ad2antrr 480 |
. . . . . . . 8
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝑃 ∈ ℕ) |
37 | | nnq 9567 |
. . . . . . . 8
⊢ (𝑃 ∈ ℕ → 𝑃 ∈
ℚ) |
38 | 36, 37 | syl 14 |
. . . . . . 7
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝑃 ∈ ℚ) |
39 | 2 | nnrpd 9626 |
. . . . . . . . . 10
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℝ+) |
40 | 39 | 3ad2ant1 1008 |
. . . . . . . . 9
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → 𝑃 ∈
ℝ+) |
41 | 40 | ad2antrr 480 |
. . . . . . . 8
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 𝑃 ∈
ℝ+) |
42 | 41 | rpgt0d 9631 |
. . . . . . 7
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → 0 < 𝑃) |
43 | | modqaddmulmod 10322 |
. . . . . . 7
⊢ (((𝐼 ∈ ℚ ∧ 𝑁 ∈ ℚ ∧ 𝑗 ∈ ℤ) ∧ (𝑃 ∈ ℚ ∧ 0 <
𝑃)) → ((𝐼 + ((𝑁 mod 𝑃) · 𝑗)) mod 𝑃) = ((𝐼 + (𝑁 · 𝑗)) mod 𝑃)) |
44 | 30, 33, 34, 38, 42, 43 | syl32anc 1236 |
. . . . . 6
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → ((𝐼 + ((𝑁 mod 𝑃) · 𝑗)) mod 𝑃) = ((𝐼 + (𝑁 · 𝑗)) mod 𝑃)) |
45 | | zcn 9192 |
. . . . . . . . . . . . . 14
⊢ (𝑁 ∈ ℤ → 𝑁 ∈
ℂ) |
46 | 45 | adantr 274 |
. . . . . . . . . . . . 13
⊢ ((𝑁 ∈ ℤ ∧ 𝑗 ∈ (0..^𝑃)) → 𝑁 ∈ ℂ) |
47 | 16 | adantl 275 |
. . . . . . . . . . . . 13
⊢ ((𝑁 ∈ ℤ ∧ 𝑗 ∈ (0..^𝑃)) → 𝑗 ∈ ℂ) |
48 | 46, 47 | mulcomd 7916 |
. . . . . . . . . . . 12
⊢ ((𝑁 ∈ ℤ ∧ 𝑗 ∈ (0..^𝑃)) → (𝑁 · 𝑗) = (𝑗 · 𝑁)) |
49 | 48 | ex 114 |
. . . . . . . . . . 11
⊢ (𝑁 ∈ ℤ → (𝑗 ∈ (0..^𝑃) → (𝑁 · 𝑗) = (𝑗 · 𝑁))) |
50 | 49 | 3ad2ant2 1009 |
. . . . . . . . . 10
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → (𝑗 ∈ (0..^𝑃) → (𝑁 · 𝑗) = (𝑗 · 𝑁))) |
51 | 50 | adantr 274 |
. . . . . . . . 9
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → (𝑗 ∈ (0..^𝑃) → (𝑁 · 𝑗) = (𝑗 · 𝑁))) |
52 | 51 | imp 123 |
. . . . . . . 8
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → (𝑁 · 𝑗) = (𝑗 · 𝑁)) |
53 | 52 | oveq2d 5857 |
. . . . . . 7
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → (𝐼 + (𝑁 · 𝑗)) = (𝐼 + (𝑗 · 𝑁))) |
54 | 53 | oveq1d 5856 |
. . . . . 6
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → ((𝐼 + (𝑁 · 𝑗)) mod 𝑃) = ((𝐼 + (𝑗 · 𝑁)) mod 𝑃)) |
55 | 26, 44, 54 | 3eqtrrd 2203 |
. . . . 5
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → ((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = ((𝐼 + (𝑗 · (𝑁 mod 𝑃))) mod 𝑃)) |
56 | 55 | eqeq1d 2174 |
. . . 4
⊢ ((((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) ∧ 𝑗 ∈ (0..^𝑃)) → (((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0 ↔ ((𝐼 + (𝑗 · (𝑁 mod 𝑃))) mod 𝑃) = 0)) |
57 | 56 | rexbidva 2462 |
. . 3
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → (∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0 ↔ ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · (𝑁 mod 𝑃))) mod 𝑃) = 0)) |
58 | 14, 57 | mpbird 166 |
. 2
⊢ (((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) ∧ 𝐼 ∈ (0..^𝑃)) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0) |
59 | 58 | ex 114 |
1
⊢ ((𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ (𝑁 mod 𝑃) ≠ 0) → (𝐼 ∈ (0..^𝑃) → ∃𝑗 ∈ (0..^𝑃)((𝐼 + (𝑗 · 𝑁)) mod 𝑃) = 0)) |