MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  wilthlem3 Structured version   Visualization version   Unicode version

Theorem wilthlem3 24796
Description: Lemma for wilth 24797. Here we round out the argument of wilthlem2 24795 with the final step of the induction. The induction argument shows that every subset of  1 ... ( P  -  1 ) that is closed under inverse and contains  P  -  1 multiplies to  -u 1  mod  P, and clearly  1 ... ( P  -  1 ) itself is such a set. Thus, the product of all the elements is  -u 1, and all that is left is to translate the group sum notation (which we used for its unordered summing capabilities) into an ordered sequence to match the definition of the factorial. (Contributed by Mario Carneiro, 24-Jan-2015.) (Proof shortened by AV, 27-Jul-2019.)
Hypotheses
Ref Expression
wilthlem.t  |-  T  =  (mulGrp ` fld )
wilthlem.a  |-  A  =  { x  e.  ~P ( 1 ... ( P  -  1 ) )  |  ( ( P  -  1 )  e.  x  /\  A. y  e.  x  (
( y ^ ( P  -  2 ) )  mod  P )  e.  x ) }
Assertion
Ref Expression
wilthlem3  |-  ( P  e.  Prime  ->  P  ||  ( ( ! `  ( P  -  1
) )  +  1 ) )
Distinct variable groups:    x, y, A    x, P, y    x, T, y

