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

Theorem wilthlem3 20806
Description: Lemma for wilth 20807. Here we round out the argument of wilthlem2 20805 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 13052 . . . . . . . 8  |-  ( P  e.  Prime  ->  P  e.  ( ZZ>= `  2 )
)
2 uz2m1nn 10506 . . . . . . . 8  |-  ( P  e.  ( ZZ>= `  2
)  ->  ( P  -  1 )  e.  NN )
31, 2syl 16 . . . . . . 7  |-  ( P  e.  Prime  ->  ( P  -  1 )  e.  NN )
4 nnuz 10477 . . . . . . 7  |-  NN  =  ( ZZ>= `  1 )
53, 4syl6eleq 2494 . . . . . 6  |-  ( P  e.  Prime  ->  ( P  -  1 )  e.  ( ZZ>= `  1 )
)
6 eluzfz2 11021 . . . . . 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 444 . . . . . . . 8  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  P  e.  Prime )
9 elfzelz 11015 . . . . . . . . 9  |-  ( y  e.  ( 1 ... ( P  -  1 ) )  ->  y  e.  ZZ )
109adantl 453 . . . . . . . 8  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  y  e.  ZZ )
11 prmnn 13037 . . . . . . . . 9  |-  ( P  e.  Prime  ->  P  e.  NN )
12 fzm1ndvds 12856 . . . . . . . . 9  |-  ( ( P  e.  NN  /\  y  e.  ( 1 ... ( P  - 
1 ) ) )  ->  -.  P  ||  y
)
1311, 12sylan 458 . . . . . . . 8  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  -.  P  ||  y )
14 eqid 2404 . . . . . . . . 9  |-  ( ( y ^ ( P  -  2 ) )  mod  P )  =  ( ( y ^
( P  -  2 ) )  mod  P
)
1514prmdiv 13129 . . . . . . . 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 1184 . . . . . . 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 446 . . . . . 6  |-  ( ( P  e.  Prime  /\  y  e.  ( 1 ... ( P  -  1 ) ) )  ->  (
( y ^ ( P  -  2 ) )  mod  P )  e.  ( 1 ... ( P  -  1 ) ) )
1817ralrimiva 2749 . . . . 5  |-  ( P  e.  Prime  ->  A. y  e.  ( 1 ... ( P  -  1 ) ) ( ( y ^ ( P  - 
2 ) )  mod 
P )  e.  ( 1 ... ( P  -  1 ) ) )
19 ovex 6065 . . . . . . 7  |-  ( 1 ... ( P  - 
1 ) )  e. 
_V
2019pwid 3772 . . . . . 6  |-  ( 1 ... ( P  - 
1 ) )  e. 
~P ( 1 ... ( P  -  1 ) )
21 eleq2 2465 . . . . . . . 8  |-  ( x  =  ( 1 ... ( P  -  1 ) )  ->  (
( P  -  1 )  e.  x  <->  ( P  -  1 )  e.  ( 1 ... ( P  -  1 ) ) ) )
22 eleq2 2465 . . . . . . . . 9  |-  ( x  =  ( 1 ... ( P  -  1 ) )  ->  (
( ( y ^
( P  -  2 ) )  mod  P
)  e.  x  <->  ( (
y ^ ( P  -  2 ) )  mod  P )  e.  ( 1 ... ( P  -  1 ) ) ) )
2322raleqbi1dv 2872 . . . . . . . 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 692 . . . . . . 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 3054 . . . . . 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 885 . . . . 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 646 . . . 4  |-  ( P  e.  Prime  ->  ( 1 ... ( P  - 
1 ) )  e.  A )
29 fzfi 11266 . . . . 5  |-  ( 1 ... ( P  - 
1 ) )  e. 
Fin
30 eleq1 2464 . . . . . . . 8  |-  ( s  =  t  ->  (
s  e.  A  <->  t  e.  A ) )
31 reseq2 5100 . . . . . . . . . . 11  |-  ( s  =  t  ->  (  _I  |`  s )  =  (  _I  |`  t
) )
3231oveq2d 6056 . . . . . . . . . 10  |-  ( s  =  t  ->  ( T  gsumg  (  _I  |`  s
) )  =  ( T  gsumg  (  _I  |`  t
) ) )
3332oveq1d 6055 . . . . . . . . 9  |-  ( s  =  t  ->  (
( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( ( T  gsumg  (  _I  |`  t
) )  mod  P
) )
3433eqeq1d 2412 . . . . . . . 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 312 . . . . . . 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 308 . . . . . 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 2464 . . . . . . . 8  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (
s  e.  A  <->  ( 1 ... ( P  - 
1 ) )  e.  A ) )
38 reseq2 5100 . . . . . . . . . . 11  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (  _I  |`  s )  =  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )
3938oveq2d 6056 . . . . . . . . . 10  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  ( T  gsumg  (  _I  |`  s
) )  =  ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) )
4039oveq1d 6055 . . . . . . . . 9  |-  ( s  =  ( 1 ... ( P  -  1 ) )  ->  (
( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P ) )
4140eqeq1d 2412 . . . . . . . 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 312 . . . . . . 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 308 . . . . . 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 351 . . . . . . . . . . . 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 37 . . . . . . . . . . . . 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 79 . . . . . . . . . . . 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 209 . . . . . . . . . . 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 1628 . . . . . . . . . 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 2671 . . . . . . . . . 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 219 . . . . . . . . 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 29 . . . . . . . 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 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 )  ->  P  e.  Prime )
54 simp3 959 . . . . . . . . . 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 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 )  ->  A. s  e.  A  ( s  C.  t  ->  ( ( T  gsumg  (  _I  |`  s
) )  mod  P
)  =  ( -u
1  mod  P )
) )
5652, 25, 53, 54, 55wilthlem2 20805 . . . . . . . . 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 1152 . . . . . . . 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 27 . . . . . . 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 7309 . . . . 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 15 . . 3  |-  ( P  e.  Prime  ->  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  mod  P )  =  ( -u 1  mod  P ) )
63 cnfld1 16681 . . . . . 6  |-  1  =  ( 1r ` fld )
6452, 63rngidval 15621 . . . . 5  |-  1  =  ( 0g `  T )
65 cncrng 16677 . . . . . 6  |-fld  e.  CRing
6652crngmgp 15627 . . . . . 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 16707 . . . . . 6  |-  ZZ  e.  (SubRing ` fld )
7052subrgsubm 15836 . . . . . 6  |-  ( ZZ  e.  (SubRing ` fld )  ->  ZZ  e.  (SubMnd `  T ) )
7169, 70mp1i 12 . . . . 5  |-  ( P  e.  Prime  ->  ZZ  e.  (SubMnd `  T ) )
72 f1oi 5672 . . . . . . . 8  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) -1-1-onto-> ( 1 ... ( P  -  1 ) )
73 f1of 5633 . . . . . . . 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 3312 . . . . . . 7  |-  ( 1 ... ( P  - 
1 ) )  C_  ZZ
76 fss 5558 . . . . . . 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 654 . . . . . 6  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ZZ
7877a1i 11 . . . . 5  |-  ( P  e.  Prime  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ZZ )
7968, 78fisuppfi 14728 . . . . 5  |-  ( P  e.  Prime  ->  ( `' (  _I  |`  (
1 ... ( P  - 
1 ) ) )
" ( _V  \  { 1 } ) )  e.  Fin )
8064, 67, 68, 71, 78, 79gsumsubmcl 15479 . . . 4  |-  ( P  e.  Prime  ->  ( T 
gsumg  (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) )  e.  ZZ )
81 1z 10267 . . . . 5  |-  1  e.  ZZ
82 znegcl 10269 . . . . 5  |-  ( 1  e.  ZZ  ->  -u 1  e.  ZZ )
8381, 82mp1i 12 . . . 4  |-  ( P  e.  Prime  ->  -u 1  e.  ZZ )
84 moddvds 12814 . . . 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 1184 . . 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 202 . 2  |-  ( P  e.  Prime  ->  P  ||  ( ( T  gsumg  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) )  -  -u 1 ) )
87 fcoi1 5576 . . . . . . . . . 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 5688 . . . . . . . 8  |-  ( ( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) `  k )  =  ( (  _I  |`  ( 1 ... ( P  -  1 ) ) ) `  k
)
90 fvres 5704 . . . . . . . 8  |-  ( k  e.  ( 1 ... ( P  -  1 ) )  ->  (
(  _I  |`  (
1 ... ( P  - 
1 ) ) ) `
 k )  =  (  _I  `  k
) )
9189, 90syl5eq 2448 . . . . . . 7  |-  ( k  e.  ( 1 ... ( P  -  1 ) )  ->  (
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) `  k )  =  (  _I  `  k ) )
9291adantl 453 . . . . . 6  |-  ( ( P  e.  Prime  /\  k  e.  ( 1 ... ( P  -  1 ) ) )  ->  (
( (  _I  |`  (
1 ... ( P  - 
1 ) ) )  o.  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) `  k )  =  (  _I  `  k ) )
935, 92seqfveq 11302 . . . . 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 16662 . . . . . . 7  |-  CC  =  ( Base ` fld )
9552, 94mgpbas 15609 . . . . . 6  |-  CC  =  ( Base `  T )
96 cnfldmul 16664 . . . . . . 7  |-  x.  =  ( .r ` fld )
9752, 96mgpplusg 15607 . . . . . 6  |-  x.  =  ( +g  `  T )
98 eqid 2404 . . . . . 6  |-  (Cntz `  T )  =  (Cntz `  T )
99 cnrng 16678 . . . . . . 7  |-fld  e.  Ring
10052rngmgp 15625 . . . . . . 7  |-  (fld  e.  Ring  ->  T  e.  Mnd )
10199, 100mp1i 12 . . . . . 6  |-  ( P  e.  Prime  ->  T  e. 
Mnd )
102 zsscn 10246 . . . . . . . 8  |-  ZZ  C_  CC
103 fss 5558 . . . . . . . 8  |-  ( ( (  _I  |`  (
1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> ZZ  /\  ZZ  C_  CC )  -> 
(  _I  |`  (
1 ... ( P  - 
1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> CC )
10477, 102, 103mp2an 654 . . . . . . 7  |-  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> CC
105104a1i 11 . . . . . 6  |-  ( P  e.  Prime  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) ) --> CC )
10695, 98, 67, 105cntzcmnf 15470 . . . . . 6  |-  ( P  e.  Prime  ->  ran  (  _I  |`  ( 1 ... ( P  -  1 ) ) )  C_  ( (Cntz `  T ) `  ran  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) ) )
107 f1of1 5632 . . . . . . 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 12 . . . . . 6  |-  ( P  e.  Prime  ->  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) : ( 1 ... ( P  -  1 ) )
-1-1-> ( 1 ... ( P  -  1 ) ) )
109 cnvimass 5183 . . . . . . . . 9  |-  ( `' (  _I  |`  (
1 ... ( P  - 
1 ) ) )
" ( _V  \  { 1 } ) )  C_  dom  (  _I  |`  ( 1 ... ( P  -  1 ) ) )
110 dmresi 5155 . . . . . . . . 9  |-  dom  (  _I  |`  ( 1 ... ( P  -  1 ) ) )  =  ( 1 ... ( P  -  1 ) )
111109, 110sseqtri 3340 . . . . . . . 8  |-  ( `' (  _I  |`  (
1 ... ( P  - 
1 ) ) )
" ( _V  \  { 1 } ) )  C_  ( 1 ... ( P  - 
1 ) )
112 rnresi 5178 . . . . . . . 8  |-  ran  (  _I  |`  ( 1 ... ( P  -  1 ) ) )  =  ( 1 ... ( P  -  1 ) )
113111, 112sseqtr4i 3341 . . . . . . 7  |-  ( `' (  _I  |`  (
1 ... ( P  - 
1 ) ) )
" ( _V  \  { 1 } ) )  C_  ran  (  _I  |`  ( 1 ... ( P  -  1 ) ) )
114113a1i 11 . . . . . 6  |-  ( P  e.  Prime  ->  ( `' (  _I  |`  (
1 ... ( P  - 
1 ) ) )
" ( _V  \  { 1 } ) )  C_  ran  (  _I  |`  ( 1 ... ( P  -  1 ) ) ) )
115 eqid 2404 . . . . . 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 15469 . . . . 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 11523 . . . . . 6  |-  ( ( P  -  1 )  e.  NN  ->  ( ! `  ( P  -  1 ) )  =  (  seq  1
(  x.  ,  _I  ) `  ( P  -  1 ) ) )
1183, 117syl 16 . . . . 5  |-  ( P  e.  Prime  ->  ( ! `
 ( P  - 
1 ) )  =  (  seq  1 (  x.  ,  _I  ) `  ( P  -  1 ) ) )
11993, 116, 1183eqtr4d 2446 . . . 4  |-  ( P  e.  Prime  ->  ( T 
gsumg  (  _I  |`  ( 1 ... ( P  - 
1 ) ) ) )  =  ( ! `
 ( P  - 
1 ) ) )
120119oveq1d 6055 . . 3  |-  ( P  e.  Prime  ->  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  -  -u 1
)  =  ( ( ! `  ( P  -  1 ) )  -  -u 1 ) )
121 nnm1nn0 10217 . . . . . . 7  |-  ( P  e.  NN  ->  ( P  -  1 )  e.  NN0 )
12211, 121syl 16 . . . . . 6  |-  ( P  e.  Prime  ->  ( P  -  1 )  e. 
NN0 )
123 faccl 11531 . . . . . 6  |-  ( ( P  -  1 )  e.  NN0  ->  ( ! `
 ( P  - 
1 ) )  e.  NN )
124122, 123syl 16 . . . . 5  |-  ( P  e.  Prime  ->  ( ! `
 ( P  - 
1 ) )  e.  NN )
125124nncnd 9972 . . . 4  |-  ( P  e.  Prime  ->  ( ! `
 ( P  - 
1 ) )  e.  CC )
126 ax-1cn 9004 . . . 4  |-  1  e.  CC
127 subneg 9306 . . . 4  |-  ( ( ( ! `  ( P  -  1 ) )  e.  CC  /\  1  e.  CC )  ->  ( ( ! `  ( P  -  1
) )  -  -u 1
)  =  ( ( ! `  ( P  -  1 ) )  +  1 ) )
128125, 126, 127sylancl 644 . . 3  |-  ( P  e.  Prime  ->  ( ( ! `  ( P  -  1 ) )  -  -u 1 )  =  ( ( ! `  ( P  -  1
) )  +  1 ) )
129120, 128eqtrd 2436 . 2  |-  ( P  e.  Prime  ->  ( ( T  gsumg  (  _I  |`  (
1 ... ( P  - 
1 ) ) ) )  -  -u 1
)  =  ( ( ! `  ( P  -  1 ) )  +  1 ) )
13086, 129breqtrd 4196 1  |-  ( P  e.  Prime  ->  P  ||  ( ( ! `  ( P  -  1
) )  +  1 ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 177    /\ wa 359    /\ w3a 936   A.wal 1546    = wceq 1649    e. wcel 1721   A.wral 2666   {crab 2670   _Vcvv 2916    \ cdif 3277    C_ wss 3280    C. wpss 3281   ~Pcpw 3759   {csn 3774   class class class wbr 4172    _I cid 4453   `'ccnv 4836   dom cdm 4837   ran crn 4838    |` cres 4839   "cima 4840    o. ccom 4841   -->wf 5409   -1-1->wf1 5410   -1-1-onto->wf1o 5412   ` cfv 5413  (class class class)co 6040   Fincfn 7068   CCcc 8944   1c1 8947    + caddc 8949    x. cmul 8951    - cmin 9247   -ucneg 9248   NNcn 9956   2c2 10005   NN0cn0 10177   ZZcz 10238   ZZ>=cuz 10444   ...cfz 10999    mod cmo 11205    seq cseq 11278   ^cexp 11337   !cfa 11521    || cdivides 12807   Primecprime 13034    gsumg cgsu 13679   Mndcmnd 14639  SubMndcsubmnd 14692  Cntzccntz 15069  CMndccmn 15367  mulGrpcmgp 15603   Ringcrg 15615   CRingccrg 15616  SubRingcsubrg 15819  ℂfldccnfld 16658
This theorem is referenced by:  wilth  20807
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1662  ax-8 1683  ax-13 1723  ax-14 1725  ax-6 1740  ax-7 1745  ax-11 1757  ax-12 1946  ax-ext 2385  ax-rep 4280  ax-sep 4290  ax-nul 4298  ax-pow 4337  ax-pr 4363  ax-un 4660  ax-inf2 7552  ax-cnex 9002  ax-resscn 9003  ax-1cn 9004  ax-icn 9005  ax-addcl 9006  ax-addrcl 9007  ax-mulcl 9008  ax-mulrcl 9009  ax-mulcom 9010  ax-addass 9011  ax-mulass 9012  ax-distr 9013  ax-i2m1 9014  ax-1ne0 9015  ax-1rid 9016  ax-rnegex 9017  ax-rrecex 9018  ax-cnre 9019  ax-pre-lttri 9020  ax-pre-lttrn 9021  ax-pre-ltadd 9022  ax-pre-mulgt0 9023  ax-pre-sup 9024  ax-addf 9025  ax-mulf 9026
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2258  df-mo 2259  df-clab 2391  df-cleq 2397  df-clel 2400  df-nfc 2529  df-ne 2569  df-nel 2570  df-ral 2671  df-rex 2672  df-reu 2673  df-rmo 2674  df-rab 2675  df-v 2918  df-sbc 3122  df-csb 3212  df-dif 3283  df-un 3285  df-in 3287  df-ss 3294  df-pss 3296  df-nul 3589  df-if 3700  df-pw 3761  df-sn 3780  df-pr 3781  df-tp 3782  df-op 3783  df-uni 3976  df-int 4011  df-iun 4055  df-iin 4056  df-br 4173  df-opab 4227  df-mpt 4228  df-tr 4263  df-eprel 4454  df-id 4458  df-po 4463  df-so 4464  df-fr 4501  df-se 4502  df-we 4503  df-ord 4544  df-on 4545  df-lim 4546  df-suc 4547  df-om 4805  df-xp 4843  df-rel 4844  df-cnv 4845  df-co 4846  df-dm 4847  df-rn 4848  df-res 4849  df-ima 4850  df-iota 5377  df-fun 5415  df-fn 5416  df-f 5417  df-f1 5418  df-fo 5419  df-f1o 5420  df-fv 5421  df-isom 5422  df-ov 6043  df-oprab 6044  df-mpt2 6045  df-of 6264  df-1st 6308  df-2nd 6309  df-riota 6508  df-recs 6592  df-rdg 6627  df-1o 6683  df-2o 6684  df-oadd 6687  df-er 6864  df-map 6979  df-en 7069  df-dom 7070  df-sdom 7071  df-fin 7072  df-sup 7404  df-oi 7435  df-card 7782  df-cda 8004  df-pnf 9078  df-mnf 9079  df-xr 9080  df-ltxr 9081  df-le 9082  df-sub 9249  df-neg 9250  df-div 9634  df-nn 9957  df-2 10014  df-3 10015  df-4 10016  df-5 10017  df-6 10018  df-7 10019  df-8 10020  df-9 10021  df-10 10022  df-n0 10178  df-z 10239  df-dec 10339  df-uz 10445  df-rp 10569  df-fz 11000  df-fzo 11091  df-fl 11157  df-mod 11206  df-seq 11279  df-exp 11338  df-fac 11522  df-hash 11574  df-cj 11859  df-re 11860  df-im 11861  df-sqr 11995  df-abs 11996  df-dvds 12808  df-gcd 12962  df-prm 13035  df-phi 13110  df-struct 13426  df-ndx 13427  df-slot 13428  df-base 13429  df-sets 13430  df-ress 13431  df-plusg 13497  df-mulr 13498  df-starv 13499  df-tset 13503  df-ple 13504  df-ds 13506  df-unif 13507  df-0g 13682  df-gsum 13683  df-mre 13766  df-mrc 13767  df-acs 13769  df-mnd 14645  df-submnd 14694  df-grp 14767  df-minusg 14768  df-mulg 14770  df-subg 14896  df-cntz 15071  df-cmn 15369  df-mgp 15604  df-rng 15618  df-cring 15619  df-ur 15620  df-subrg 15821  df-cnfld 16659
  Copyright terms: Public domain W3C validator