Step |
Hyp |
Ref |
Expression |
1 |
|
prmuz2 |
|- ( N e. Prime -> N e. ( ZZ>= ` 2 ) ) |
2 |
|
eqid |
|- ( mulGrp ` CCfld ) = ( mulGrp ` CCfld ) |
3 |
|
eleq2w |
|- ( z = x -> ( ( N - 1 ) e. z <-> ( N - 1 ) e. x ) ) |
4 |
|
oveq1 |
|- ( n = y -> ( n ^ ( N - 2 ) ) = ( y ^ ( N - 2 ) ) ) |
5 |
4
|
oveq1d |
|- ( n = y -> ( ( n ^ ( N - 2 ) ) mod N ) = ( ( y ^ ( N - 2 ) ) mod N ) ) |
6 |
5
|
eleq1d |
|- ( n = y -> ( ( ( n ^ ( N - 2 ) ) mod N ) e. z <-> ( ( y ^ ( N - 2 ) ) mod N ) e. z ) ) |
7 |
6
|
cbvralvw |
|- ( A. n e. z ( ( n ^ ( N - 2 ) ) mod N ) e. z <-> A. y e. z ( ( y ^ ( N - 2 ) ) mod N ) e. z ) |
8 |
|
eleq2w |
|- ( z = x -> ( ( ( y ^ ( N - 2 ) ) mod N ) e. z <-> ( ( y ^ ( N - 2 ) ) mod N ) e. x ) ) |
9 |
8
|
raleqbi1dv |
|- ( z = x -> ( A. y e. z ( ( y ^ ( N - 2 ) ) mod N ) e. z <-> A. y e. x ( ( y ^ ( N - 2 ) ) mod N ) e. x ) ) |
10 |
7 9
|
syl5bb |
|- ( z = x -> ( A. n e. z ( ( n ^ ( N - 2 ) ) mod N ) e. z <-> A. y e. x ( ( y ^ ( N - 2 ) ) mod N ) e. x ) ) |
11 |
3 10
|
anbi12d |
|- ( z = x -> ( ( ( N - 1 ) e. z /\ A. n e. z ( ( n ^ ( N - 2 ) ) mod N ) e. z ) <-> ( ( N - 1 ) e. x /\ A. y e. x ( ( y ^ ( N - 2 ) ) mod N ) e. x ) ) ) |
12 |
11
|
cbvrabv |
|- { z e. ~P ( 1 ... ( N - 1 ) ) | ( ( N - 1 ) e. z /\ A. n e. z ( ( n ^ ( N - 2 ) ) mod N ) e. z ) } = { x e. ~P ( 1 ... ( N - 1 ) ) | ( ( N - 1 ) e. x /\ A. y e. x ( ( y ^ ( N - 2 ) ) mod N ) e. x ) } |
13 |
2 12
|
wilthlem3 |
|- ( N e. Prime -> N || ( ( ! ` ( N - 1 ) ) + 1 ) ) |
14 |
1 13
|
jca |
|- ( N e. Prime -> ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) ) |
15 |
|
simpl |
|- ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) -> N e. ( ZZ>= ` 2 ) ) |
16 |
|
elfzuz |
|- ( n e. ( 2 ... ( N - 1 ) ) -> n e. ( ZZ>= ` 2 ) ) |
17 |
16
|
adantl |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> n e. ( ZZ>= ` 2 ) ) |
18 |
|
eluz2nn |
|- ( n e. ( ZZ>= ` 2 ) -> n e. NN ) |
19 |
17 18
|
syl |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> n e. NN ) |
20 |
|
elfzuz3 |
|- ( n e. ( 2 ... ( N - 1 ) ) -> ( N - 1 ) e. ( ZZ>= ` n ) ) |
21 |
20
|
adantl |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> ( N - 1 ) e. ( ZZ>= ` n ) ) |
22 |
|
dvdsfac |
|- ( ( n e. NN /\ ( N - 1 ) e. ( ZZ>= ` n ) ) -> n || ( ! ` ( N - 1 ) ) ) |
23 |
19 21 22
|
syl2anc |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> n || ( ! ` ( N - 1 ) ) ) |
24 |
|
eluz2nn |
|- ( N e. ( ZZ>= ` 2 ) -> N e. NN ) |
25 |
24
|
ad2antrr |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> N e. NN ) |
26 |
|
nnm1nn0 |
|- ( N e. NN -> ( N - 1 ) e. NN0 ) |
27 |
|
faccl |
|- ( ( N - 1 ) e. NN0 -> ( ! ` ( N - 1 ) ) e. NN ) |
28 |
25 26 27
|
3syl |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> ( ! ` ( N - 1 ) ) e. NN ) |
29 |
28
|
nnzd |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> ( ! ` ( N - 1 ) ) e. ZZ ) |
30 |
|
eluz2gt1 |
|- ( n e. ( ZZ>= ` 2 ) -> 1 < n ) |
31 |
17 30
|
syl |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> 1 < n ) |
32 |
|
ndvdsp1 |
|- ( ( ( ! ` ( N - 1 ) ) e. ZZ /\ n e. NN /\ 1 < n ) -> ( n || ( ! ` ( N - 1 ) ) -> -. n || ( ( ! ` ( N - 1 ) ) + 1 ) ) ) |
33 |
29 19 31 32
|
syl3anc |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> ( n || ( ! ` ( N - 1 ) ) -> -. n || ( ( ! ` ( N - 1 ) ) + 1 ) ) ) |
34 |
23 33
|
mpd |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> -. n || ( ( ! ` ( N - 1 ) ) + 1 ) ) |
35 |
|
simplr |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> N || ( ( ! ` ( N - 1 ) ) + 1 ) ) |
36 |
19
|
nnzd |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> n e. ZZ ) |
37 |
25
|
nnzd |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> N e. ZZ ) |
38 |
29
|
peano2zd |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> ( ( ! ` ( N - 1 ) ) + 1 ) e. ZZ ) |
39 |
|
dvdstr |
|- ( ( n e. ZZ /\ N e. ZZ /\ ( ( ! ` ( N - 1 ) ) + 1 ) e. ZZ ) -> ( ( n || N /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) -> n || ( ( ! ` ( N - 1 ) ) + 1 ) ) ) |
40 |
36 37 38 39
|
syl3anc |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> ( ( n || N /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) -> n || ( ( ! ` ( N - 1 ) ) + 1 ) ) ) |
41 |
35 40
|
mpan2d |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> ( n || N -> n || ( ( ! ` ( N - 1 ) ) + 1 ) ) ) |
42 |
34 41
|
mtod |
|- ( ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) /\ n e. ( 2 ... ( N - 1 ) ) ) -> -. n || N ) |
43 |
42
|
ralrimiva |
|- ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) -> A. n e. ( 2 ... ( N - 1 ) ) -. n || N ) |
44 |
|
isprm3 |
|- ( N e. Prime <-> ( N e. ( ZZ>= ` 2 ) /\ A. n e. ( 2 ... ( N - 1 ) ) -. n || N ) ) |
45 |
15 43 44
|
sylanbrc |
|- ( ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) -> N e. Prime ) |
46 |
14 45
|
impbii |
|- ( N e. Prime <-> ( N e. ( ZZ>= ` 2 ) /\ N || ( ( ! ` ( N - 1 ) ) + 1 ) ) ) |