Proof of Theorem wilthlem3
Dummy variables  t 
s  k are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 prmuz2 15408 . . . . . . . 8  |-  ( P  e.  Prime  ->  P  e.  ( ZZ>= `  2 )
)
2 uz2m1nn 11763 . . . . . . . 8  |-  ( P  e.  ( ZZ>= `  2
)  ->  ( P  -  1 )  e.  NN )
31, 2syl 17 . . . . . . 7  |-  ( P  e.  Prime  ->  ( P  -  1 )  e.  NN )
4 nnuz 11723 . . . . . . 7  |-  NN  =  ( ZZ>= `  1 )
53, 4syl6eleq 2711 . . . . . 6  |-  ( P  e.  Prime  ->  ( P  -  1 )  e.  ( ZZ>= `  1 )
)
6 eluzfz2 12349 . . . . . 6  |-  ( ( P  -  1 )  e.  ( ZZ>= `  1
)  ->  ( P  -  1 )  e.  ( 1 ... ( P  -  1 ) ) )
75, 6syl 17 . . . . 5  |-  ( P  e.  Prime  ->  ( P  -  1 )  e.  ( 1 ... ( P  -  1 ) ) )
8 simpl 473 . . . . . . . 8  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  P  e.  Prime )
9 elfzelz 12342 . . . . . . . . 9  |-  ( y  e.  ( 1 ... ( P  -  1 ) )  ->  y  e.  ZZ )
109adantl 482 . . . . . . . 8  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  y  e.  ZZ )
11 prmnn 15388 . . . . . . . . 9  |-  ( P  e.  Prime  ->  P  e.  NN )
12 fzm1ndvds 15044 . . . . . . . . 9  |-  ( ( P  e.  NN  /\  y  e.  ( 1 ... ( P  - 
1 ) ) )  ->  -.  P  ||  y
)
1311, 12sylan 488 . . . . . . . 8  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  -.  P  ||  y )
14 eqid 2622 . . . . . . . . 9  |-  ( ( y ^ ( P  -  2 ) )  mod  P )  =  ( ( y ^
( P  -  2 ) )  mod  P
)
1514prmdiv 15490 . . . . . . . 8  |-  ( ( 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 ) ) )
168, 10, 13, 15syl3anc 1326 . . . . . . 7  |-  ( ( 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 ) ) )
1716simpld 475 . . . . . 6  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  (
( y ^ ( P  -  2 ) )  mod  P )  e.  ( 1 ... ( P  -  1 ) ) )
1817ralrimiva 2966 . . . . 5  |-  ( P  e.  Prime  ->  A. y  e.  ( 1 ... ( P  -  1 ) ) ( ( y ^ ( P  - 
2 ) )  mod 
P )  e.  ( 1 ... ( P  -  1 ) ) )
19 ovex 6678 . . . . . . 7  |-  ( 1 ... ( P  - 
1 ) )  e. 
_V
2019pwid 4174 . . . . . 6  |-  ( 1 ... ( P  - 
1 ) )  e. 
~P ( 1 ... ( P  -  1 ) )
21 eleq2 2690 . . . . . . . 8  |-  ( x  =  ( 1 ... ( P  -  1 ) )  ->  (
( P  -  1 )  e.  x  <->  ( P  -  1 )  e.  ( 1 ... ( P  -  1 ) ) ) )
22 eleq2 2690 . . . . . . . . 9  |-  ( x  =  ( 1 ... ( P  -  1 ) )  ->  (
( ( y ^
( P  -  2 ) )  mod  P
)  e.  x  <->  ( (
y ^ ( P  -  2 ) )  mod  P )  e.  ( 1 ... ( P  -  1 ) ) ) )
2322raleqbi1dv 3146 . . . . . . . 8  |-  ( 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 ) ) ) )
2421, 23anbi12d 747 . . . . . . 7  |-  ( 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 ) ) ) ) )
25 wilthlem.a . . . . . . 7  |-  A  =  { x  e.  ~P ( 1 ... ( P  -  1 ) )  |  ( ( P  -  1 )  e.  x  /\  A. y  e.  x  (
( y ^ ( P  -  2 ) )  mod  P )  e.  x ) }
2624, 25elrab2 3366 . . . . . 6  |-  ( ( 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 ) ) ) ) )
2720, 26mpbiran 953 . . . . 5  |-  ( ( 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 ) ) ) )
287, 18, 27sylanbrc 698 . . . 4  |-  ( P  e.  Prime  ->  ( 1 ... ( P  - 
1 ) )  e.  A )
29 fzfi 12771 . . . . 5  |-  ( 1 ... ( P  - 
1 ) )  e. 
Fin
30 eleq1 2689 . . . . . . . 8  |-  ( s  =  t  ->  (
s  e.  A  <->  t  e.  A ) )
31 reseq2 5391 . . . . . . . . . . 11  |-  ( s  =  t  ->  (  _I  |`  s )  =  (  _I  |`  t
) )
3231oveq2d 6666 . . . . . . . . . 10  |-  ( s  =  t  ->  ( T  gsumg  (  _I  |`  s
) )  =  ( T  gsumg  (  _I  |`  t
) ) )
3332oveq1d 6665 . . . . . . . . 9  |-  ( s  =  t  ->  (
( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( ( T  gsumg  (  _I  |`  t
) )  mod  P
) )
3433eqeq1d 2624 . . . . . . . 8  |-  ( s  =  t  ->  (
( ( T  gsumg  (  _I  |`  s ) )  mod 
P )  =  (
-u 1  mod  P
)  <->  ( ( T 
gsumg  (  _I  |`  t ) )  mod  P )  =  ( -u 1  mod  P ) ) )
3530, 34imbi12d 334 . . . . . . 7  |-  ( s  =  t  ->  (
( s  e.  A  ->  ( ( T  gsumg  (  _I  |`  s ) )  mod 
P )  =  (
-u 1  mod  P
) )  <->  ( t  e.  A  ->  ( ( T  gsumg  (  _I  |`  t
) )  mod  P
)  =  ( -u
1  mod  P )
) ) )
3635imbi2d 330 . . . . . 6  |-  ( s  =  t  ->  (
( P  e.  Prime  -> 
( s  e.  A  ->  ( ( T  gsumg  (  _I  |`  s ) )  mod 
P )  =  (
-u 1  mod  P
) ) )  <->  ( P  e.  Prime  ->  ( t  e.  A  ->  ( ( T  gsumg  (  _I  |`  t
) )  mod  P
)  =  ( -u
1  mod  P )
) ) ) )
37 eleq1 2689 . . . . . . . 8  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (
s  e.  A  <->  ( 1 ... ( P  - 
1 ) )  e.  A ) )
38 reseq2 5391 . . . . . . . . . . 11  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (  _I  |`  s )  =  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )
3938oveq2d 6666 . . . . . . . . . 10  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  ( T  gsumg  (  _I  |`  s
) )  =  ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) )
4039oveq1d 6665 . . . . . . . . 9  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (
( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P ) )
4140eqeq1d 2624 . . . . . . . 8  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (
( ( T  gsumg  (  _I  |`  s ) )  mod 
P )  =  (
-u 1  mod  P
)  <->  ( ( T 
gsumg  (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) )  mod  P )  =  ( -u 1  mod  P ) ) )
4237, 41imbi12d 334 . . . . . . 7  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (
( s  e.  A  ->  ( ( T  gsumg  (  _I  |`  s ) )  mod 
P )  =  (
-u 1  mod  P
) )  <->  ( (
1 ... ( P  - 
1 ) )  e.  A  ->  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P )  =  ( -u 1  mod  P ) ) ) )
4342imbi2d 330 . . . . . 6  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (
( P  e.  Prime  -> 
( s  e.  A  ->  ( ( T  gsumg  (  _I  |`  s ) )  mod 
P )  =  (
-u 1  mod  P
) ) )  <->  ( P  e.  Prime  ->  ( (
1 ... ( P  - 
1 ) )  e.  A  ->  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P )  =  ( -u 1  mod  P ) ) ) ) )
44 bi2.04 376 . . . . . . . . . . 11  |-  ( ( s  C.  t  ->  ( P  e.  Prime  ->  ( s  e.  A  -> 
( ( T  gsumg  (  _I  |`  s ) )  mod 
P )  =  (
-u 1  mod  P
) ) ) )  <-> 
( P  e.  Prime  -> 
( s  C.  t  ->  ( s  e.  A  ->  ( ( T  gsumg  (  _I  |`  s ) )  mod 
P )  =  (
-u 1  mod  P
) ) ) ) )
45 pm2.27 42 . . . . . . . . . . . 12  |-  ( P  e.  Prime  ->  ( ( P  e.  Prime  ->  ( s  C.  t  ->  ( s  e.  A  -> 
( ( T  gsumg  (  _I  |`  s ) )  mod 
P )  =  (
-u 1  mod  P
) ) ) )  ->  ( s  C.  t  ->  ( s  e.  A  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
) ) ) )
4645com34 91 . . . . . . . . . . 11  |-  ( P  e.  Prime  ->  ( ( P  e.  Prime  ->  ( s  C.  t  ->  ( s  e.  A  -> 
( ( T  gsumg  (  _I  |`  s ) )  mod 
P )  =  (
-u 1  mod  P
) ) ) )  ->  ( s  e.  A  ->  ( s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
) ) ) )
4744, 46syl5bi 232 . . . . . . . . . 10  |-  ( P  e.  Prime  ->  ( ( s  C.  t  ->  ( P  e.  Prime  ->  ( s  e.  A  -> 
( ( T  gsumg  (  _I  |`  s ) )  mod 
P )  =  (
-u 1  mod  P
) ) ) )  ->  ( s  e.  A  ->  ( s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
) ) ) )
4847alimdv 1845 . . . . . . . . 9  |-  ( P  e.  Prime  ->  ( A. s ( s  C.  t  ->  ( P  e. 
Prime  ->  ( s  e.  A  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
) ) )  ->  A. s ( s  e.  A  ->  ( s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
) ) ) )
49 df-ral 2917 . . . . . . . . 9  |-  ( A. s  e.  A  (
s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
)  <->  A. s ( s  e.  A  ->  (
s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
) ) )
5048, 49syl6ibr 242 . . . . . . . 8  |-  ( P  e.  Prime  ->  ( A. s ( s  C.  t  ->  ( P  e. 
Prime  ->  ( s  e.  A  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
) ) )  ->  A. s  e.  A  ( s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s ) )  mod 
P )  =  (
-u 1  mod  P
) ) ) )
51 wilthlem.t . . . . . . . . . 10  |-  T  =  (mulGrp ` fld )
52 simp1 1061 . . . . . . . . . 10  |-  ( ( P  e.  Prime  /\  A. s  e.  A  (
s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
)  /\  t  e.  A )  ->  P  e.  Prime )
53 simp3 1063 . . . . . . . . . 10  |-  ( ( P  e.  Prime  /\  A. s  e.  A  (
s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
)  /\  t  e.  A )  ->  t  e.  A )
54 simp2 1062 . . . . . . . . . 10  |-  ( ( P  e.  Prime  /\  A. s  e.  A  (
s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
)  /\  t  e.  A )  ->  A. s  e.  A  ( s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
) )
5551, 25, 52, 53, 54wilthlem2 24795 . . . . . . . . 9  |-  ( ( P  e.  Prime  /\  A. s  e.  A  (
s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
)  /\  t  e.  A )  ->  (
( T  gsumg  (  _I  |`  t
) )  mod  P
)  =  ( -u
1  mod  P )
)
56553exp 1264 . . . . . . . 8  |-  ( P  e.  Prime  ->  ( A. s  e.  A  (
s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
)  ->  ( t  e.  A  ->  ( ( T  gsumg  (  _I  |`  t
) )  mod  P
)  =  ( -u
1  mod  P )
) ) )
5750, 56syldc 48 . . . . . . 7  |-  ( A. s ( s  C.  t  ->  ( P  e. 
Prime  ->  ( s  e.  A  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
) ) )  -> 
( P  e.  Prime  -> 
( t  e.  A  ->  ( ( T  gsumg  (  _I  |`  t ) )  mod 
P )  =  (
-u 1  mod  P
) ) ) )
5857a1i 11 . . . . . 6  |-  ( t  e.  Fin  ->  ( A. s ( s  C.  t  ->  ( P  e. 
Prime  ->  ( s  e.  A  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
) ) )  -> 
( P  e.  Prime  -> 
( t  e.  A  ->  ( ( T  gsumg  (  _I  |`  t ) )  mod 
P )  =  (
-u 1  mod  P
) ) ) ) )
5936, 43, 58findcard3 8203 . . . . 5  |-  ( ( 1 ... ( P  -  1 ) )  e.  Fin  ->  ( P  e.  Prime  ->  (
( 1 ... ( P  -  1 ) )  e.  A  -> 
( ( T  gsumg  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) )  mod 
P )  =  (
-u 1  mod  P
) ) ) )
6029, 59ax-mp 5 . . . 4  |-  ( P  e.  Prime  ->  ( ( 1 ... ( P  -  1 ) )  e.  A  ->  (
( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P )  =  ( -u 1  mod  P ) ) )
6128, 60mpd 15 . . 3  |-  ( P  e.  Prime  ->  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P )  =  ( -u 1  mod  P ) )
62 cnfld1 19771 . . . . . 6  |-  1  =  ( 1r ` fld )
6351, 62ringidval 18503 . . . . 5  |-  1  =  ( 0g `  T )
64 cncrng 19767 . . . . . 6  |-fld  e.  CRing
6551crngmgp 18555 . . . . . 6  |-  (fld  e.  CRing  ->  T  e. CMnd )
6664, 65mp1i 13 . . . . 5  |-  ( P  e.  Prime  ->  T  e. CMnd
)
6729a1i 11 . . . . 5  |-  ( P  e.  Prime  ->  ( 1 ... ( P  - 
1 ) )  e. 
Fin )
68 zsubrg 19799 . . . . . 6  |-  ZZ  e.  (SubRing ` fld )
6951subrgsubm 18793 . . . . . 6  |-  ( ZZ  e.  (SubRing ` fld )  ->  ZZ  e.  (SubMnd `  T ) )
7068, 69mp1i 13 . . . . 5  |-  ( P  e.  Prime  ->  ZZ  e.  (SubMnd `  T ) )
71 f1oi 6174 . . . . . . . 8  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) -1-1-onto-> ( 1 ... ( P  -  1 ) )
72 f1of 6137 . . . . . . . 8  |-  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) -1-1-onto-> ( 1 ... ( P  -  1 ) )  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ( 1 ... ( P  -  1 ) ) )
7371, 72ax-mp 5 . . . . . . 7  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ( 1 ... ( P  -  1 ) )
749ssriv 3607 . . . . . . 7  |-  ( 1 ... ( P  - 
1 ) )  C_  ZZ
75 fss 6056 . . . . . . 7  |-  ( ( (  _I  |`  (
1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ( 1 ... ( P  - 
1 ) )  /\  ( 1 ... ( P  -  1 ) )  C_  ZZ )  ->  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ZZ )
7673, 74, 75mp2an 708 . . . . . 6  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ZZ
7776a1i 11 . . . . 5  |-  ( P  e.  Prime  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ZZ )
78 1ex 10035 . . . . . . 7  |-  1  e.  _V
7978a1i 11 . . . . . 6  |-  ( P  e.  Prime  ->  1  e. 
_V )
8077, 67, 79fdmfifsupp 8285 . . . . 5  |-  ( P  e.  Prime  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) finSupp  1 )
8163, 66, 67, 70, 77, 80gsumsubmcl 18319 . . . 4  |-  ( P  e.  Prime  ->  ( T 
gsumg  (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) )  e.  ZZ )
82 1z 11407 . . . . 5  |-  1  e.  ZZ
83 znegcl 11412 . . . . 5  |-  ( 1  e.  ZZ  ->  -u 1  e.  ZZ )
8482, 83mp1i 13 . . . 4  |-  ( P  e.  Prime  ->  -u 1  e.  ZZ )
85 moddvds 14991 . . . 4  |-  ( ( P  e.  NN  /\  ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  e.  ZZ  /\  -u 1  e.  ZZ )  ->  ( ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P )  =  ( -u 1  mod  P )  <->  P  ||  (
( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  -  -u 1
) ) )
8611, 81, 84, 85syl3anc 1326 . . 3  |-  ( P  e.  Prime  ->  ( ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P )  =  ( -u 1  mod  P )  <->  P  ||  (
( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  -  -u 1
) ) )
8761, 86mpbid 222 . 2  |-  ( P  e.  Prime  ->  P  ||  ( ( T  gsumg  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) )  -  -u 1 ) )
88 fcoi1 6078 . . . . . . . . . 10  |-  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ( 1 ... ( P  - 
1 ) )  -> 
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  =  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) )
8973, 88ax-mp 5 . . . . . . . . 9  |-  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  =  (  _I  |`  ( 1 ... ( P  -  1 ) ) )
9089fveq1i 6192 . . . . . . . 8  |-  ( ( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) `  k )  =  ( (  _I  |`  ( 1 ... ( P  -  1 ) ) ) `  k
)
91 fvres 6207 . . . . . . . 8  |-  ( k  e.  ( 1 ... ( P  -  1 ) )  ->  (
(  _I  |`  (
1 ... ( P  - 
1 ) ) ) `
 k )  =  (  _I  `  k
) )
9290, 91syl5eq 2668 . . . . . . 7  |-  ( k  e.  ( 1 ... ( P  -  1 ) )  ->  (
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) `  k )  =  (  _I  `  k ) )
9392adantl 482 . . . . . 6  |-  ( ( P  e.  Prime  /\  k  e.  ( 1 ... ( P  -  1 ) ) )  ->  (
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) `  k )  =  (  _I  `  k ) )
945, 93seqfveq 12825 . . . . 5  |-  ( 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 19750 . . . . . . 7  |-  CC  =  ( Base ` fld )
9651, 95mgpbas 18495 . . . . . 6  |-  CC  =  ( Base `  T )
97 cnfldmul 19752 . . . . . . 7  |-  x.  =  ( .r ` fld )
9851, 97mgpplusg 18493 . . . . . 6  |-  x.  =  ( +g  `  T )
99 eqid 2622 . . . . . 6  |-  (Cntz `  T )  =  (Cntz `  T )
100 cnring 19768 . . . . . . 7  |-fld  e.  Ring
10151ringmgp 18553 . . . . . . 7  |-  (fld  e.  Ring  ->  T  e.  Mnd )
102100, 101mp1i 13 . . . . . 6  |-  ( P  e.  Prime  ->  T  e. 
Mnd )
103 zsscn 11385 . . . . . . . 8  |-  ZZ  C_  CC
104 fss 6056 . . . . . . . 8  |-  ( ( (  _I  |`  (
1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ZZ  /\  ZZ  C_  CC )  -> 
(  _I  |`  (
1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> CC )
10576, 103, 104mp2an 708 . . . . . . 7  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> CC
106105a1i 11 . . . . . 6  |-  ( P  e.  Prime  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> CC )
10796, 99, 66, 106cntzcmnf 18248 . . . . . 6  |-  ( P  e.  Prime  ->  ran  (  _I  |`  ( 1 ... ( P  -  1 ) ) )  C_  ( (Cntz `  T ) `  ran  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) )
108 f1of1 6136 . . . . . . 7  |-  ( (  _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 ) ) )
10971, 108mp1i 13 . . . . . 6  |-  ( P  e.  Prime  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) )
-1-1-> ( 1 ... ( P  -  1 ) ) )
110 suppssdm 7308 . . . . . . . . 9  |-  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) supp  1 )  C_  dom  (  _I  |`  ( 1 ... ( P  - 
1 ) ) )
111 dmresi 5457 . . . . . . . . 9  |-  dom  (  _I  |`  ( 1 ... ( P  -  1 ) ) )  =  ( 1 ... ( P  -  1 ) )
112110, 111sseqtri 3637 . . . . . . . 8  |-  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) supp  1 )  C_  (
1 ... ( P  - 
1 ) )
113 rnresi 5479 . . . . . . . 8  |-  ran  (  _I  |`  ( 1 ... ( P  -  1 ) ) )  =  ( 1 ... ( P  -  1 ) )
114112, 113sseqtr4i 3638 . . . . . . 7  |-  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) supp  1 )  C_  ran  (  _I  |`  ( 1 ... ( P  - 
1 ) ) )
115114a1i 11 . . . . . 6  |-  ( P  e.  Prime  ->  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) supp  1 )  C_  ran  (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) )
116 eqid 2622 . . . . . 6  |-  ( ( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) supp  1 )  =  ( ( (  _I  |`  ( 1 ... ( P  -  1 ) ) )  o.  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) ) supp  1 )
11796, 63, 98, 99, 102, 67, 106, 107, 3, 109, 115, 116gsumval3 18308 . . . . 5  |-  ( P  e.  Prime  ->  ( T 
gsumg  (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) )  =  (  seq 1 (  x.  , 
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) ) `  ( P  -  1 ) ) )
118 facnn 13062 . . . . . 6  |-  ( ( P  -  1 )  e.  NN  ->  ( ! `  ( P  -  1 ) )  =  (  seq 1
(  x.  ,  _I  ) `  ( P  -  1 ) ) )
1193, 118syl 17 . . . . 5  |-  ( P  e.  Prime  ->  ( ! `
 ( P  - 
1 ) )  =  (  seq 1 (  x.  ,  _I  ) `  ( P  -  1 ) ) )
12094, 117, 1193eqtr4d 2666 . . . 4  |-  ( P  e.  Prime  ->  ( T 
gsumg  (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) )  =  ( ! `
 ( P  - 
1 ) ) )
121120oveq1d 6665 . . 3  |-  ( P  e.  Prime  ->  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  -  -u 1
)  =  ( ( ! `  ( P  -  1 ) )  -  -u 1 ) )
122 nnm1nn0 11334 . . . . . . 7  |-  ( P  e.  NN  ->  ( P  -  1 )  e.  NN0 )
12311, 122syl 17 . . . . . 6  |-  ( P  e.  Prime  ->  ( P  -  1 )  e. 
NN0 )
124 faccl 13070 . . . . . 6  |-  ( ( P  -  1 )  e.  NN0  ->  ( ! `
 ( P  - 
1 ) )  e.  NN )
125123, 124syl 17 . . . . 5  |-  ( P  e.  Prime  ->  ( ! `
 ( P  - 
1 ) )  e.  NN )
126125nncnd 11036 . . . 4  |-  ( P  e.  Prime  ->  ( ! `
 ( P  - 
1 ) )  e.  CC )
127 ax-1cn 9994 . . . 4  |-  1  e.  CC
128 subneg 10330 . . . 4  |-  ( ( ( ! `  ( P  -  1 ) )  e.  CC  /\  1  e.  CC )  ->  ( ( ! `  ( P  -  1
) )  -  -u 1
)  =  ( ( ! `  ( P  -  1 ) )  +  1 ) )
129126, 127, 128sylancl 694 . . 3  |-  ( P  e.  Prime  ->  ( ( ! `  ( P  -  1 ) )  -  -u 1 )  =  ( ( ! `  ( P  -  1
) )  +  1 ) )
130121, 129eqtrd 2656 . 2  |-  ( P  e.  Prime  ->  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  -  -u 1
)  =  ( ( ! `  ( P  -  1 ) )  +  1 ) )
13187, 130breqtrd 4679 1  |-  ( P  e.  Prime  ->  P  ||  ( ( ! `  ( P  -  1
) )  +  1 ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 196    /\ wa 384    /\ w3a 1037   A.wal 1481    = wceq 1483    e. wcel 1990   A.wral 2912   {crab 2916   _Vcvv 3200    C_ wss 3574    C. wpss 3575   ~Pcpw 4158   class class class wbr 4653    _I cid 5023   dom cdm 5114   ran crn 5115    |` cres 5116    o. ccom 5118   -->wf 5884   -1-1->wf1 5885   -1-1-onto->wf1o 5887   ` cfv 5888  (class class class)co 6650   supp csupp 7295   Fincfn 7955   CCcc 9934   1c1 9937    + caddc 9939    x. cmul 9941    - cmin 10266   -ucneg 10267   NNcn 11020   2c2 11070   NN0cn0 11292   ZZcz 11377   ZZ>=cuz 11687   ...cfz 12326    mod cmo 12668    seqcseq 12801   ^cexp 12860   !cfa 13060    || cdvds 14983   Primecprime 15385    gsumg cgsu 16101   Mndcmnd 17294  SubMndcsubmnd 17334  Cntzccntz 17748  CMndccmn 18193  mulGrpcmgp 18489   Ringcrg 18547   CRingccrg 18548  SubRingcsubrg 18776  ℂfldccnfld 19746
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-rep 4771  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949  ax-inf2 8538  ax-cnex 9992  ax-resscn 9993  ax-1cn 9994  ax-icn 9995  ax-addcl 9996  ax-addrcl 9997  ax-mulcl 9998  ax-mulrcl 9999  ax-mulcom 10000  ax-addass 10001  ax-mulass 10002  ax-distr 10003  ax-i2m1 10004  ax-1ne0 10005  ax-1rid 10006  ax-rnegex 10007  ax-rrecex 10008  ax-cnre 10009  ax-pre-lttri 10010  ax-pre-lttrn 10011  ax-pre-ltadd 10012  ax-pre-mulgt0 10013  ax-pre-sup 10014  ax-addf 10015  ax-mulf 10016
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-nel 2898  df-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-pss 3590  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-tp 4182  df-op 4184  df-uni 4437  df-int 4476  df-iun 4522  df-iin 4523  df-br 4654  df-opab 4713  df-mpt 4730  df-tr 4753  df-id 5024  df-eprel 5029  df-po 5035  df-so 5036  df-fr 5073  df-se 5074  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-pred 5680  df-ord 5726  df-on 5727  df-lim 5728  df-suc 5729  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-isom 5897  df-riota 6611  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-of 6897  df-om 7066  df-1st 7168  df-2nd 7169  df-supp 7296  df-wrecs 7407  df-recs 7468  df-rdg 7506  df-1o 7560  df-2o 7561  df-oadd 7564  df-er 7742  df-map 7859  df-en 7956  df-dom 7957  df-sdom 7958  df-fin 7959  df-fsupp 8276  df-sup 8348  df-inf 8349  df-oi 8415  df-card 8765  df-cda 8990  df-pnf 10076  df-mnf 10077  df-xr 10078  df-ltxr 10079  df-le 10080  df-sub 10268  df-neg 10269  df-div 10685  df-nn 11021  df-2 11079  df-3 11080  df-4 11081  df-5 11082  df-6 11083  df-7 11084  df-8 11085  df-9 11086  df-n0 11293  df-xnn0 11364  df-z 11378  df-dec 11494  df-uz 11688  df-rp 11833  df-fz 12327  df-fzo 12466  df-fl 12593  df-mod 12669  df-seq 12802  df-exp 12861  df-fac 13061  df-hash 13118  df-cj 13839  df-re 13840  df-im 13841  df-sqrt 13975  df-abs 13976  df-dvds 14984  df-gcd 15217  df-prm 15386  df-phi 15471  df-struct 15859  df-ndx 15860  df-slot 15861  df-base 15863  df-sets 15864  df-ress 15865  df-plusg 15954  df-mulr 15955  df-starv 15956  df-tset 15960  df-ple 15961  df-ds 15964  df-unif 15965  df-0g 16102  df-gsum 16103  df-mre 16246  df-mrc 16247  df-acs 16249  df-mgm 17242  df-sgrp 17284  df-mnd 17295  df-submnd 17336  df-grp 17425  df-minusg 17426  df-mulg 17541  df-subg 17591  df-cntz 17750  df-cmn 18195  df-mgp 18490  df-ur 18502  df-ring 18549  df-cring 18550  df-subrg 18778  df-cnfld 19747
This theorem is referenced by:  wilth  24797
  Copyright terms: Public domain W3C validator