Step |
Hyp |
Ref |
Expression |
1 |
|
wilthlem.t |
|- T = ( mulGrp ` CCfld ) |
2 |
|
wilthlem.a |
|- A = { x e. ~P ( 1 ... ( P - 1 ) ) | ( ( P - 1 ) e. x /\ A. y e. x ( ( y ^ ( P - 2 ) ) mod P ) e. x ) } |
3 |
|
prmuz2 |
|- ( P e. Prime -> P e. ( ZZ>= ` 2 ) ) |
4 |
|
uz2m1nn |
|- ( P e. ( ZZ>= ` 2 ) -> ( P - 1 ) e. NN ) |
5 |
3 4
|
syl |
|- ( P e. Prime -> ( P - 1 ) e. NN ) |
6 |
|
nnuz |
|- NN = ( ZZ>= ` 1 ) |
7 |
5 6
|
eleqtrdi |
|- ( P e. Prime -> ( P - 1 ) e. ( ZZ>= ` 1 ) ) |
8 |
|
eluzfz2 |
|- ( ( P - 1 ) e. ( ZZ>= ` 1 ) -> ( P - 1 ) e. ( 1 ... ( P - 1 ) ) ) |
9 |
7 8
|
syl |
|- ( P e. Prime -> ( P - 1 ) e. ( 1 ... ( P - 1 ) ) ) |
10 |
|
simpl |
|- ( ( P e. Prime /\ y e. ( 1 ... ( P - 1 ) ) ) -> P e. Prime ) |
11 |
|
elfzelz |
|- ( y e. ( 1 ... ( P - 1 ) ) -> y e. ZZ ) |
12 |
11
|
adantl |
|- ( ( P e. Prime /\ y e. ( 1 ... ( P - 1 ) ) ) -> y e. ZZ ) |
13 |
|
prmnn |
|- ( P e. Prime -> P e. NN ) |
14 |
|
fzm1ndvds |
|- ( ( P e. NN /\ y e. ( 1 ... ( P - 1 ) ) ) -> -. P || y ) |
15 |
13 14
|
sylan |
|- ( ( P e. Prime /\ y e. ( 1 ... ( P - 1 ) ) ) -> -. P || y ) |
16 |
|
eqid |
|- ( ( y ^ ( P - 2 ) ) mod P ) = ( ( y ^ ( P - 2 ) ) mod P ) |
17 |
16
|
prmdiv |
|- ( ( P e. Prime /\ y e. ZZ /\ -. P || y ) -> ( ( ( y ^ ( P - 2 ) ) mod P ) e. ( 1 ... ( P - 1 ) ) /\ P || ( ( y x. ( ( y ^ ( P - 2 ) ) mod P ) ) - 1 ) ) ) |
18 |
10 12 15 17
|
syl3anc |
|- ( ( P e. Prime /\ y e. ( 1 ... ( P - 1 ) ) ) -> ( ( ( y ^ ( P - 2 ) ) mod P ) e. ( 1 ... ( P - 1 ) ) /\ P || ( ( y x. ( ( y ^ ( P - 2 ) ) mod P ) ) - 1 ) ) ) |
19 |
18
|
simpld |
|- ( ( P e. Prime /\ y e. ( 1 ... ( P - 1 ) ) ) -> ( ( y ^ ( P - 2 ) ) mod P ) e. ( 1 ... ( P - 1 ) ) ) |
20 |
19
|
ralrimiva |
|- ( P e. Prime -> A. y e. ( 1 ... ( P - 1 ) ) ( ( y ^ ( P - 2 ) ) mod P ) e. ( 1 ... ( P - 1 ) ) ) |
21 |
|
ovex |
|- ( 1 ... ( P - 1 ) ) e. _V |
22 |
21
|
pwid |
|- ( 1 ... ( P - 1 ) ) e. ~P ( 1 ... ( P - 1 ) ) |
23 |
|
eleq2 |
|- ( x = ( 1 ... ( P - 1 ) ) -> ( ( P - 1 ) e. x <-> ( P - 1 ) e. ( 1 ... ( P - 1 ) ) ) ) |
24 |
|
eleq2 |
|- ( x = ( 1 ... ( P - 1 ) ) -> ( ( ( y ^ ( P - 2 ) ) mod P ) e. x <-> ( ( y ^ ( P - 2 ) ) mod P ) e. ( 1 ... ( P - 1 ) ) ) ) |
25 |
24
|
raleqbi1dv |
|- ( x = ( 1 ... ( P - 1 ) ) -> ( A. y e. x ( ( y ^ ( P - 2 ) ) mod P ) e. x <-> A. y e. ( 1 ... ( P - 1 ) ) ( ( y ^ ( P - 2 ) ) mod P ) e. ( 1 ... ( P - 1 ) ) ) ) |
26 |
23 25
|
anbi12d |
|- ( x = ( 1 ... ( P - 1 ) ) -> ( ( ( P - 1 ) e. x /\ A. y e. x ( ( y ^ ( P - 2 ) ) mod P ) e. x ) <-> ( ( P - 1 ) e. ( 1 ... ( P - 1 ) ) /\ A. y e. ( 1 ... ( P - 1 ) ) ( ( y ^ ( P - 2 ) ) mod P ) e. ( 1 ... ( P - 1 ) ) ) ) ) |
27 |
26 2
|
elrab2 |
|- ( ( 1 ... ( P - 1 ) ) e. A <-> ( ( 1 ... ( P - 1 ) ) e. ~P ( 1 ... ( P - 1 ) ) /\ ( ( P - 1 ) e. ( 1 ... ( P - 1 ) ) /\ A. y e. ( 1 ... ( P - 1 ) ) ( ( y ^ ( P - 2 ) ) mod P ) e. ( 1 ... ( P - 1 ) ) ) ) ) |
28 |
22 27
|
mpbiran |
|- ( ( 1 ... ( P - 1 ) ) e. A <-> ( ( P - 1 ) e. ( 1 ... ( P - 1 ) ) /\ A. y e. ( 1 ... ( P - 1 ) ) ( ( y ^ ( P - 2 ) ) mod P ) e. ( 1 ... ( P - 1 ) ) ) ) |
29 |
9 20 28
|
sylanbrc |
|- ( P e. Prime -> ( 1 ... ( P - 1 ) ) e. A ) |
30 |
|
fzfi |
|- ( 1 ... ( P - 1 ) ) e. Fin |
31 |
|
eleq1 |
|- ( s = t -> ( s e. A <-> t e. A ) ) |
32 |
|
reseq2 |
|- ( s = t -> ( _I |` s ) = ( _I |` t ) ) |
33 |
32
|
oveq2d |
|- ( s = t -> ( T gsum ( _I |` s ) ) = ( T gsum ( _I |` t ) ) ) |
34 |
33
|
oveq1d |
|- ( s = t -> ( ( T gsum ( _I |` s ) ) mod P ) = ( ( T gsum ( _I |` t ) ) mod P ) ) |
35 |
34
|
eqeq1d |
|- ( s = t -> ( ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) <-> ( ( T gsum ( _I |` t ) ) mod P ) = ( -u 1 mod P ) ) ) |
36 |
31 35
|
imbi12d |
|- ( s = t -> ( ( s e. A -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) <-> ( t e. A -> ( ( T gsum ( _I |` t ) ) mod P ) = ( -u 1 mod P ) ) ) ) |
37 |
36
|
imbi2d |
|- ( s = t -> ( ( P e. Prime -> ( s e. A -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) <-> ( P e. Prime -> ( t e. A -> ( ( T gsum ( _I |` t ) ) mod P ) = ( -u 1 mod P ) ) ) ) ) |
38 |
|
eleq1 |
|- ( s = ( 1 ... ( P - 1 ) ) -> ( s e. A <-> ( 1 ... ( P - 1 ) ) e. A ) ) |
39 |
|
reseq2 |
|- ( s = ( 1 ... ( P - 1 ) ) -> ( _I |` s ) = ( _I |` ( 1 ... ( P - 1 ) ) ) ) |
40 |
39
|
oveq2d |
|- ( s = ( 1 ... ( P - 1 ) ) -> ( T gsum ( _I |` s ) ) = ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) ) |
41 |
40
|
oveq1d |
|- ( s = ( 1 ... ( P - 1 ) ) -> ( ( T gsum ( _I |` s ) ) mod P ) = ( ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) mod P ) ) |
42 |
41
|
eqeq1d |
|- ( s = ( 1 ... ( P - 1 ) ) -> ( ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) <-> ( ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) mod P ) = ( -u 1 mod P ) ) ) |
43 |
38 42
|
imbi12d |
|- ( s = ( 1 ... ( P - 1 ) ) -> ( ( s e. A -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) <-> ( ( 1 ... ( P - 1 ) ) e. A -> ( ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) mod P ) = ( -u 1 mod P ) ) ) ) |
44 |
43
|
imbi2d |
|- ( s = ( 1 ... ( P - 1 ) ) -> ( ( P e. Prime -> ( s e. A -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) <-> ( P e. Prime -> ( ( 1 ... ( P - 1 ) ) e. A -> ( ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) mod P ) = ( -u 1 mod P ) ) ) ) ) |
45 |
|
bi2.04 |
|- ( ( s C. t -> ( P e. Prime -> ( s e. A -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) <-> ( P e. Prime -> ( s C. t -> ( s e. A -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) ) |
46 |
|
pm2.27 |
|- ( P e. Prime -> ( ( P e. Prime -> ( s C. t -> ( s e. A -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) -> ( s C. t -> ( s e. A -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) ) |
47 |
46
|
com34 |
|- ( P e. Prime -> ( ( P e. Prime -> ( s C. t -> ( s e. A -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) -> ( s e. A -> ( s C. t -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) ) |
48 |
45 47
|
syl5bi |
|- ( P e. Prime -> ( ( s C. t -> ( P e. Prime -> ( s e. A -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) -> ( s e. A -> ( s C. t -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) ) |
49 |
48
|
alimdv |
|- ( P e. Prime -> ( A. s ( s C. t -> ( P e. Prime -> ( s e. A -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) -> A. s ( s e. A -> ( s C. t -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) ) |
50 |
|
df-ral |
|- ( A. s e. A ( s C. t -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) <-> A. s ( s e. A -> ( s C. t -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) |
51 |
49 50
|
syl6ibr |
|- ( P e. Prime -> ( A. s ( s C. t -> ( P e. Prime -> ( s e. A -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) -> A. s e. A ( s C. t -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) |
52 |
|
simp1 |
|- ( ( P e. Prime /\ A. s e. A ( s C. t -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) /\ t e. A ) -> P e. Prime ) |
53 |
|
simp3 |
|- ( ( P e. Prime /\ A. s e. A ( s C. t -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) /\ t e. A ) -> t e. A ) |
54 |
|
simp2 |
|- ( ( P e. Prime /\ A. s e. A ( s C. t -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) /\ t e. A ) -> A. s e. A ( s C. t -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) |
55 |
1 2 52 53 54
|
wilthlem2 |
|- ( ( P e. Prime /\ A. s e. A ( s C. t -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) /\ t e. A ) -> ( ( T gsum ( _I |` t ) ) mod P ) = ( -u 1 mod P ) ) |
56 |
55
|
3exp |
|- ( P e. Prime -> ( A. s e. A ( s C. t -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) -> ( t e. A -> ( ( T gsum ( _I |` t ) ) mod P ) = ( -u 1 mod P ) ) ) ) |
57 |
51 56
|
syldc |
|- ( A. s ( s C. t -> ( P e. Prime -> ( s e. A -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) -> ( P e. Prime -> ( t e. A -> ( ( T gsum ( _I |` t ) ) mod P ) = ( -u 1 mod P ) ) ) ) |
58 |
57
|
a1i |
|- ( t e. Fin -> ( A. s ( s C. t -> ( P e. Prime -> ( s e. A -> ( ( T gsum ( _I |` s ) ) mod P ) = ( -u 1 mod P ) ) ) ) -> ( P e. Prime -> ( t e. A -> ( ( T gsum ( _I |` t ) ) mod P ) = ( -u 1 mod P ) ) ) ) ) |
59 |
37 44 58
|
findcard3 |
|- ( ( 1 ... ( P - 1 ) ) e. Fin -> ( P e. Prime -> ( ( 1 ... ( P - 1 ) ) e. A -> ( ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) mod P ) = ( -u 1 mod P ) ) ) ) |
60 |
30 59
|
ax-mp |
|- ( P e. Prime -> ( ( 1 ... ( P - 1 ) ) e. A -> ( ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) mod P ) = ( -u 1 mod P ) ) ) |
61 |
29 60
|
mpd |
|- ( P e. Prime -> ( ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) mod P ) = ( -u 1 mod P ) ) |
62 |
|
cnfld1 |
|- 1 = ( 1r ` CCfld ) |
63 |
1 62
|
ringidval |
|- 1 = ( 0g ` T ) |
64 |
|
cncrng |
|- CCfld e. CRing |
65 |
1
|
crngmgp |
|- ( CCfld e. CRing -> T e. CMnd ) |
66 |
64 65
|
mp1i |
|- ( P e. Prime -> T e. CMnd ) |
67 |
30
|
a1i |
|- ( P e. Prime -> ( 1 ... ( P - 1 ) ) e. Fin ) |
68 |
|
zsubrg |
|- ZZ e. ( SubRing ` CCfld ) |
69 |
1
|
subrgsubm |
|- ( ZZ e. ( SubRing ` CCfld ) -> ZZ e. ( SubMnd ` T ) ) |
70 |
68 69
|
mp1i |
|- ( P e. Prime -> ZZ e. ( SubMnd ` T ) ) |
71 |
|
f1oi |
|- ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) -1-1-onto-> ( 1 ... ( P - 1 ) ) |
72 |
|
f1of |
|- ( ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) -1-1-onto-> ( 1 ... ( P - 1 ) ) -> ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) --> ( 1 ... ( P - 1 ) ) ) |
73 |
71 72
|
ax-mp |
|- ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) --> ( 1 ... ( P - 1 ) ) |
74 |
|
fzssz |
|- ( 1 ... ( P - 1 ) ) C_ ZZ |
75 |
|
fss |
|- ( ( ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) --> ( 1 ... ( P - 1 ) ) /\ ( 1 ... ( P - 1 ) ) C_ ZZ ) -> ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) --> ZZ ) |
76 |
73 74 75
|
mp2an |
|- ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) --> ZZ |
77 |
76
|
a1i |
|- ( P e. Prime -> ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) --> ZZ ) |
78 |
|
1ex |
|- 1 e. _V |
79 |
78
|
a1i |
|- ( P e. Prime -> 1 e. _V ) |
80 |
77 67 79
|
fdmfifsupp |
|- ( P e. Prime -> ( _I |` ( 1 ... ( P - 1 ) ) ) finSupp 1 ) |
81 |
63 66 67 70 77 80
|
gsumsubmcl |
|- ( P e. Prime -> ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) e. ZZ ) |
82 |
|
1z |
|- 1 e. ZZ |
83 |
|
znegcl |
|- ( 1 e. ZZ -> -u 1 e. ZZ ) |
84 |
82 83
|
mp1i |
|- ( P e. Prime -> -u 1 e. ZZ ) |
85 |
|
moddvds |
|- ( ( P e. NN /\ ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) e. ZZ /\ -u 1 e. ZZ ) -> ( ( ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) mod P ) = ( -u 1 mod P ) <-> P || ( ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) - -u 1 ) ) ) |
86 |
13 81 84 85
|
syl3anc |
|- ( P e. Prime -> ( ( ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) mod P ) = ( -u 1 mod P ) <-> P || ( ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) - -u 1 ) ) ) |
87 |
61 86
|
mpbid |
|- ( P e. Prime -> P || ( ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) - -u 1 ) ) |
88 |
|
fcoi1 |
|- ( ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) --> ( 1 ... ( P - 1 ) ) -> ( ( _I |` ( 1 ... ( P - 1 ) ) ) o. ( _I |` ( 1 ... ( P - 1 ) ) ) ) = ( _I |` ( 1 ... ( P - 1 ) ) ) ) |
89 |
73 88
|
ax-mp |
|- ( ( _I |` ( 1 ... ( P - 1 ) ) ) o. ( _I |` ( 1 ... ( P - 1 ) ) ) ) = ( _I |` ( 1 ... ( P - 1 ) ) ) |
90 |
89
|
fveq1i |
|- ( ( ( _I |` ( 1 ... ( P - 1 ) ) ) o. ( _I |` ( 1 ... ( P - 1 ) ) ) ) ` k ) = ( ( _I |` ( 1 ... ( P - 1 ) ) ) ` k ) |
91 |
|
fvres |
|- ( k e. ( 1 ... ( P - 1 ) ) -> ( ( _I |` ( 1 ... ( P - 1 ) ) ) ` k ) = ( _I ` k ) ) |
92 |
90 91
|
eqtrid |
|- ( k e. ( 1 ... ( P - 1 ) ) -> ( ( ( _I |` ( 1 ... ( P - 1 ) ) ) o. ( _I |` ( 1 ... ( P - 1 ) ) ) ) ` k ) = ( _I ` k ) ) |
93 |
92
|
adantl |
|- ( ( P e. Prime /\ k e. ( 1 ... ( P - 1 ) ) ) -> ( ( ( _I |` ( 1 ... ( P - 1 ) ) ) o. ( _I |` ( 1 ... ( P - 1 ) ) ) ) ` k ) = ( _I ` k ) ) |
94 |
7 93
|
seqfveq |
|- ( P e. Prime -> ( seq 1 ( x. , ( ( _I |` ( 1 ... ( P - 1 ) ) ) o. ( _I |` ( 1 ... ( P - 1 ) ) ) ) ) ` ( P - 1 ) ) = ( seq 1 ( x. , _I ) ` ( P - 1 ) ) ) |
95 |
|
cnfldbas |
|- CC = ( Base ` CCfld ) |
96 |
1 95
|
mgpbas |
|- CC = ( Base ` T ) |
97 |
|
cnfldmul |
|- x. = ( .r ` CCfld ) |
98 |
1 97
|
mgpplusg |
|- x. = ( +g ` T ) |
99 |
|
eqid |
|- ( Cntz ` T ) = ( Cntz ` T ) |
100 |
|
cnring |
|- CCfld e. Ring |
101 |
1
|
ringmgp |
|- ( CCfld e. Ring -> T e. Mnd ) |
102 |
100 101
|
mp1i |
|- ( P e. Prime -> T e. Mnd ) |
103 |
|
zsscn |
|- ZZ C_ CC |
104 |
|
fss |
|- ( ( ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) --> ZZ /\ ZZ C_ CC ) -> ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) --> CC ) |
105 |
76 103 104
|
mp2an |
|- ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) --> CC |
106 |
105
|
a1i |
|- ( P e. Prime -> ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) --> CC ) |
107 |
96 99 66 106
|
cntzcmnf |
|- ( P e. Prime -> ran ( _I |` ( 1 ... ( P - 1 ) ) ) C_ ( ( Cntz ` T ) ` ran ( _I |` ( 1 ... ( P - 1 ) ) ) ) ) |
108 |
|
f1of1 |
|- ( ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) -1-1-onto-> ( 1 ... ( P - 1 ) ) -> ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) -1-1-> ( 1 ... ( P - 1 ) ) ) |
109 |
71 108
|
mp1i |
|- ( P e. Prime -> ( _I |` ( 1 ... ( P - 1 ) ) ) : ( 1 ... ( P - 1 ) ) -1-1-> ( 1 ... ( P - 1 ) ) ) |
110 |
|
suppssdm |
|- ( ( _I |` ( 1 ... ( P - 1 ) ) ) supp 1 ) C_ dom ( _I |` ( 1 ... ( P - 1 ) ) ) |
111 |
|
dmresi |
|- dom ( _I |` ( 1 ... ( P - 1 ) ) ) = ( 1 ... ( P - 1 ) ) |
112 |
110 111
|
sseqtri |
|- ( ( _I |` ( 1 ... ( P - 1 ) ) ) supp 1 ) C_ ( 1 ... ( P - 1 ) ) |
113 |
|
rnresi |
|- ran ( _I |` ( 1 ... ( P - 1 ) ) ) = ( 1 ... ( P - 1 ) ) |
114 |
112 113
|
sseqtrri |
|- ( ( _I |` ( 1 ... ( P - 1 ) ) ) supp 1 ) C_ ran ( _I |` ( 1 ... ( P - 1 ) ) ) |
115 |
114
|
a1i |
|- ( P e. Prime -> ( ( _I |` ( 1 ... ( P - 1 ) ) ) supp 1 ) C_ ran ( _I |` ( 1 ... ( P - 1 ) ) ) ) |
116 |
|
eqid |
|- ( ( ( _I |` ( 1 ... ( P - 1 ) ) ) o. ( _I |` ( 1 ... ( P - 1 ) ) ) ) supp 1 ) = ( ( ( _I |` ( 1 ... ( P - 1 ) ) ) o. ( _I |` ( 1 ... ( P - 1 ) ) ) ) supp 1 ) |
117 |
96 63 98 99 102 67 106 107 5 109 115 116
|
gsumval3 |
|- ( P e. Prime -> ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) = ( seq 1 ( x. , ( ( _I |` ( 1 ... ( P - 1 ) ) ) o. ( _I |` ( 1 ... ( P - 1 ) ) ) ) ) ` ( P - 1 ) ) ) |
118 |
|
facnn |
|- ( ( P - 1 ) e. NN -> ( ! ` ( P - 1 ) ) = ( seq 1 ( x. , _I ) ` ( P - 1 ) ) ) |
119 |
5 118
|
syl |
|- ( P e. Prime -> ( ! ` ( P - 1 ) ) = ( seq 1 ( x. , _I ) ` ( P - 1 ) ) ) |
120 |
94 117 119
|
3eqtr4d |
|- ( P e. Prime -> ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) = ( ! ` ( P - 1 ) ) ) |
121 |
120
|
oveq1d |
|- ( P e. Prime -> ( ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) - -u 1 ) = ( ( ! ` ( P - 1 ) ) - -u 1 ) ) |
122 |
|
nnm1nn0 |
|- ( P e. NN -> ( P - 1 ) e. NN0 ) |
123 |
13 122
|
syl |
|- ( P e. Prime -> ( P - 1 ) e. NN0 ) |
124 |
123
|
faccld |
|- ( P e. Prime -> ( ! ` ( P - 1 ) ) e. NN ) |
125 |
124
|
nncnd |
|- ( P e. Prime -> ( ! ` ( P - 1 ) ) e. CC ) |
126 |
|
ax-1cn |
|- 1 e. CC |
127 |
|
subneg |
|- ( ( ( ! ` ( P - 1 ) ) e. CC /\ 1 e. CC ) -> ( ( ! ` ( P - 1 ) ) - -u 1 ) = ( ( ! ` ( P - 1 ) ) + 1 ) ) |
128 |
125 126 127
|
sylancl |
|- ( P e. Prime -> ( ( ! ` ( P - 1 ) ) - -u 1 ) = ( ( ! ` ( P - 1 ) ) + 1 ) ) |
129 |
121 128
|
eqtrd |
|- ( P e. Prime -> ( ( T gsum ( _I |` ( 1 ... ( P - 1 ) ) ) ) - -u 1 ) = ( ( ! ` ( P - 1 ) ) + 1 ) ) |
130 |
87 129
|
breqtrd |
|- ( P e. Prime -> P || ( ( ! ` ( P - 1 ) ) + 1 ) ) |