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

Theorem wilthlem3 20531
Description: Lemma for wilth 20532. Here we round out the argument of wilthlem2 20530 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.)
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 12984 . . . . . . . 8  |-  ( P  e.  Prime  ->  P  e.  ( ZZ>= `  2 )
)
2 uz2m1nn 10443 . . . . . . . 8  |-  ( P  e.  ( ZZ>= `  2
)  ->  ( P  -  1 )  e.  NN )
31, 2syl 15 . . . . . . 7  |-  ( P  e.  Prime  ->  ( P  -  1 )  e.  NN )
4 nnuz 10414 . . . . . . 7  |-  NN  =  ( ZZ>= `  1 )
53, 4syl6eleq 2456 . . . . . 6  |-  ( P  e.  Prime  ->  ( P  -  1 )  e.  ( ZZ>= `  1 )
)
6 eluzfz2 10957 . . . . . 6  |-  ( ( P  -  1 )  e.  ( ZZ>= `  1
)  ->  ( P  -  1 )  e.  ( 1 ... ( P  -  1 ) ) )
75, 6syl 15 . . . . 5  |-  ( P  e.  Prime  ->  ( P  -  1 )  e.  ( 1 ... ( P  -  1 ) ) )
8 simpl 443 . . . . . . . 8  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  P  e.  Prime )
9 elfzelz 10951 . . . . . . . . 9  |-  ( y  e.  ( 1 ... ( P  -  1 ) )  ->  y  e.  ZZ )
109adantl 452 . . . . . . . 8  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  y  e.  ZZ )
11 prmnn 12969 . . . . . . . . 9  |-  ( P  e.  Prime  ->  P  e.  NN )
12 fzm1ndvds 12788 . . . . . . . . 9  |-  ( ( P  e.  NN  /\  y  e.  ( 1 ... ( P  - 
1 ) ) )  ->  -.  P  ||  y
)
1311, 12sylan 457 . . . . . . . 8  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  -.  P  ||  y )
14 eqid 2366 . . . . . . . . 9  |-  ( ( y ^ ( P  -  2 ) )  mod  P )  =  ( ( y ^
( P  -  2 ) )  mod  P
)
1514prmdiv 13061 . . . . . . . 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 1183 . . . . . . 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 445 . . . . . 6  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  (
( y ^ ( P  -  2 ) )  mod  P )  e.  ( 1 ... ( P  -  1 ) ) )
1817ralrimiva 2711 . . . . 5  |-  ( P  e.  Prime  ->  A. y  e.  ( 1 ... ( P  -  1 ) ) ( ( y ^ ( P  - 
2 ) )  mod 
P )  e.  ( 1 ... ( P  -  1 ) ) )
19 ovex 6006 . . . . . . 7  |-  ( 1 ... ( P  - 
1 ) )  e. 
_V
2019pwid 3727 . . . . . 6  |-  ( 1 ... ( P  - 
1 ) )  e. 
~P ( 1 ... ( P  -  1 ) )
21 eleq2 2427 . . . . . . . 8  |-  ( x  =  ( 1 ... ( P  -  1 ) )  ->  (
( P  -  1 )  e.  x  <->  ( P  -  1 )  e.  ( 1 ... ( P  -  1 ) ) ) )
22 eleq2 2427 . . . . . . . . 9  |-  ( x  =  ( 1 ... ( P  -  1 ) )  ->  (
( ( y ^
( P  -  2 ) )  mod  P
)  e.  x  <->  ( (
y ^ ( P  -  2 ) )  mod  P )  e.  ( 1 ... ( P  -  1 ) ) ) )
2322raleqbi1dv 2829 . . . . . . . 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 691 . . . . . . 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 3011 . . . . . 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 884 . . . . 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 645 . . . 4  |-  ( P  e.  Prime  ->  ( 1 ... ( P  - 
1 ) )  e.  A )
29 fzfi 11198 . . . . 5  |-  ( 1 ... ( P  - 
1 ) )  e. 
Fin
30 eleq1 2426 . . . . . . . 8  |-  ( s  =  t  ->  (
s  e.  A  <->  t  e.  A ) )
31 reseq2 5053 . . . . . . . . . . 11  |-  ( s  =  t  ->  (  _I  |`  s )  =  (  _I  |`  t
) )
3231oveq2d 5997 . . . . . . . . . 10  |-  ( s  =  t  ->  ( T  gsumg  (  _I  |`  s
) )  =  ( T  gsumg  (  _I  |`  t
) ) )
3332oveq1d 5996 . . . . . . . . 9  |-  ( s  =  t  ->  (
( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( ( T  gsumg  (  _I  |`  t
) )  mod  P
) )
3433eqeq1d 2374 . . . . . . . 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 311 . . . . . . 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 307 . . . . . 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 2426 . . . . . . . 8  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (
s  e.  A  <->  ( 1 ... ( P  - 
1 ) )  e.  A ) )
38 reseq2 5053 . . . . . . . . . . 11  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (  _I  |`  s )  =  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )
3938oveq2d 5997 . . . . . . . . . 10  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  ( T  gsumg  (  _I  |`  s
) )  =  ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) )
4039oveq1d 5996 . . . . . . . . 9  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (
( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P ) )
4140eqeq1d 2374 . . . . . . . 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 311 . . . . . . 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 307 . . . . . 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 350 . . . . . . . . . . . 12  |-  ( ( 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 35 . . . . . . . . . . . . 13  |-  ( 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 77 . . . . . . . . . . . 12  |-  ( 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 208 . . . . . . . . . . 11  |-  ( 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 1626 . . . . . . . . . 10  |-  ( 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 2633 . . . . . . . . . 10  |-  ( 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 218 . . . . . . . . 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  e.  A  ( s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s ) )  mod 
P )  =  (
-u 1  mod  P
) ) ) )
5150com12 27 . . . . . . . 8  |-  ( A. s ( s  C.  t  ->  ( P  e. 
Prime  ->  ( s  e.  A  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
) ) )  -> 
( P  e.  Prime  ->  A. s  e.  A  ( s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s ) )  mod 
P )  =  (
-u 1  mod  P
) ) ) )
52 wilthlem.t . . . . . . . . . 10  |-  T  =  (mulGrp ` fld )
53 simp1 956 . . . . . . . . . 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 )
54 simp3 958 . . . . . . . . . 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 )
55 simp2 957 . . . . . . . . . 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 )
) )
5652, 25, 53, 54, 55wilthlem2 20530 . . . . . . . . 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 )
)
57563exp 1151 . . . . . . . 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 )
) ) )
5851, 57sylcom 25 . . . . . . 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
) ) ) )
5958a1i 10 . . . . . 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
) ) ) ) )
6036, 43, 59findcard3 7247 . . . . 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
) ) ) )
6129, 60ax-mp 8 . . . 4  |-  ( P  e.  Prime  ->  ( ( 1 ... ( P  -  1 ) )  e.  A  ->  (
( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P )  =  ( -u 1  mod  P ) ) )
6228, 61mpd 14 . . 3  |-  ( P  e.  Prime  ->  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P )  =  ( -u 1  mod  P ) )
63 cnfld1 16616 . . . . . 6  |-  1  =  ( 1r ` fld )
6452, 63rngidval 15553 . . . . 5  |-  1  =  ( 0g `  T )
65 cncrng 16612 . . . . . 6  |-fld  e.  CRing
6652crngmgp 15559 . . . . . 6  |-  (fld  e.  CRing  ->  T  e. CMnd )
6765, 66mp1i 11 . . . . 5  |-  ( P  e.  Prime  ->  T  e. CMnd
)
6829a1i 10 . . . . 5  |-  ( P  e.  Prime  ->  ( 1 ... ( P  - 
1 ) )  e. 
Fin )
69 zsubrg 16642 . . . . . 6  |-  ZZ  e.  (SubRing ` fld )
7052subrgsubm 15768 . . . . . 6  |-  ( ZZ  e.  (SubRing ` fld )  ->  ZZ  e.  (SubMnd `  T ) )
7169, 70mp1i 11 . . . . 5  |-  ( P  e.  Prime  ->  ZZ  e.  (SubMnd `  T ) )
72 f1oi 5617 . . . . . . . 8  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) -1-1-onto-> ( 1 ... ( P  -  1 ) )
73 f1of 5578 . . . . . . . 8  |-  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) -1-1-onto-> ( 1 ... ( P  -  1 ) )  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ( 1 ... ( P  -  1 ) ) )
7472, 73ax-mp 8 . . . . . . 7  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ( 1 ... ( P  -  1 ) )
759ssriv 3270 . . . . . . 7  |-  ( 1 ... ( P  - 
1 ) )  C_  ZZ
76 fss 5503 . . . . . . 7  |-  ( ( (  _I  |`  (
1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ( 1 ... ( P  - 
1 ) )  /\  ( 1 ... ( P  -  1 ) )  C_  ZZ )  ->  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ZZ )
7774, 75, 76mp2an 653 . . . . . 6  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ZZ
7877a1i 10 . . . . 5  |-  ( P  e.  Prime  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ZZ )
7968, 78fisuppfi 14660 . . . . 5  |-  ( P  e.  Prime  ->  ( `' (  _I  |`  (
1 ... ( P  - 
1 ) ) )
" ( _V  \  { 1 } ) )  e.  Fin )
8064, 67, 68, 71, 78, 79gsumsubmcl 15411 . . . 4  |-  ( P  e.  Prime  ->  ( T 
gsumg  (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) )  e.  ZZ )
81 1z 10204 . . . . 5  |-  1  e.  ZZ
82 znegcl 10206 . . . . 5  |-  ( 1  e.  ZZ  ->  -u 1  e.  ZZ )
8381, 82mp1i 11 . . . 4  |-  ( P  e.  Prime  ->  -u 1  e.  ZZ )
84 moddvds 12746 . . . 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
) ) )
8511, 80, 83, 84syl3anc 1183 . . 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
) ) )
8662, 85mpbid 201 . 2  |-  ( P  e.  Prime  ->  P  ||  ( ( T  gsumg  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) )  -  -u 1 ) )
87 fcoi1 5521 . . . . . . . . . 10  |-  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ( 1 ... ( P  - 
1 ) )  -> 
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  =  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) )
8874, 87ax-mp 8 . . . . . . . . 9  |-  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  =  (  _I  |`  ( 1 ... ( P  -  1 ) ) )
8988fveq1i 5633 . . . . . . . 8  |-  ( ( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) `  k )  =  ( (  _I  |`  ( 1 ... ( P  -  1 ) ) ) `  k
)
90 fvres 5649 . . . . . . . 8  |-  ( k  e.  ( 1 ... ( P  -  1 ) )  ->  (
(  _I  |`  (
1 ... ( P  - 
1 ) ) ) `
 k )  =  (  _I  `  k
) )
9189, 90syl5eq 2410 . . . . . . 7  |-  ( k  e.  ( 1 ... ( P  -  1 ) )  ->  (
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) `  k )  =  (  _I  `  k ) )
9291adantl 452 . . . . . 6  |-  ( ( P  e.  Prime  /\  k  e.  ( 1 ... ( P  -  1 ) ) )  ->  (
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) `  k )  =  (  _I  `  k ) )
935, 92seqfveq 11234 . . . . 5  |-  ( P  e.  Prime  ->  (  seq  1 (  x.  , 
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) ) `  ( P  -  1 ) )  =  (  seq  1 (  x.  ,  _I  ) `  ( P  -  1 ) ) )
94 cnfldbas 16597 . . . . . . 7  |-  CC  =  ( Base ` fld )
9552, 94mgpbas 15541 . . . . . 6  |-  CC  =  ( Base `  T )
96 cnfldmul 16599 . . . . . . 7  |-  x.  =  ( .r ` fld )
9752, 96mgpplusg 15539 . . . . . 6  |-  x.  =  ( +g  `  T )
98 eqid 2366 . . . . . 6  |-  (Cntz `  T )  =  (Cntz `  T )
99 cnrng 16613 . . . . . . 7  |-fld  e.  Ring
10052rngmgp 15557 . . . . . . 7  |-  (fld  e.  Ring  ->  T  e.  Mnd )
10199, 100mp1i 11 . . . . . 6  |-  ( P  e.  Prime  ->  T  e. 
Mnd )
102 zsscn 10183 . . . . . . . 8  |-  ZZ  C_  CC
103 fss 5503 . . . . . . . 8  |-  ( ( (  _I  |`  (
1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ZZ  /\  ZZ  C_  CC )  -> 
(  _I  |`  (
1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> CC )
10477, 102, 103mp2an 653 . . . . . . 7  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> CC
105104a1i 10 . . . . . 6  |-  ( P  e.  Prime  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> CC )
10695, 98, 67, 105cntzcmnf 15402 . . . . . 6  |-  ( P  e.  Prime  ->  ran  (  _I  |`  ( 1 ... ( P  -  1 ) ) )  C_  ( (Cntz `  T ) `  ran  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) )
107 f1of1 5577 . . . . . . 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 ) ) )
10872, 107mp1i 11 . . . . . 6  |-  ( P  e.  Prime  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) )
-1-1-> ( 1 ... ( P  -  1 ) ) )
109 cnvimass 5136 . . . . . . . . 9  |-  ( `' (  _I  |`  (
1 ... ( P  - 
1 ) ) )
" ( _V  \  { 1 } ) )  C_  dom  (  _I  |`  ( 1 ... ( P  -  1 ) ) )
110 dmresi 5108 . . . . . . . . 9  |-  dom  (  _I  |`  ( 1 ... ( P  -  1 ) ) )  =  ( 1 ... ( P  -  1 ) )
111109, 110sseqtri 3296 . . . . . . . 8  |-  ( `' (  _I  |`  (
1 ... ( P  - 
1 ) ) )
" ( _V  \  { 1 } ) )  C_  ( 1 ... ( P  - 
1 ) )
112 rnresi 5131 . . . . . . . 8  |-  ran  (  _I  |`  ( 1 ... ( P  -  1 ) ) )  =  ( 1 ... ( P  -  1 ) )
113111, 112sseqtr4i 3297 . . . . . . 7  |-  ( `' (  _I  |`  (
1 ... ( P  - 
1 ) ) )
" ( _V  \  { 1 } ) )  C_  ran  (  _I  |`  ( 1 ... ( P  -  1 ) ) )
114113a1i 10 . . . . . 6  |-  ( P  e.  Prime  ->  ( `' (  _I  |`  (
1 ... ( P  - 
1 ) ) )
" ( _V  \  { 1 } ) )  C_  ran  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) )
115 eqid 2366 . . . . . 6  |-  ( `' ( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) " ( _V 
\  { 1 } ) )  =  ( `' ( (  _I  |`  ( 1 ... ( P  -  1 ) ) )  o.  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) )
" ( _V  \  { 1 } ) )
11695, 64, 97, 98, 101, 68, 105, 106, 3, 108, 114, 115gsumval3 15401 . . . . 5  |-  ( P  e.  Prime  ->  ( T 
gsumg  (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) )  =  (  seq  1 (  x.  , 
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) ) `  ( P  -  1 ) ) )
117 facnn 11455 . . . . . 6  |-  ( ( P  -  1 )  e.  NN  ->  ( ! `  ( P  -  1 ) )  =  (  seq  1
(  x.  ,  _I  ) `  ( P  -  1 ) ) )
1183, 117syl 15 . . . . 5  |-  ( P  e.  Prime  ->  ( ! `
 ( P  - 
1 ) )  =  (  seq  1 (  x.  ,  _I  ) `  ( P  -  1 ) ) )
11993, 116, 1183eqtr4d 2408 . . . 4  |-  ( P  e.  Prime  ->  ( T 
gsumg  (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) )  =  ( ! `
 ( P  - 
1 ) ) )
120119oveq1d 5996 . . 3  |-  ( P  e.  Prime  ->  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  -  -u 1
)  =  ( ( ! `  ( P  -  1 ) )  -  -u 1 ) )
121 nnm1nn0 10154 . . . . . . 7  |-  ( P  e.  NN  ->  ( P  -  1 )  e.  NN0 )
12211, 121syl 15 . . . . . 6  |-  ( P  e.  Prime  ->  ( P  -  1 )  e. 
NN0 )
123 faccl 11463 . . . . . 6  |-  ( ( P  -  1 )  e.  NN0  ->  ( ! `
 ( P  - 
1 ) )  e.  NN )
124122, 123syl 15 . . . . 5  |-  ( P  e.  Prime  ->  ( ! `
 ( P  - 
1 ) )  e.  NN )
125124nncnd 9909 . . . 4  |-  ( P  e.  Prime  ->  ( ! `
 ( P  - 
1 ) )  e.  CC )
126 ax-1cn 8942 . . . 4  |-  1  e.  CC
127 subneg 9243 . . . 4  |-  ( ( ( ! `  ( P  -  1 ) )  e.  CC  /\  1  e.  CC )  ->  ( ( ! `  ( P  -  1
) )  -  -u 1
)  =  ( ( ! `  ( P  -  1 ) )  +  1 ) )
128125, 126, 127sylancl 643 . . 3  |-  ( P  e.  Prime  ->  ( ( ! `  ( P  -  1 ) )  -  -u 1 )  =  ( ( ! `  ( P  -  1
) )  +  1 ) )
129120, 128eqtrd 2398 . 2  |-  ( P  e.  Prime  ->  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  -  -u 1
)  =  ( ( ! `  ( P  -  1 ) )  +  1 ) )
13086, 129breqtrd 4149 1  |-  ( P  e.  Prime  ->  P  ||  ( ( ! `  ( P  -  1
) )  +  1 ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 176    /\ wa 358    /\ w3a 935   A.wal 1545    = wceq 1647    e. wcel 1715   A.wral 2628   {crab 2632   _Vcvv 2873    \ cdif 3235    C_ wss 3238    C. wpss 3239   ~Pcpw 3714   {csn 3729   class class class wbr 4125    _I cid 4407   `'ccnv 4791   dom cdm 4792   ran crn 4793    |` cres 4794   "cima 4795    o. ccom 4796   -->wf 5354   -1-1->wf1 5355   -1-1-onto->wf1o 5357   ` cfv 5358  (class class class)co 5981   Fincfn 7006   CCcc 8882   1c1 8885    + caddc 8887    x. cmul 8889    - cmin 9184   -ucneg 9185   NNcn 9893   2c2 9942   NN0cn0 10114   ZZcz 10175   ZZ>=cuz 10381   ...cfz 10935    mod cmo 11137    seq cseq 11210   ^cexp 11269   !cfa 11453    || cdivides 12739   Primecprime 12966    gsumg cgsu 13611   Mndcmnd 14571  SubMndcsubmnd 14624  Cntzccntz 15001  CMndccmn 15299  mulGrpcmgp 15535   Ringcrg 15547   CRingccrg 15548  SubRingcsubrg 15751  ℂfldccnfld 16593
This theorem is referenced by:  wilth  20532
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1551  ax-5 1562  ax-17 1621  ax-9 1659  ax-8 1680  ax-13 1717  ax-14 1719  ax-6 1734  ax-7 1739  ax-11 1751  ax-12 1937  ax-ext 2347  ax-rep 4233  ax-sep 4243  ax-nul 4251  ax-pow 4290  ax-pr 4316  ax-un 4615  ax-inf2 7489  ax-cnex 8940  ax-resscn 8941  ax-1cn 8942  ax-icn 8943  ax-addcl 8944  ax-addrcl 8945  ax-mulcl 8946  ax-mulrcl 8947  ax-mulcom 8948  ax-addass 8949  ax-mulass 8950  ax-distr 8951  ax-i2m1 8952  ax-1ne0 8953  ax-1rid 8954  ax-rnegex 8955  ax-rrecex 8956  ax-cnre 8957  ax-pre-lttri 8958  ax-pre-lttrn 8959  ax-pre-ltadd 8960  ax-pre-mulgt0 8961  ax-pre-sup 8962  ax-addf 8963  ax-mulf 8964
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 936  df-3an 937  df-tru 1324  df-ex 1547  df-nf 1550  df-sb 1654  df-eu 2221  df-mo 2222  df-clab 2353  df-cleq 2359  df-clel 2362  df-nfc 2491  df-ne 2531  df-nel 2532  df-ral 2633  df-rex 2634  df-reu 2635  df-rmo 2636  df-rab 2637  df-v 2875  df-sbc 3078  df-csb 3168  df-dif 3241  df-un 3243  df-in 3245  df-ss 3252  df-pss 3254  df-nul 3544  df-if 3655  df-pw 3716  df-sn 3735  df-pr 3736  df-tp 3737  df-op 3738  df-uni 3930  df-int 3965  df-iun 4009  df-iin 4010  df-br 4126  df-opab 4180  df-mpt 4181  df-tr 4216  df-eprel 4408  df-id 4412  df-po 4417  df-so 4418  df-fr 4455  df-se 4456  df-we 4457  df-ord 4498  df-on 4499  df-lim 4500  df-suc 4501  df-om 4760  df-xp 4798  df-rel 4799  df-cnv 4800  df-co 4801  df-dm 4802  df-rn 4803  df-res 4804  df-ima 4805  df-iota 5322  df-fun 5360  df-fn 5361  df-f 5362  df-f1 5363  df-fo 5364  df-f1o 5365  df-fv 5366  df-isom 5367  df-ov 5984  df-oprab 5985  df-mpt2 5986  df-of 6205  df-1st 6249  df-2nd 6250  df-riota 6446  df-recs 6530  df-rdg 6565  df-1o 6621  df-2o 6622  df-oadd 6625  df-er 6802  df-map 6917  df-en 7007  df-dom 7008  df-sdom 7009  df-fin 7010  df-sup 7341  df-oi 7372  df-card 7719  df-cda 7941  df-pnf 9016  df-mnf 9017  df-xr 9018  df-ltxr 9019  df-le 9020  df-sub 9186  df-neg 9187  df-div 9571  df-nn 9894  df-2 9951  df-3 9952  df-4 9953  df-5 9954  df-6 9955  df-7 9956  df-8 9957  df-9 9958  df-10 9959  df-n0 10115  df-z 10176  df-dec 10276  df-uz 10382  df-rp 10506  df-fz 10936  df-fzo 11026  df-fl 11089  df-mod 11138  df-seq 11211  df-exp 11270  df-fac 11454  df-hash 11506  df-cj 11791  df-re 11792  df-im 11793  df-sqr 11927  df-abs 11928  df-dvds 12740  df-gcd 12894  df-prm 12967  df-phi 13042  df-struct 13358  df-ndx 13359  df-slot 13360  df-base 13361  df-sets 13362  df-ress 13363  df-plusg 13429  df-mulr 13430  df-starv 13431  df-tset 13435  df-ple 13436  df-ds 13438  df-unif 13439  df-0g 13614  df-gsum 13615  df-mre 13698  df-mrc 13699  df-acs 13701  df-mnd 14577  df-submnd 14626  df-grp 14699  df-minusg 14700  df-mulg 14702  df-subg 14828  df-cntz 15003  df-cmn 15301  df-mgp 15536  df-rng 15550  df-cring 15551  df-ur 15552  df-subrg 15753  df-cnfld 16594
  Copyright terms: Public domain W3C validator