| 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
|
biimtrid |
|- ( 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
|
imbitrrdi |
|- ( 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 ) ) |