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

Theorem wilthlem3 23322
Description: Lemma for wilth 23323. Here we round out the argument of wilthlem2 23321 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 14217 . . . . . . . 8  |-  ( P  e.  Prime  ->  P  e.  ( ZZ>= `  2 )
)
2 uz2m1nn 11167 . . . . . . . 8  |-  ( P  e.  ( ZZ>= `  2
)  ->  ( P  -  1 )  e.  NN )
31, 2syl 16 . . . . . . 7  |-  ( P  e.  Prime  ->  ( P  -  1 )  e.  NN )
4 nnuz 11127 . . . . . . 7  |-  NN  =  ( ZZ>= `  1 )
53, 4syl6eleq 2541 . . . . . 6  |-  ( P  e.  Prime  ->  ( P  -  1 )  e.  ( ZZ>= `  1 )
)
6 eluzfz2 11705 . . . . . 6  |-  ( ( P  -  1 )  e.  ( ZZ>= `  1
)  ->  ( P  -  1 )  e.  ( 1 ... ( P  -  1 ) ) )
75, 6syl 16 . . . . 5  |-  ( P  e.  Prime  ->  ( P  -  1 )  e.  ( 1 ... ( P  -  1 ) ) )
8 simpl 457 . . . . . . . 8  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  P  e.  Prime )
9 elfzelz 11699 . . . . . . . . 9  |-  ( y  e.  ( 1 ... ( P  -  1 ) )  ->  y  e.  ZZ )
109adantl 466 . . . . . . . 8  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  y  e.  ZZ )
11 prmnn 14202 . . . . . . . . 9  |-  ( P  e.  Prime  ->  P  e.  NN )
12 fzm1ndvds 14020 . . . . . . . . 9  |-  ( ( P  e.  NN  /\  y  e.  ( 1 ... ( P  - 
1 ) ) )  ->  -.  P  ||  y
)
1311, 12sylan 471 . . . . . . . 8  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  -.  P  ||  y )
14 eqid 2443 . . . . . . . . 9  |-  ( ( y ^ ( P  -  2 ) )  mod  P )  =  ( ( y ^
( P  -  2 ) )  mod  P
)
1514prmdiv 14297 . . . . . . . 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 1229 . . . . . . 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 459 . . . . . 6  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  (
( y ^ ( P  -  2 ) )  mod  P )  e.  ( 1 ... ( P  -  1 ) ) )
1817ralrimiva 2857 . . . . 5  |-  ( P  e.  Prime  ->  A. y  e.  ( 1 ... ( P  -  1 ) ) ( ( y ^ ( P  - 
2 ) )  mod 
P )  e.  ( 1 ... ( P  -  1 ) ) )
19 ovex 6309 . . . . . . 7  |-  ( 1 ... ( P  - 
1 ) )  e. 
_V
2019pwid 4011 . . . . . 6  |-  ( 1 ... ( P  - 
1 ) )  e. 
~P ( 1 ... ( P  -  1 ) )
21 eleq2 2516 . . . . . . . 8  |-  ( x  =  ( 1 ... ( P  -  1 ) )  ->  (
( P  -  1 )  e.  x  <->  ( P  -  1 )  e.  ( 1 ... ( P  -  1 ) ) ) )
22 eleq2 2516 . . . . . . . . 9  |-  ( x  =  ( 1 ... ( P  -  1 ) )  ->  (
( ( y ^
( P  -  2 ) )  mod  P
)  e.  x  <->  ( (
y ^ ( P  -  2 ) )  mod  P )  e.  ( 1 ... ( P  -  1 ) ) ) )
2322raleqbi1dv 3048 . . . . . . . 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 710 . . . . . . 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 3245 . . . . . 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 918 . . . . 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 664 . . . 4  |-  ( P  e.  Prime  ->  ( 1 ... ( P  - 
1 ) )  e.  A )
29 fzfi 12064 . . . . 5  |-  ( 1 ... ( P  - 
1 ) )  e. 
Fin
30 eleq1 2515 . . . . . . . 8  |-  ( s  =  t  ->  (
s  e.  A  <->  t  e.  A ) )
31 reseq2 5258 . . . . . . . . . . 11  |-  ( s  =  t  ->  (  _I  |`  s )  =  (  _I  |`  t
) )
3231oveq2d 6297 . . . . . . . . . 10  |-  ( s  =  t  ->  ( T  gsumg  (  _I  |`  s
) )  =  ( T  gsumg  (  _I  |`  t
) ) )
3332oveq1d 6296 . . . . . . . . 9  |-  ( s  =  t  ->  (
( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( ( T  gsumg  (  _I  |`  t
) )  mod  P
) )
3433eqeq1d 2445 . . . . . . . 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 320 . . . . . . 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 316 . . . . . 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 2515 . . . . . . . 8  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (
s  e.  A  <->  ( 1 ... ( P  - 
1 ) )  e.  A ) )
38 reseq2 5258 . . . . . . . . . . 11  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (  _I  |`  s )  =  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )
3938oveq2d 6297 . . . . . . . . . 10  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  ( T  gsumg  (  _I  |`  s
) )  =  ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) )
4039oveq1d 6296 . . . . . . . . 9  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (
( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P ) )
4140eqeq1d 2445 . . . . . . . 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 320 . . . . . . 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 316 . . . . . 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 361 . . . . . . . . . . . 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 39 . . . . . . . . . . . . 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 83 . . . . . . . . . . . 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 217 . . . . . . . . . . 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 1696 . . . . . . . . . 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 2798 . . . . . . . . . 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 227 . . . . . . . . 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 31 . . . . . . . 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 997 . . . . . . . . . 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 999 . . . . . . . . . 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 998 . . . . . . . . . 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 23321 . . . . . . . . 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 1196 . . . . . . . 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 29 . . . . . . 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 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
) ) ) ) )
6036, 43, 59findcard3 7765 . . . . 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 5 . . . 4  |-  ( P  e.  Prime  ->  ( ( 1 ... ( P  -  1 ) )  e.  A  ->  (
( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P )  =  ( -u 1  mod  P ) ) )
6228, 61mpd 15 . . 3  |-  ( P  e.  Prime  ->  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P )  =  ( -u 1  mod  P ) )
63 cnfld1 18422 . . . . . 6  |-  1  =  ( 1r ` fld )
6452, 63ringidval 17134 . . . . 5  |-  1  =  ( 0g `  T )
65 cncrng 18418 . . . . . 6  |-fld  e.  CRing
6652crngmgp 17185 . . . . . 6  |-  (fld  e.  CRing  ->  T  e. CMnd )
6765, 66mp1i 12 . . . . 5  |-  ( P  e.  Prime  ->  T  e. CMnd
)
6829a1i 11 . . . . 5  |-  ( P  e.  Prime  ->  ( 1 ... ( P  - 
1 ) )  e. 
Fin )
69 zsubrg 18450 . . . . . 6  |-  ZZ  e.  (SubRing ` fld )
7052subrgsubm 17421 . . . . . 6  |-  ( ZZ  e.  (SubRing ` fld )  ->  ZZ  e.  (SubMnd `  T ) )
7169, 70mp1i 12 . . . . 5  |-  ( P  e.  Prime  ->  ZZ  e.  (SubMnd `  T ) )
72 f1oi 5841 . . . . . . . 8  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) -1-1-onto-> ( 1 ... ( P  -  1 ) )
73 f1of 5806 . . . . . . . 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 5 . . . . . . 7  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ( 1 ... ( P  -  1 ) )
759ssriv 3493 . . . . . . 7  |-  ( 1 ... ( P  - 
1 ) )  C_  ZZ
76 fss 5729 . . . . . . 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 672 . . . . . 6  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ZZ
7877a1i 11 . . . . 5  |-  ( P  e.  Prime  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ZZ )
79 1ex 9594 . . . . . . 7  |-  1  e.  _V
8079a1i 11 . . . . . 6  |-  ( P  e.  Prime  ->  1  e. 
_V )
8178, 68, 80fdmfifsupp 7841 . . . . 5  |-  ( P  e.  Prime  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) finSupp  1 )
8264, 67, 68, 71, 78, 81gsumsubmcl 16909 . . . 4  |-  ( P  e.  Prime  ->  ( T 
gsumg  (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) )  e.  ZZ )
83 1z 10901 . . . . 5  |-  1  e.  ZZ
84 znegcl 10906 . . . . 5  |-  ( 1  e.  ZZ  ->  -u 1  e.  ZZ )
8583, 84mp1i 12 . . . 4  |-  ( P  e.  Prime  ->  -u 1  e.  ZZ )
86 moddvds 13975 . . . 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
) ) )
8711, 82, 85, 86syl3anc 1229 . . 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
) ) )
8862, 87mpbid 210 . 2  |-  ( P  e.  Prime  ->  P  ||  ( ( T  gsumg  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) )  -  -u 1 ) )
89 fcoi1 5749 . . . . . . . . . 10  |-  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ( 1 ... ( P  - 
1 ) )  -> 
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  =  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) )
9074, 89ax-mp 5 . . . . . . . . 9  |-  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  =  (  _I  |`  ( 1 ... ( P  -  1 ) ) )
9190fveq1i 5857 . . . . . . . 8  |-  ( ( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) `  k )  =  ( (  _I  |`  ( 1 ... ( P  -  1 ) ) ) `  k
)
92 fvres 5870 . . . . . . . 8  |-  ( k  e.  ( 1 ... ( P  -  1 ) )  ->  (
(  _I  |`  (
1 ... ( P  - 
1 ) ) ) `
 k )  =  (  _I  `  k
) )
9391, 92syl5eq 2496 . . . . . . 7  |-  ( k  e.  ( 1 ... ( P  -  1 ) )  ->  (
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) `  k )  =  (  _I  `  k ) )
9493adantl 466 . . . . . 6  |-  ( ( P  e.  Prime  /\  k  e.  ( 1 ... ( P  -  1 ) ) )  ->  (
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) `  k )  =  (  _I  `  k ) )
955, 94seqfveq 12113 . . . . 5  |-  ( P  e.  Prime  ->  (  seq 1 (  x.  , 
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) ) `  ( P  -  1 ) )  =  (  seq 1 (  x.  ,  _I  ) `  ( P  -  1 ) ) )
96 cnfldbas 18403 . . . . . . 7  |-  CC  =  ( Base ` fld )
9752, 96mgpbas 17126 . . . . . 6  |-  CC  =  ( Base `  T )
98 cnfldmul 18405 . . . . . . 7  |-  x.  =  ( .r ` fld )
9952, 98mgpplusg 17124 . . . . . 6  |-  x.  =  ( +g  `  T )
100 eqid 2443 . . . . . 6  |-  (Cntz `  T )  =  (Cntz `  T )
101 cnring 18419 . . . . . . 7  |-fld  e.  Ring
10252ringmgp 17183 . . . . . . 7  |-  (fld  e.  Ring  ->  T  e.  Mnd )
103101, 102mp1i 12 . . . . . 6  |-  ( P  e.  Prime  ->  T  e. 
Mnd )
104 zsscn 10879 . . . . . . . 8  |-  ZZ  C_  CC
105 fss 5729 . . . . . . . 8  |-  ( ( (  _I  |`  (
1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ZZ  /\  ZZ  C_  CC )  -> 
(  _I  |`  (
1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> CC )
10677, 104, 105mp2an 672 . . . . . . 7  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> CC
107106a1i 11 . . . . . 6  |-  ( P  e.  Prime  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> CC )
10897, 100, 67, 107cntzcmnf 16830 . . . . . 6  |-  ( P  e.  Prime  ->  ran  (  _I  |`  ( 1 ... ( P  -  1 ) ) )  C_  ( (Cntz `  T ) `  ran  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) )
109 f1of1 5805 . . . . . . 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 ) ) )
11072, 109mp1i 12 . . . . . 6  |-  ( P  e.  Prime  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) )
-1-1-> ( 1 ... ( P  -  1 ) ) )
111 suppssdm 6916 . . . . . . . . 9  |-  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) supp  1 )  C_  dom  (  _I  |`  ( 1 ... ( P  - 
1 ) ) )
112 dmresi 5319 . . . . . . . . 9  |-  dom  (  _I  |`  ( 1 ... ( P  -  1 ) ) )  =  ( 1 ... ( P  -  1 ) )
113111, 112sseqtri 3521 . . . . . . . 8  |-  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) supp  1 )  C_  (
1 ... ( P  - 
1 ) )
114 rnresi 5340 . . . . . . . 8  |-  ran  (  _I  |`  ( 1 ... ( P  -  1 ) ) )  =  ( 1 ... ( P  -  1 ) )
115113, 114sseqtr4i 3522 . . . . . . 7  |-  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) supp  1 )  C_  ran  (  _I  |`  ( 1 ... ( P  - 
1 ) ) )
116115a1i 11 . . . . . 6  |-  ( P  e.  Prime  ->  ( (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) supp  1 )  C_  ran  (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) )
117 eqid 2443 . . . . . 6  |-  ( ( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) supp  1 )  =  ( ( (  _I  |`  ( 1 ... ( P  -  1 ) ) )  o.  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) ) supp  1 )
11897, 64, 99, 100, 103, 68, 107, 108, 3, 110, 116, 117gsumval3 16890 . . . . 5  |-  ( P  e.  Prime  ->  ( T 
gsumg  (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) )  =  (  seq 1 (  x.  , 
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) ) `  ( P  -  1 ) ) )
119 facnn 12337 . . . . . 6  |-  ( ( P  -  1 )  e.  NN  ->  ( ! `  ( P  -  1 ) )  =  (  seq 1
(  x.  ,  _I  ) `  ( P  -  1 ) ) )
1203, 119syl 16 . . . . 5  |-  ( P  e.  Prime  ->  ( ! `
 ( P  - 
1 ) )  =  (  seq 1 (  x.  ,  _I  ) `  ( P  -  1 ) ) )
12195, 118, 1203eqtr4d 2494 . . . 4  |-  ( P  e.  Prime  ->  ( T 
gsumg  (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) )  =  ( ! `
 ( P  - 
1 ) ) )
122121oveq1d 6296 . . 3  |-  ( P  e.  Prime  ->  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  -  -u 1
)  =  ( ( ! `  ( P  -  1 ) )  -  -u 1 ) )
123 nnm1nn0 10844 . . . . . . 7  |-  ( P  e.  NN  ->  ( P  -  1 )  e.  NN0 )
12411, 123syl 16 . . . . . 6  |-  ( P  e.  Prime  ->  ( P  -  1 )  e. 
NN0 )
125 faccl 12345 . . . . . 6  |-  ( ( P  -  1 )  e.  NN0  ->  ( ! `
 ( P  - 
1 ) )  e.  NN )
126124, 125syl 16 . . . . 5  |-  ( P  e.  Prime  ->  ( ! `
 ( P  - 
1 ) )  e.  NN )
127126nncnd 10559 . . . 4  |-  ( P  e.  Prime  ->  ( ! `
 ( P  - 
1 ) )  e.  CC )
128 ax-1cn 9553 . . . 4  |-  1  e.  CC
129 subneg 9873 . . . 4  |-  ( ( ( ! `  ( P  -  1 ) )  e.  CC  /\  1  e.  CC )  ->  ( ( ! `  ( P  -  1
) )  -  -u 1
)  =  ( ( ! `  ( P  -  1 ) )  +  1 ) )
130127, 128, 129sylancl 662 . . 3  |-  ( P  e.  Prime  ->  ( ( ! `  ( P  -  1 ) )  -  -u 1 )  =  ( ( ! `  ( P  -  1
) )  +  1 ) )
131122, 130eqtrd 2484 . 2  |-  ( P  e.  Prime  ->  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  -  -u 1
)  =  ( ( ! `  ( P  -  1 ) )  +  1 ) )
13288, 131breqtrd 4461 1  |-  ( P  e.  Prime  ->  P  ||  ( ( ! `  ( P  -  1
) )  +  1 ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    /\ wa 369    /\ w3a 974   A.wal 1381    = wceq 1383    e. wcel 1804   A.wral 2793   {crab 2797   _Vcvv 3095    C_ wss 3461    C. wpss 3462   ~Pcpw 3997   class class class wbr 4437    _I cid 4780   dom cdm 4989   ran crn 4990    |` cres 4991    o. ccom 4993   -->wf 5574   -1-1->wf1 5575   -1-1-onto->wf1o 5577   ` cfv 5578  (class class class)co 6281   supp csupp 6903   Fincfn 7518   CCcc 9493   1c1 9496    + caddc 9498    x. cmul 9500    - cmin 9810   -ucneg 9811   NNcn 10543   2c2 10592   NN0cn0 10802   ZZcz 10871   ZZ>=cuz 11092   ...cfz 11683    mod cmo 11978    seqcseq 12089   ^cexp 12148   !cfa 12335    || cdvds 13968   Primecprime 14199    gsumg cgsu 14820   Mndcmnd 15898  SubMndcsubmnd 15944  Cntzccntz 16332  CMndccmn 16777  mulGrpcmgp 17120   Ringcrg 17177   CRingccrg 17178  SubRingcsubrg 17404  ℂfldccnfld 18399
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1605  ax-4 1618  ax-5 1691  ax-6 1734  ax-7 1776  ax-8 1806  ax-9 1808  ax-10 1823  ax-11 1828  ax-12 1840  ax-13 1985  ax-ext 2421  ax-rep 4548  ax-sep 4558  ax-nul 4566  ax-pow 4615  ax-pr 4676  ax-un 6577  ax-inf2 8061  ax-cnex 9551  ax-resscn 9552  ax-1cn 9553  ax-icn 9554  ax-addcl 9555  ax-addrcl 9556  ax-mulcl 9557  ax-mulrcl 9558  ax-mulcom 9559  ax-addass 9560  ax-mulass 9561  ax-distr 9562  ax-i2m1 9563  ax-1ne0 9564  ax-1rid 9565  ax-rnegex 9566  ax-rrecex 9567  ax-cnre 9568  ax-pre-lttri 9569  ax-pre-lttrn 9570  ax-pre-ltadd 9571  ax-pre-mulgt0 9572  ax-pre-sup 9573  ax-addf 9574  ax-mulf 9575
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 975  df-3an 976  df-tru 1386  df-ex 1600  df-nf 1604  df-sb 1727  df-eu 2272  df-mo 2273  df-clab 2429  df-cleq 2435  df-clel 2438  df-nfc 2593  df-ne 2640  df-nel 2641  df-ral 2798  df-rex 2799  df-reu 2800  df-rmo 2801  df-rab 2802  df-v 3097  df-sbc 3314  df-csb 3421  df-dif 3464  df-un 3466  df-in 3468  df-ss 3475  df-pss 3477  df-nul 3771  df-if 3927  df-pw 3999  df-sn 4015  df-pr 4017  df-tp 4019  df-op 4021  df-uni 4235  df-int 4272  df-iun 4317  df-iin 4318  df-br 4438  df-opab 4496  df-mpt 4497  df-tr 4531  df-eprel 4781  df-id 4785  df-po 4790  df-so 4791  df-fr 4828  df-se 4829  df-we 4830  df-ord 4871  df-on 4872  df-lim 4873  df-suc 4874  df-xp 4995  df-rel 4996  df-cnv 4997  df-co 4998  df-dm 4999  df-rn 5000  df-res 5001  df-ima 5002  df-iota 5541  df-fun 5580  df-fn 5581  df-f 5582  df-f1 5583  df-fo 5584  df-f1o 5585  df-fv 5586  df-isom 5587  df-riota 6242  df-ov 6284  df-oprab 6285  df-mpt2 6286  df-of 6525  df-om 6686  df-1st 6785  df-2nd 6786  df-supp 6904  df-recs 7044  df-rdg 7078  df-1o 7132  df-2o 7133  df-oadd 7136  df-er 7313  df-map 7424  df-en 7519  df-dom 7520  df-sdom 7521  df-fin 7522  df-fsupp 7832  df-sup 7903  df-oi 7938  df-card 8323  df-cda 8551  df-pnf 9633  df-mnf 9634  df-xr 9635  df-ltxr 9636  df-le 9637  df-sub 9812  df-neg 9813  df-div 10214  df-nn 10544  df-2 10601  df-3 10602  df-4 10603  df-5 10604  df-6 10605  df-7 10606  df-8 10607  df-9 10608  df-10 10609  df-n0 10803  df-z 10872  df-dec 10987  df-uz 11093  df-rp 11232  df-fz 11684  df-fzo 11807  df-fl 11911  df-mod 11979  df-seq 12090  df-exp 12149  df-fac 12336  df-hash 12388  df-cj 12914  df-re 12915  df-im 12916  df-sqrt 13050  df-abs 13051  df-dvds 13969  df-gcd 14127  df-prm 14200  df-phi 14278  df-struct 14616  df-ndx 14617  df-slot 14618  df-base 14619  df-sets 14620  df-ress 14621  df-plusg 14692  df-mulr 14693  df-starv 14694  df-tset 14698  df-ple 14699  df-ds 14701  df-unif 14702  df-0g 14821  df-gsum 14822  df-mre 14965  df-mrc 14966  df-acs 14968  df-mgm 15851  df-sgrp 15890  df-mnd 15900  df-submnd 15946  df-grp 16036  df-minusg 16037  df-mulg 16039  df-subg 16177  df-cntz 16334  df-cmn 16779  df-mgp 17121  df-ur 17133  df-ring 17179  df-cring 17180  df-subrg 17406  df-cnfld 18400
This theorem is referenced by:  wilth  23323
  Copyright terms: Public domain W3C validator