Step |
Hyp |
Ref |
Expression |
1 |
|
simpl1 |
⊢ ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) → 𝑃 ∈ ℙ ) |
2 |
|
prmnn |
⊢ ( 𝑃 ∈ ℙ → 𝑃 ∈ ℕ ) |
3 |
|
zmodfzo |
⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑃 ∈ ℕ ) → ( 𝑁 mod 𝑃 ) ∈ ( 0 ..^ 𝑃 ) ) |
4 |
2 3
|
sylan2 |
⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑃 ∈ ℙ ) → ( 𝑁 mod 𝑃 ) ∈ ( 0 ..^ 𝑃 ) ) |
5 |
4
|
ancoms |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ) → ( 𝑁 mod 𝑃 ) ∈ ( 0 ..^ 𝑃 ) ) |
6 |
5
|
3adant3 |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) → ( 𝑁 mod 𝑃 ) ∈ ( 0 ..^ 𝑃 ) ) |
7 |
|
fzo1fzo0n0 |
⊢ ( ( 𝑁 mod 𝑃 ) ∈ ( 1 ..^ 𝑃 ) ↔ ( ( 𝑁 mod 𝑃 ) ∈ ( 0 ..^ 𝑃 ) ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ) |
8 |
7
|
simplbi2com |
⊢ ( ( 𝑁 mod 𝑃 ) ≠ 0 → ( ( 𝑁 mod 𝑃 ) ∈ ( 0 ..^ 𝑃 ) → ( 𝑁 mod 𝑃 ) ∈ ( 1 ..^ 𝑃 ) ) ) |
9 |
8
|
3ad2ant3 |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) → ( ( 𝑁 mod 𝑃 ) ∈ ( 0 ..^ 𝑃 ) → ( 𝑁 mod 𝑃 ) ∈ ( 1 ..^ 𝑃 ) ) ) |
10 |
6 9
|
mpd |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) → ( 𝑁 mod 𝑃 ) ∈ ( 1 ..^ 𝑃 ) ) |
11 |
10
|
adantr |
⊢ ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) → ( 𝑁 mod 𝑃 ) ∈ ( 1 ..^ 𝑃 ) ) |
12 |
|
simpr |
⊢ ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) → 𝐼 ∈ ( 0 ..^ 𝑃 ) ) |
13 |
|
nnnn0modprm0 |
⊢ ( ( 𝑃 ∈ ℙ ∧ ( 𝑁 mod 𝑃 ) ∈ ( 1 ..^ 𝑃 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) → ∃ 𝑗 ∈ ( 0 ..^ 𝑃 ) ( ( 𝐼 + ( 𝑗 · ( 𝑁 mod 𝑃 ) ) ) mod 𝑃 ) = 0 ) |
14 |
1 11 12 13
|
syl3anc |
⊢ ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) → ∃ 𝑗 ∈ ( 0 ..^ 𝑃 ) ( ( 𝐼 + ( 𝑗 · ( 𝑁 mod 𝑃 ) ) ) mod 𝑃 ) = 0 ) |
15 |
|
elfzoelz |
⊢ ( 𝑗 ∈ ( 0 ..^ 𝑃 ) → 𝑗 ∈ ℤ ) |
16 |
15
|
zcnd |
⊢ ( 𝑗 ∈ ( 0 ..^ 𝑃 ) → 𝑗 ∈ ℂ ) |
17 |
2
|
anim1ci |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ) → ( 𝑁 ∈ ℤ ∧ 𝑃 ∈ ℕ ) ) |
18 |
|
zmodcl |
⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑃 ∈ ℕ ) → ( 𝑁 mod 𝑃 ) ∈ ℕ0 ) |
19 |
|
nn0cn |
⊢ ( ( 𝑁 mod 𝑃 ) ∈ ℕ0 → ( 𝑁 mod 𝑃 ) ∈ ℂ ) |
20 |
17 18 19
|
3syl |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ) → ( 𝑁 mod 𝑃 ) ∈ ℂ ) |
21 |
20
|
3adant3 |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) → ( 𝑁 mod 𝑃 ) ∈ ℂ ) |
22 |
21
|
adantr |
⊢ ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) → ( 𝑁 mod 𝑃 ) ∈ ℂ ) |
23 |
|
mulcom |
⊢ ( ( 𝑗 ∈ ℂ ∧ ( 𝑁 mod 𝑃 ) ∈ ℂ ) → ( 𝑗 · ( 𝑁 mod 𝑃 ) ) = ( ( 𝑁 mod 𝑃 ) · 𝑗 ) ) |
24 |
16 22 23
|
syl2anr |
⊢ ( ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → ( 𝑗 · ( 𝑁 mod 𝑃 ) ) = ( ( 𝑁 mod 𝑃 ) · 𝑗 ) ) |
25 |
24
|
oveq2d |
⊢ ( ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → ( 𝐼 + ( 𝑗 · ( 𝑁 mod 𝑃 ) ) ) = ( 𝐼 + ( ( 𝑁 mod 𝑃 ) · 𝑗 ) ) ) |
26 |
25
|
oveq1d |
⊢ ( ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → ( ( 𝐼 + ( 𝑗 · ( 𝑁 mod 𝑃 ) ) ) mod 𝑃 ) = ( ( 𝐼 + ( ( 𝑁 mod 𝑃 ) · 𝑗 ) ) mod 𝑃 ) ) |
27 |
|
elfzoelz |
⊢ ( 𝐼 ∈ ( 0 ..^ 𝑃 ) → 𝐼 ∈ ℤ ) |
28 |
27
|
zred |
⊢ ( 𝐼 ∈ ( 0 ..^ 𝑃 ) → 𝐼 ∈ ℝ ) |
29 |
28
|
adantl |
⊢ ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) → 𝐼 ∈ ℝ ) |
30 |
29
|
adantr |
⊢ ( ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → 𝐼 ∈ ℝ ) |
31 |
|
zre |
⊢ ( 𝑁 ∈ ℤ → 𝑁 ∈ ℝ ) |
32 |
31
|
3ad2ant2 |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) → 𝑁 ∈ ℝ ) |
33 |
32
|
adantr |
⊢ ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) → 𝑁 ∈ ℝ ) |
34 |
33
|
adantr |
⊢ ( ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → 𝑁 ∈ ℝ ) |
35 |
15
|
adantl |
⊢ ( ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → 𝑗 ∈ ℤ ) |
36 |
2
|
nnrpd |
⊢ ( 𝑃 ∈ ℙ → 𝑃 ∈ ℝ+ ) |
37 |
36
|
3ad2ant1 |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) → 𝑃 ∈ ℝ+ ) |
38 |
37
|
adantr |
⊢ ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) → 𝑃 ∈ ℝ+ ) |
39 |
38
|
adantr |
⊢ ( ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → 𝑃 ∈ ℝ+ ) |
40 |
|
modaddmulmod |
⊢ ( ( ( 𝐼 ∈ ℝ ∧ 𝑁 ∈ ℝ ∧ 𝑗 ∈ ℤ ) ∧ 𝑃 ∈ ℝ+ ) → ( ( 𝐼 + ( ( 𝑁 mod 𝑃 ) · 𝑗 ) ) mod 𝑃 ) = ( ( 𝐼 + ( 𝑁 · 𝑗 ) ) mod 𝑃 ) ) |
41 |
30 34 35 39 40
|
syl31anc |
⊢ ( ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → ( ( 𝐼 + ( ( 𝑁 mod 𝑃 ) · 𝑗 ) ) mod 𝑃 ) = ( ( 𝐼 + ( 𝑁 · 𝑗 ) ) mod 𝑃 ) ) |
42 |
|
zcn |
⊢ ( 𝑁 ∈ ℤ → 𝑁 ∈ ℂ ) |
43 |
42
|
adantr |
⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → 𝑁 ∈ ℂ ) |
44 |
16
|
adantl |
⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → 𝑗 ∈ ℂ ) |
45 |
43 44
|
mulcomd |
⊢ ( ( 𝑁 ∈ ℤ ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → ( 𝑁 · 𝑗 ) = ( 𝑗 · 𝑁 ) ) |
46 |
45
|
ex |
⊢ ( 𝑁 ∈ ℤ → ( 𝑗 ∈ ( 0 ..^ 𝑃 ) → ( 𝑁 · 𝑗 ) = ( 𝑗 · 𝑁 ) ) ) |
47 |
46
|
3ad2ant2 |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) → ( 𝑗 ∈ ( 0 ..^ 𝑃 ) → ( 𝑁 · 𝑗 ) = ( 𝑗 · 𝑁 ) ) ) |
48 |
47
|
adantr |
⊢ ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) → ( 𝑗 ∈ ( 0 ..^ 𝑃 ) → ( 𝑁 · 𝑗 ) = ( 𝑗 · 𝑁 ) ) ) |
49 |
48
|
imp |
⊢ ( ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → ( 𝑁 · 𝑗 ) = ( 𝑗 · 𝑁 ) ) |
50 |
49
|
oveq2d |
⊢ ( ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → ( 𝐼 + ( 𝑁 · 𝑗 ) ) = ( 𝐼 + ( 𝑗 · 𝑁 ) ) ) |
51 |
50
|
oveq1d |
⊢ ( ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → ( ( 𝐼 + ( 𝑁 · 𝑗 ) ) mod 𝑃 ) = ( ( 𝐼 + ( 𝑗 · 𝑁 ) ) mod 𝑃 ) ) |
52 |
26 41 51
|
3eqtrrd |
⊢ ( ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → ( ( 𝐼 + ( 𝑗 · 𝑁 ) ) mod 𝑃 ) = ( ( 𝐼 + ( 𝑗 · ( 𝑁 mod 𝑃 ) ) ) mod 𝑃 ) ) |
53 |
52
|
eqeq1d |
⊢ ( ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) ∧ 𝑗 ∈ ( 0 ..^ 𝑃 ) ) → ( ( ( 𝐼 + ( 𝑗 · 𝑁 ) ) mod 𝑃 ) = 0 ↔ ( ( 𝐼 + ( 𝑗 · ( 𝑁 mod 𝑃 ) ) ) mod 𝑃 ) = 0 ) ) |
54 |
53
|
rexbidva |
⊢ ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) → ( ∃ 𝑗 ∈ ( 0 ..^ 𝑃 ) ( ( 𝐼 + ( 𝑗 · 𝑁 ) ) mod 𝑃 ) = 0 ↔ ∃ 𝑗 ∈ ( 0 ..^ 𝑃 ) ( ( 𝐼 + ( 𝑗 · ( 𝑁 mod 𝑃 ) ) ) mod 𝑃 ) = 0 ) ) |
55 |
14 54
|
mpbird |
⊢ ( ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) ∧ 𝐼 ∈ ( 0 ..^ 𝑃 ) ) → ∃ 𝑗 ∈ ( 0 ..^ 𝑃 ) ( ( 𝐼 + ( 𝑗 · 𝑁 ) ) mod 𝑃 ) = 0 ) |
56 |
55
|
ex |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ∧ ( 𝑁 mod 𝑃 ) ≠ 0 ) → ( 𝐼 ∈ ( 0 ..^ 𝑃 ) → ∃ 𝑗 ∈ ( 0 ..^ 𝑃 ) ( ( 𝐼 + ( 𝑗 · 𝑁 ) ) mod 𝑃 ) = 0 ) ) |