ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  lgseisenlem3 Unicode version

Theorem lgseisenlem3 16408
Description: Lemma for lgseisen 16410. (Contributed by Mario Carneiro, 17-Jun-2015.) (Proof shortened by AV, 28-Jul-2019.)
Hypotheses
Ref Expression
lgseisen.1  |-  ( ph  ->  P  e.  ( Prime  \  { 2 } ) )
lgseisen.2  |-  ( ph  ->  Q  e.  ( Prime  \  { 2 } ) )
lgseisen.3  |-  ( ph  ->  P  =/=  Q )
lgseisen.4  |-  R  =  ( ( Q  x.  ( 2  x.  x
) )  mod  P
)
lgseisen.5  |-  M  =  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( ( ( ( 
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 ) )
lgseisen.6  |-  S  =  ( ( Q  x.  ( 2  x.  y
) )  mod  P
)
lgseisen.7  |-  Y  =  (ℤ/nℤ `  P )
lgseisen.8  |-  G  =  (mulGrp `  Y )
lgseisen.9  |-  L  =  ( ZRHom `  Y
)
Assertion
Ref Expression
lgseisenlem3  |-  ( ph  ->  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
(  -u 1 ^ R
)  x.  Q ) ) ) )  =  ( 1r `  Y
) )
Distinct variable groups:    x, G    x, L    x, y, P    ph, x, y    y, M    x, Q, y    x, Y    x, S
Allowed substitution hints:    R( x,  y)    S( y)    G( y)    L( y)    M( x)    Y( y)

Proof of Theorem lgseisenlem3
Dummy variable  k is distinct from all other variables.
StepHypRef Expression
1 oveq2 6096 . . . . . . . . 9  |-  ( k  =  x  ->  (
2  x.  k )  =  ( 2  x.  x ) )
21fveq2d 5702 . . . . . . . 8  |-  ( k  =  x  ->  ( L `  ( 2  x.  k ) )  =  ( L `  (
2  x.  x ) ) )
32cbvmptv 4229 . . . . . . 7  |-  ( k  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( 2  x.  k ) ) )  =  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( 2  x.  x
) ) )
43oveq2i 6099 . . . . . 6  |-  ( G 
gsumg  ( k  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  k ) ) ) )  =  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) )
5 eqid 2238 . . . . . . 7  |-  ( Base `  G )  =  (
Base `  G )
6 eqid 2238 . . . . . . 7  |-  ( 0g
`  G )  =  ( 0g `  G
)
7 lgseisen.1 . . . . . . . . . . 11  |-  ( ph  ->  P  e.  ( Prime  \  { 2 } ) )
87eldifad 3231 . . . . . . . . . 10  |-  ( ph  ->  P  e.  Prime )
9 lgseisen.7 . . . . . . . . . . 11  |-  Y  =  (ℤ/nℤ `  P )
109znidom 15102 . . . . . . . . . 10  |-  ( P  e.  Prime  ->  Y  e. IDomn
)
118, 10syl 14 . . . . . . . . 9  |-  ( ph  ->  Y  e. IDomn )
1211idomcringd 14697 . . . . . . . 8  |-  ( ph  ->  Y  e.  CRing )
13 lgseisen.8 . . . . . . . . 9  |-  G  =  (mulGrp `  Y )
1413crngmgp 14416 . . . . . . . 8  |-  ( Y  e.  CRing  ->  G  e. CMnd )
1512, 14syl 14 . . . . . . 7  |-  ( ph  ->  G  e. CMnd )
16 1zzd 9683 . . . . . . . 8  |-  ( ph  ->  1  e.  ZZ )
17 oddn2prm 13070 . . . . . . . . . 10  |-  ( P  e.  ( Prime  \  {
2 } )  ->  -.  2  ||  P )
187, 17syl 14 . . . . . . . . 9  |-  ( ph  ->  -.  2  ||  P
)
19 prmz 12915 . . . . . . . . . 10  |-  ( P  e.  Prime  ->  P  e.  ZZ )
20 oddm1d2 12685 . . . . . . . . . 10  |-  ( P  e.  ZZ  ->  ( -.  2  ||  P  <->  ( ( P  -  1 )  /  2 )  e.  ZZ ) )
218, 19, 203syl 17 . . . . . . . . 9  |-  ( ph  ->  ( -.  2  ||  P 
<->  ( ( P  - 
1 )  /  2
)  e.  ZZ ) )
2218, 21mpbid 147 . . . . . . . 8  |-  ( ph  ->  ( ( P  - 
1 )  /  2
)  e.  ZZ )
2316, 22fzfigd 10890 . . . . . . 7  |-  ( ph  ->  ( 1 ... (
( P  -  1 )  /  2 ) )  e.  Fin )
2411idomringd 14698 . . . . . . . . . . 11  |-  ( ph  ->  Y  e.  Ring )
25 lgseisen.9 . . . . . . . . . . . 12  |-  L  =  ( ZRHom `  Y
)
2625zrhrhm 15068 . . . . . . . . . . 11  |-  ( Y  e.  Ring  ->  L  e.  (ℤring RingHom  Y ) )
27 zringbas 15041 . . . . . . . . . . . 12  |-  ZZ  =  ( Base ` ℤring )
28 eqid 2238 . . . . . . . . . . . 12  |-  ( Base `  Y )  =  (
Base `  Y )
2927, 28rhmf 14580 . . . . . . . . . . 11  |-  ( L  e.  (ℤring RingHom  Y )  ->  L : ZZ --> ( Base `  Y
) )
3024, 26, 293syl 17 . . . . . . . . . 10  |-  ( ph  ->  L : ZZ --> ( Base `  Y ) )
31 2z 9684 . . . . . . . . . . 11  |-  2  e.  ZZ
32 elfzelz 10446 . . . . . . . . . . 11  |-  ( k  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  k  e.  ZZ )
33 zmulcl 9710 . . . . . . . . . . 11  |-  ( ( 2  e.  ZZ  /\  k  e.  ZZ )  ->  ( 2  x.  k
)  e.  ZZ )
3431, 32, 33sylancr 418 . . . . . . . . . 10  |-  ( k  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  (
2  x.  k )  e.  ZZ )
35 ffvelcdm 5844 . . . . . . . . . 10  |-  ( ( L : ZZ --> ( Base `  Y )  /\  (
2  x.  k )  e.  ZZ )  -> 
( L `  (
2  x.  k ) )  e.  ( Base `  Y ) )
3630, 34, 35syl2an 289 . . . . . . . . 9  |-  ( (
ph  /\  k  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( L `  ( 2  x.  k ) )  e.  ( Base `  Y
) )
3736fmpttd 5866 . . . . . . . 8  |-  ( ph  ->  ( k  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  k ) ) ) : ( 1 ... ( ( P  -  1 )  /  2 ) ) --> ( Base `  Y
) )
3813, 28mgpbasg 14332 . . . . . . . . . 10  |-  ( Y  e.  CRing  ->  ( Base `  Y )  =  (
Base `  G )
)
3912, 38syl 14 . . . . . . . . 9  |-  ( ph  ->  ( Base `  Y
)  =  ( Base `  G ) )
4039feq3d 5525 . . . . . . . 8  |-  ( ph  ->  ( ( k  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( 2  x.  k
) ) ) : ( 1 ... (
( P  -  1 )  /  2 ) ) --> ( Base `  Y
)  <->  ( k  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( 2  x.  k
) ) ) : ( 1 ... (
( P  -  1 )  /  2 ) ) --> ( Base `  G
) ) )
4137, 40mpbid 147 . . . . . . 7  |-  ( ph  ->  ( k  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  k ) ) ) : ( 1 ... ( ( P  -  1 )  /  2 ) ) --> ( Base `  G
) )
42 lgseisen.2 . . . . . . . 8  |-  ( ph  ->  Q  e.  ( Prime  \  { 2 } ) )
43 lgseisen.3 . . . . . . . 8  |-  ( ph  ->  P  =/=  Q )
44 lgseisen.4 . . . . . . . 8  |-  R  =  ( ( Q  x.  ( 2  x.  x
) )  mod  P
)
45 lgseisen.5 . . . . . . . 8  |-  M  =  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( ( ( ( 
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 ) )
46 lgseisen.6 . . . . . . . 8  |-  S  =  ( ( Q  x.  ( 2  x.  y
) )  mod  P
)
477, 42, 43, 44, 45, 46lgseisenlem2 16407 . . . . . . 7  |-  ( ph  ->  M : ( 1 ... ( ( P  -  1 )  / 
2 ) ) -1-1-onto-> ( 1 ... ( ( P  -  1 )  / 
2 ) ) )
485, 6, 15, 23, 41, 47gsumf1ofi 14251 . . . . . 6  |-  ( ph  ->  ( G  gsumg  ( k  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  k ) ) ) )  =  ( G  gsumg  ( ( k  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( 2  x.  k
) ) )  o.  M ) ) )
494, 48eqtr3id 2285 . . . . 5  |-  ( ph  ->  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) )  =  ( G  gsumg  ( ( k  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( 2  x.  k
) ) )  o.  M ) ) )
507, 42, 43, 44, 45lgseisenlem1 16406 . . . . . . . 8  |-  ( ph  ->  M : ( 1 ... ( ( P  -  1 )  / 
2 ) ) --> ( 1 ... ( ( P  -  1 )  /  2 ) ) )
5145fmpt 5861 . . . . . . . 8  |-  ( A. x  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) ) ( ( ( (  -u
1 ^ R )  x.  R )  mod 
P )  /  2
)  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) )  <->  M :
( 1 ... (
( P  -  1 )  /  2 ) ) --> ( 1 ... ( ( P  - 
1 )  /  2
) ) )
5250, 51sylibr 134 . . . . . . 7  |-  ( ph  ->  A. x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) ( ( ( ( 
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 )  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) )
5345a1i 9 . . . . . . 7  |-  ( ph  ->  M  =  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( ( ( (  -u 1 ^ R )  x.  R
)  mod  P )  /  2 ) ) )
54 eqidd 2239 . . . . . . 7  |-  ( ph  ->  ( k  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  k ) ) )  =  ( k  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) )  |->  ( L `  ( 2  x.  k ) ) ) )
55 oveq2 6096 . . . . . . . 8  |-  ( k  =  ( ( ( (  -u 1 ^ R
)  x.  R )  mod  P )  / 
2 )  ->  (
2  x.  k )  =  ( 2  x.  ( ( ( ( 
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 ) ) )
5655fveq2d 5702 . . . . . . 7  |-  ( k  =  ( ( ( (  -u 1 ^ R
)  x.  R )  mod  P )  / 
2 )  ->  ( L `  ( 2  x.  k ) )  =  ( L `  (
2  x.  ( ( ( (  -u 1 ^ R )  x.  R
)  mod  P )  /  2 ) ) ) )
5752, 53, 54, 56fmptcof 5878 . . . . . 6  |-  ( ph  ->  ( ( k  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( 2  x.  k
) ) )  o.  M )  =  ( x  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) )  |->  ( L `  ( 2  x.  ( ( ( (  -u 1 ^ R
)  x.  R )  mod  P )  / 
2 ) ) ) ) )
5857oveq2d 6104 . . . . 5  |-  ( ph  ->  ( G  gsumg  ( ( k  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( 2  x.  k
) ) )  o.  M ) )  =  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  ( ( ( (  -u 1 ^ R )  x.  R
)  mod  P )  /  2 ) ) ) ) ) )
5942eldifad 3231 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ph  ->  Q  e.  Prime )
6059adantr 276 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  Q  e.  Prime )
61 prmz 12915 . . . . . . . . . . . . . . . . . . . 20  |-  ( Q  e.  Prime  ->  Q  e.  ZZ )
6260, 61syl 14 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  Q  e.  ZZ )
63 2nn 9478 . . . . . . . . . . . . . . . . . . . . 21  |-  2  e.  NN
64 elfznn 10478 . . . . . . . . . . . . . . . . . . . . . 22  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  x  e.  NN )
6564adantl 277 . . . . . . . . . . . . . . . . . . . . 21  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  x  e.  NN )
66 nnmulcl 9335 . . . . . . . . . . . . . . . . . . . . 21  |-  ( ( 2  e.  NN  /\  x  e.  NN )  ->  ( 2  x.  x
)  e.  NN )
6763, 65, 66sylancr 418 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
2  x.  x )  e.  NN )
6867nnzd 9779 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
2  x.  x )  e.  ZZ )
6962, 68zmulcld 9786 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( Q  x.  ( 2  x.  x ) )  e.  ZZ )
708adantr 276 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  P  e.  Prime )
71 prmnn 12914 . . . . . . . . . . . . . . . . . . 19  |-  ( P  e.  Prime  ->  P  e.  NN )
7270, 71syl 14 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  P  e.  NN )
7369, 72zmodcld 10804 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( Q  x.  (
2  x.  x ) )  mod  P )  e.  NN0 )
7444, 73eqeltrid 2325 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  R  e.  NN0 )
7574nn0zd 9778 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  R  e.  ZZ )
76 m1expcl 11021 . . . . . . . . . . . . . . 15  |-  ( R  e.  ZZ  ->  (  -u 1 ^ R )  e.  ZZ )
7775, 76syl 14 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (  -u 1 ^ R )  e.  ZZ )
7877, 75zmulcld 9786 . . . . . . . . . . . . 13  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
(  -u 1 ^ R
)  x.  R )  e.  ZZ )
7978, 72zmodcld 10804 . . . . . . . . . . . 12  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( (  -u 1 ^ R )  x.  R
)  mod  P )  e.  NN0 )
8079nn0cnd 9634 . . . . . . . . . . 11  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( (  -u 1 ^ R )  x.  R
)  mod  P )  e.  CC )
81 2cnd 9387 . . . . . . . . . . 11  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  2  e.  CC )
82 2ap0 9407 . . . . . . . . . . . 12  |-  2 #  0
8382a1i 9 . . . . . . . . . . 11  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  2 #  0 )
8480, 81, 83divcanap2d 9131 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
2  x.  ( ( ( (  -u 1 ^ R )  x.  R
)  mod  P )  /  2 ) )  =  ( ( ( 
-u 1 ^ R
)  x.  R )  mod  P ) )
8584fveq2d 5702 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( L `  ( 2  x.  ( ( ( ( 
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 ) ) )  =  ( L `  ( ( (  -u
1 ^ R )  x.  R )  mod 
P ) ) )
86 zq 10043 . . . . . . . . . . . . . . 15  |-  ( P  e.  ZZ  ->  P  e.  QQ )
878, 19, 863syl 17 . . . . . . . . . . . . . 14  |-  ( ph  ->  P  e.  QQ )
8887adantr 276 . . . . . . . . . . . . 13  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  P  e.  QQ )
8972nngt0d 9358 . . . . . . . . . . . . 13  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  0  <  P )
90 eqidd 2239 . . . . . . . . . . . . 13  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
(  -u 1 ^ R
)  mod  P )  =  ( (  -u
1 ^ R )  mod  P ) )
9144oveq1i 6098 . . . . . . . . . . . . . 14  |-  ( R  mod  P )  =  ( ( ( Q  x.  ( 2  x.  x ) )  mod 
P )  mod  P
)
92 zq 10043 . . . . . . . . . . . . . . . 16  |-  ( ( Q  x.  ( 2  x.  x ) )  e.  ZZ  ->  ( Q  x.  ( 2  x.  x ) )  e.  QQ )
9369, 92syl 14 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( Q  x.  ( 2  x.  x ) )  e.  QQ )
94 modqabs2 10817 . . . . . . . . . . . . . . 15  |-  ( ( ( Q  x.  (
2  x.  x ) )  e.  QQ  /\  P  e.  QQ  /\  0  <  P )  ->  (
( ( Q  x.  ( 2  x.  x
) )  mod  P
)  mod  P )  =  ( ( Q  x.  ( 2  x.  x ) )  mod 
P ) )
9593, 88, 89, 94syl3anc 1278 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( ( Q  x.  ( 2  x.  x
) )  mod  P
)  mod  P )  =  ( ( Q  x.  ( 2  x.  x ) )  mod 
P ) )
9691, 95eqtrid 2283 . . . . . . . . . . . . 13  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( R  mod  P )  =  ( ( Q  x.  ( 2  x.  x
) )  mod  P
) )
9777, 77, 75, 69, 88, 89, 90, 96modqmul12d 10837 . . . . . . . . . . . 12  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( (  -u 1 ^ R )  x.  R
)  mod  P )  =  ( ( ( 
-u 1 ^ R
)  x.  ( Q  x.  ( 2  x.  x ) ) )  mod  P ) )
98 zq 10043 . . . . . . . . . . . . . 14  |-  ( ( (  -u 1 ^ R
)  x.  R )  e.  ZZ  ->  (
(  -u 1 ^ R
)  x.  R )  e.  QQ )
9978, 98syl 14 . . . . . . . . . . . . 13  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
(  -u 1 ^ R
)  x.  R )  e.  QQ )
100 modqabs2 10817 . . . . . . . . . . . . 13  |-  ( ( ( (  -u 1 ^ R )  x.  R
)  e.  QQ  /\  P  e.  QQ  /\  0  <  P )  ->  (
( ( (  -u
1 ^ R )  x.  R )  mod 
P )  mod  P
)  =  ( ( (  -u 1 ^ R
)  x.  R )  mod  P ) )
10199, 88, 89, 100syl3anc 1278 . . . . . . . . . . . 12  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( ( (  -u
1 ^ R )  x.  R )  mod 
P )  mod  P
)  =  ( ( (  -u 1 ^ R
)  x.  R )  mod  P ) )
10277zcnd 9781 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (  -u 1 ^ R )  e.  CC )
10362zcnd 9781 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  Q  e.  CC )
10468zcnd 9781 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
2  x.  x )  e.  CC )
105102, 103, 104mulassd 8356 . . . . . . . . . . . . 13  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( (  -u 1 ^ R )  x.  Q
)  x.  ( 2  x.  x ) )  =  ( (  -u
1 ^ R )  x.  ( Q  x.  ( 2  x.  x
) ) ) )
106105oveq1d 6103 . . . . . . . . . . . 12  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( ( (  -u
1 ^ R )  x.  Q )  x.  ( 2  x.  x
) )  mod  P
)  =  ( ( (  -u 1 ^ R
)  x.  ( Q  x.  ( 2  x.  x ) ) )  mod  P ) )
10797, 101, 1063eqtr4d 2281 . . . . . . . . . . 11  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( ( (  -u
1 ^ R )  x.  R )  mod 
P )  mod  P
)  =  ( ( ( (  -u 1 ^ R )  x.  Q
)  x.  ( 2  x.  x ) )  mod  P ) )
1088, 71syl 14 . . . . . . . . . . . . 13  |-  ( ph  ->  P  e.  NN )
109108adantr 276 . . . . . . . . . . . 12  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  P  e.  NN )
11079nn0zd 9778 . . . . . . . . . . . 12  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( (  -u 1 ^ R )  x.  R
)  mod  P )  e.  ZZ )
11177, 62zmulcld 9786 . . . . . . . . . . . . 13  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
(  -u 1 ^ R
)  x.  Q )  e.  ZZ )
112111, 68zmulcld 9786 . . . . . . . . . . . 12  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( (  -u 1 ^ R )  x.  Q
)  x.  ( 2  x.  x ) )  e.  ZZ )
113 moddvds 12592 . . . . . . . . . . . 12  |-  ( ( P  e.  NN  /\  ( ( (  -u
1 ^ R )  x.  R )  mod 
P )  e.  ZZ  /\  ( ( (  -u
1 ^ R )  x.  Q )  x.  ( 2  x.  x
) )  e.  ZZ )  ->  ( ( ( ( (  -u 1 ^ R )  x.  R
)  mod  P )  mod  P )  =  ( ( ( (  -u
1 ^ R )  x.  Q )  x.  ( 2  x.  x
) )  mod  P
)  <->  P  ||  ( ( ( (  -u 1 ^ R )  x.  R
)  mod  P )  -  ( ( ( 
-u 1 ^ R
)  x.  Q )  x.  ( 2  x.  x ) ) ) ) )
114109, 110, 112, 113syl3anc 1278 . . . . . . . . . . 11  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( ( ( ( 
-u 1 ^ R
)  x.  R )  mod  P )  mod 
P )  =  ( ( ( (  -u
1 ^ R )  x.  Q )  x.  ( 2  x.  x
) )  mod  P
)  <->  P  ||  ( ( ( (  -u 1 ^ R )  x.  R
)  mod  P )  -  ( ( ( 
-u 1 ^ R
)  x.  Q )  x.  ( 2  x.  x ) ) ) ) )
115107, 114mpbid 147 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  P  ||  ( ( ( ( 
-u 1 ^ R
)  x.  R )  mod  P )  -  ( ( (  -u
1 ^ R )  x.  Q )  x.  ( 2  x.  x
) ) ) )
11672nnnn0d 9632 . . . . . . . . . . 11  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  P  e.  NN0 )
1179, 25zndvds 15094 . . . . . . . . . . 11  |-  ( ( P  e.  NN0  /\  ( ( (  -u
1 ^ R )  x.  R )  mod 
P )  e.  ZZ  /\  ( ( (  -u
1 ^ R )  x.  Q )  x.  ( 2  x.  x
) )  e.  ZZ )  ->  ( ( L `
 ( ( ( 
-u 1 ^ R
)  x.  R )  mod  P ) )  =  ( L `  ( ( (  -u
1 ^ R )  x.  Q )  x.  ( 2  x.  x
) ) )  <->  P  ||  (
( ( (  -u
1 ^ R )  x.  R )  mod 
P )  -  (
( (  -u 1 ^ R )  x.  Q
)  x.  ( 2  x.  x ) ) ) ) )
118116, 110, 112, 117syl3anc 1278 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( L `  (
( (  -u 1 ^ R )  x.  R
)  mod  P )
)  =  ( L `
 ( ( ( 
-u 1 ^ R
)  x.  Q )  x.  ( 2  x.  x ) ) )  <-> 
P  ||  ( (
( (  -u 1 ^ R )  x.  R
)  mod  P )  -  ( ( ( 
-u 1 ^ R
)  x.  Q )  x.  ( 2  x.  x ) ) ) ) )
119115, 118mpbird 167 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( L `  ( (
(  -u 1 ^ R
)  x.  R )  mod  P ) )  =  ( L `  ( ( (  -u
1 ^ R )  x.  Q )  x.  ( 2  x.  x
) ) ) )
12024, 26syl 14 . . . . . . . . . . 11  |-  ( ph  ->  L  e.  (ℤring RingHom  Y ) )
121120adantr 276 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  L  e.  (ℤring RingHom  Y ) )
122 zringmulr 15044 . . . . . . . . . . 11  |-  x.  =  ( .r ` ℤring )
123 eqid 2238 . . . . . . . . . . 11  |-  ( .r
`  Y )  =  ( .r `  Y
)
12427, 122, 123rhmmul 14581 . . . . . . . . . 10  |-  ( ( L  e.  (ℤring RingHom  Y )  /\  ( (  -u 1 ^ R )  x.  Q
)  e.  ZZ  /\  ( 2  x.  x
)  e.  ZZ )  ->  ( L `  ( ( (  -u
1 ^ R )  x.  Q )  x.  ( 2  x.  x
) ) )  =  ( ( L `  ( (  -u 1 ^ R )  x.  Q
) ) ( .r
`  Y ) ( L `  ( 2  x.  x ) ) ) )
125121, 111, 68, 124syl3anc 1278 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( L `  ( (
(  -u 1 ^ R
)  x.  Q )  x.  ( 2  x.  x ) ) )  =  ( ( L `
 ( (  -u
1 ^ R )  x.  Q ) ) ( .r `  Y
) ( L `  ( 2  x.  x
) ) ) )
12685, 119, 1253eqtrd 2275 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( L `  ( 2  x.  ( ( ( ( 
-u 1 ^ R
)  x.  R )  mod  P )  / 
2 ) ) )  =  ( ( L `
 ( (  -u
1 ^ R )  x.  Q ) ) ( .r `  Y
) ( L `  ( 2  x.  x
) ) ) )
127126mpteq2dva 4223 . . . . . . 7  |-  ( ph  ->  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  ( ( ( (  -u 1 ^ R )  x.  R
)  mod  P )  /  2 ) ) ) )  =  ( x  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) )  |->  ( ( L `  (
(  -u 1 ^ R
)  x.  Q ) ) ( .r `  Y ) ( L `
 ( 2  x.  x ) ) ) ) )
12830adantr 276 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  L : ZZ --> ( Base `  Y
) )
129128, 111ffvelcdmd 5847 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( L `  ( (  -u 1 ^ R )  x.  Q ) )  e.  ( Base `  Y
) )
130128, 68ffvelcdmd 5847 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( L `  ( 2  x.  x ) )  e.  ( Base `  Y
) )
131 eqidd 2239 . . . . . . . 8  |-  ( ph  ->  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
(  -u 1 ^ R
)  x.  Q ) ) )  =  ( x  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) )  |->  ( L `  ( ( 
-u 1 ^ R
)  x.  Q ) ) ) )
132 eqidd 2239 . . . . . . . 8  |-  ( ph  ->  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) )  =  ( x  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) )  |->  ( L `  ( 2  x.  x ) ) ) )
13323, 129, 130, 131, 132offval2 6322 . . . . . . 7  |-  ( ph  ->  ( ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( (  -u 1 ^ R )  x.  Q
) ) )  oF ( .r `  Y ) ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( 2  x.  x ) ) ) )  =  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( ( L `  ( ( 
-u 1 ^ R
)  x.  Q ) ) ( .r `  Y ) ( L `
 ( 2  x.  x ) ) ) ) )
134127, 133eqtr4d 2274 . . . . . 6  |-  ( ph  ->  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  ( ( ( (  -u 1 ^ R )  x.  R
)  mod  P )  /  2 ) ) ) )  =  ( ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
(  -u 1 ^ R
)  x.  Q ) ) )  oF ( .r `  Y
) ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( 2  x.  x
) ) ) ) )
135134oveq2d 6104 . . . . 5  |-  ( ph  ->  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  ( ( ( (  -u 1 ^ R )  x.  R
)  mod  P )  /  2 ) ) ) ) )  =  ( G  gsumg  ( ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( (  -u 1 ^ R )  x.  Q
) ) )  oF ( .r `  Y ) ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( 2  x.  x ) ) ) ) ) )
13649, 58, 1353eqtrd 2275 . . . 4  |-  ( ph  ->  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) )  =  ( G  gsumg  ( ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( (  -u 1 ^ R )  x.  Q
) ) )  oF ( .r `  Y ) ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( 2  x.  x ) ) ) ) ) )
137 eqid 2238 . . . . . 6  |-  ( +g  `  G )  =  ( +g  `  G )
13839eleq2d 2308 . . . . . . . 8  |-  ( ph  ->  ( ( L `  ( (  -u 1 ^ R )  x.  Q
) )  e.  (
Base `  Y )  <->  ( L `  ( ( 
-u 1 ^ R
)  x.  Q ) )  e.  ( Base `  G ) ) )
139138adantr 276 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( L `  (
(  -u 1 ^ R
)  x.  Q ) )  e.  ( Base `  Y )  <->  ( L `  ( (  -u 1 ^ R )  x.  Q
) )  e.  (
Base `  G )
) )
140129, 139mpbid 147 . . . . . 6  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( L `  ( (  -u 1 ^ R )  x.  Q ) )  e.  ( Base `  G
) )
14139eleq2d 2308 . . . . . . . 8  |-  ( ph  ->  ( ( L `  ( 2  x.  x
) )  e.  (
Base `  Y )  <->  ( L `  ( 2  x.  x ) )  e.  ( Base `  G
) ) )
142141adantr 276 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( L `  (
2  x.  x ) )  e.  ( Base `  Y )  <->  ( L `  ( 2  x.  x
) )  e.  (
Base `  G )
) )
143130, 142mpbid 147 . . . . . 6  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( L `  ( 2  x.  x ) )  e.  ( Base `  G
) )
144 eqid 2238 . . . . . 6  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( (  -u
1 ^ R )  x.  Q ) ) )  =  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( (  -u
1 ^ R )  x.  Q ) ) )
145 eqid 2238 . . . . . 6  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( 2  x.  x ) ) )  =  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( 2  x.  x
) ) )
1465, 137, 15, 23, 140, 143, 144, 145gsummptfidmadd2 14253 . . . . 5  |-  ( ph  ->  ( G  gsumg  ( ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( (  -u 1 ^ R )  x.  Q
) ) )  oF ( +g  `  G
) ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( 2  x.  x
) ) ) ) )  =  ( ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
(  -u 1 ^ R
)  x.  Q ) ) ) ) ( +g  `  G ) ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) ) ) )
14713, 123mgpplusgg 14329 . . . . . . . . 9  |-  ( Y  e.  CRing  ->  ( .r `  Y )  =  ( +g  `  G ) )
14812, 147syl 14 . . . . . . . 8  |-  ( ph  ->  ( .r `  Y
)  =  ( +g  `  G ) )
149148ofeqd 6307 . . . . . . 7  |-  ( ph  ->  oF ( .r
`  Y )  =  oF ( +g  `  G ) )
150149oveqd 6105 . . . . . 6  |-  ( ph  ->  ( ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( (  -u 1 ^ R )  x.  Q
) ) )  oF ( .r `  Y ) ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( 2  x.  x ) ) ) )  =  ( ( x  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) )  |->  ( L `  ( ( 
-u 1 ^ R
)  x.  Q ) ) )  oF ( +g  `  G
) ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( 2  x.  x
) ) ) ) )
151150oveq2d 6104 . . . . 5  |-  ( ph  ->  ( G  gsumg  ( ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( (  -u 1 ^ R )  x.  Q
) ) )  oF ( .r `  Y ) ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( 2  x.  x ) ) ) ) )  =  ( G  gsumg  ( ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( (  -u 1 ^ R )  x.  Q
) ) )  oF ( +g  `  G
) ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( 2  x.  x
) ) ) ) ) )
152148oveqd 6105 . . . . 5  |-  ( ph  ->  ( ( G  gsumg  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( (  -u
1 ^ R )  x.  Q ) ) ) ) ( .r
`  Y ) ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) ) )  =  ( ( G 
gsumg  ( x  e.  (
1 ... ( ( P  -  1 )  / 
2 ) )  |->  ( L `  ( ( 
-u 1 ^ R
)  x.  Q ) ) ) ) ( +g  `  G ) ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) ) ) )
153146, 151, 1523eqtr4d 2281 . . . 4  |-  ( ph  ->  ( G  gsumg  ( ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( (  -u 1 ^ R )  x.  Q
) ) )  oF ( .r `  Y ) ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( 2  x.  x ) ) ) ) )  =  ( ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
(  -u 1 ^ R
)  x.  Q ) ) ) ) ( .r `  Y ) ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) ) ) )
154136, 153eqtrd 2271 . . 3  |-  ( ph  ->  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) )  =  ( ( G  gsumg  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( (  -u
1 ^ R )  x.  Q ) ) ) ) ( .r
`  Y ) ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) ) ) )
155154oveq1d 6103 . 2  |-  ( ph  ->  ( ( G  gsumg  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( 2  x.  x ) ) ) ) (/r `  Y ) ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) ) )  =  ( ( ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
(  -u 1 ^ R
)  x.  Q ) ) ) ) ( .r `  Y ) ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) ) ) (/r `  Y ) ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) ) ) )
156 eqid 2238 . . . . . 6  |-  (Unit `  Y )  =  (Unit `  Y )
157156, 13unitsubm 14536 . . . . 5  |-  ( Y  e.  Ring  ->  (Unit `  Y )  e.  (SubMnd `  G ) )
15824, 157syl 14 . . . 4  |-  ( ph  ->  (Unit `  Y )  e.  (SubMnd `  G )
)
159 elfzle2 10450 . . . . . . . . . 10  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  x  <_  ( ( P  - 
1 )  /  2
) )
160159adantl 277 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  x  <_  ( ( P  - 
1 )  /  2
) )
16165nnred 9327 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  x  e.  RR )
162 prmuz2 12936 . . . . . . . . . . . 12  |-  ( P  e.  Prime  ->  P  e.  ( ZZ>= `  2 )
)
163 uz2m1nn 10022 . . . . . . . . . . . 12  |-  ( P  e.  ( ZZ>= `  2
)  ->  ( P  -  1 )  e.  NN )
16470, 162, 1633syl 17 . . . . . . . . . . 11  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( P  -  1 )  e.  NN )
165164nnred 9327 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( P  -  1 )  e.  RR )
166 2re 9384 . . . . . . . . . . 11  |-  2  e.  RR
167166a1i 9 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  2  e.  RR )
168 2pos 9405 . . . . . . . . . . 11  |-  0  <  2
169168a1i 9 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  0  <  2 )
170 lemuldiv2 9221 . . . . . . . . . 10  |-  ( ( x  e.  RR  /\  ( P  -  1
)  e.  RR  /\  ( 2  e.  RR  /\  0  <  2 ) )  ->  ( (
2  x.  x )  <_  ( P  - 
1 )  <->  x  <_  ( ( P  -  1 )  /  2 ) ) )
171161, 165, 167, 169, 170syl112anc 1282 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( 2  x.  x
)  <_  ( P  -  1 )  <->  x  <_  ( ( P  -  1 )  /  2 ) ) )
172160, 171mpbird 167 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
2  x.  x )  <_  ( P  - 
1 ) )
17370, 19syl 14 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  P  e.  ZZ )
174 peano2zm 9694 . . . . . . . . 9  |-  ( P  e.  ZZ  ->  ( P  -  1 )  e.  ZZ )
175 fznn 10514 . . . . . . . . 9  |-  ( ( P  -  1 )  e.  ZZ  ->  (
( 2  x.  x
)  e.  ( 1 ... ( P  - 
1 ) )  <->  ( (
2  x.  x )  e.  NN  /\  (
2  x.  x )  <_  ( P  - 
1 ) ) ) )
176173, 174, 1753syl 17 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( 2  x.  x
)  e.  ( 1 ... ( P  - 
1 ) )  <->  ( (
2  x.  x )  e.  NN  /\  (
2  x.  x )  <_  ( P  - 
1 ) ) ) )
17767, 172, 176mpbir2and 957 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
2  x.  x )  e.  ( 1 ... ( P  -  1 ) ) )
178 fzm1ndvds 12649 . . . . . . 7  |-  ( ( P  e.  NN  /\  ( 2  x.  x
)  e.  ( 1 ... ( P  - 
1 ) ) )  ->  -.  P  ||  (
2  x.  x ) )
17972, 177, 178syl2anc 415 . . . . . 6  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  -.  P  ||  ( 2  x.  x ) )
1809, 156, 25znunit 15104 . . . . . . . 8  |-  ( ( P  e.  NN0  /\  ( 2  x.  x
)  e.  ZZ )  ->  ( ( L `
 ( 2  x.  x ) )  e.  (Unit `  Y )  <->  ( ( 2  x.  x
)  gcd  P )  =  1 ) )
181116, 68, 180syl2anc 415 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( L `  (
2  x.  x ) )  e.  (Unit `  Y )  <->  ( (
2  x.  x )  gcd  P )  =  1 ) )
182 coprm 12949 . . . . . . . . 9  |-  ( ( P  e.  Prime  /\  (
2  x.  x )  e.  ZZ )  -> 
( -.  P  ||  ( 2  x.  x
)  <->  ( P  gcd  ( 2  x.  x
) )  =  1 ) )
18319adantr 276 . . . . . . . . . . 11  |-  ( ( P  e.  Prime  /\  (
2  x.  x )  e.  ZZ )  ->  P  e.  ZZ )
184 simpr 110 . . . . . . . . . . 11  |-  ( ( P  e.  Prime  /\  (
2  x.  x )  e.  ZZ )  -> 
( 2  x.  x
)  e.  ZZ )
185183, 184gcdcomd 12777 . . . . . . . . . 10  |-  ( ( P  e.  Prime  /\  (
2  x.  x )  e.  ZZ )  -> 
( P  gcd  (
2  x.  x ) )  =  ( ( 2  x.  x )  gcd  P ) )
186185eqeq1d 2247 . . . . . . . . 9  |-  ( ( P  e.  Prime  /\  (
2  x.  x )  e.  ZZ )  -> 
( ( P  gcd  ( 2  x.  x
) )  =  1  <-> 
( ( 2  x.  x )  gcd  P
)  =  1 ) )
187182, 186bitrd 188 . . . . . . . 8  |-  ( ( P  e.  Prime  /\  (
2  x.  x )  e.  ZZ )  -> 
( -.  P  ||  ( 2  x.  x
)  <->  ( ( 2  x.  x )  gcd 
P )  =  1 ) )
18870, 68, 187syl2anc 415 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( -.  P  ||  ( 2  x.  x )  <->  ( (
2  x.  x )  gcd  P )  =  1 ) )
189181, 188bitr4d 191 . . . . . 6  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( L `  (
2  x.  x ) )  e.  (Unit `  Y )  <->  -.  P  ||  ( 2  x.  x
) ) )
190179, 189mpbird 167 . . . . 5  |-  ( (
ph  /\  x  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( L `  ( 2  x.  x ) )  e.  (Unit `  Y )
)
191190fmpttd 5866 . . . 4  |-  ( ph  ->  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) : ( 1 ... ( ( P  -  1 )  /  2 ) ) --> (Unit `  Y )
)
1926, 15, 23, 158, 191gsumsubmclfi 14254 . . 3  |-  ( ph  ->  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) )  e.  (Unit `  Y )
)
193 eqid 2238 . . . 4  |-  (/r `  Y
)  =  (/r `  Y
)
194 eqid 2238 . . . 4  |-  ( 1r
`  Y )  =  ( 1r `  Y
)
195156, 193, 194dvrid 14554 . . 3  |-  ( ( Y  e.  Ring  /\  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) )  e.  (Unit `  Y )
)  ->  ( ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) ) (/r `  Y ) ( G 
gsumg  ( x  e.  (
1 ... ( ( P  -  1 )  / 
2 ) )  |->  ( L `  ( 2  x.  x ) ) ) ) )  =  ( 1r `  Y
) )
19624, 192, 195syl2anc 415 . 2  |-  ( ph  ->  ( ( G  gsumg  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( 2  x.  x ) ) ) ) (/r `  Y ) ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) ) )  =  ( 1r `  Y ) )
197129fmpttd 5866 . . . . . 6  |-  ( ph  ->  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
(  -u 1 ^ R
)  x.  Q ) ) ) : ( 1 ... ( ( P  -  1 )  /  2 ) ) --> ( Base `  Y
) )
19839feq3d 5525 . . . . . 6  |-  ( ph  ->  ( ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( (  -u 1 ^ R )  x.  Q
) ) ) : ( 1 ... (
( P  -  1 )  /  2 ) ) --> ( Base `  Y
)  <->  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  |->  ( L `  ( (  -u 1 ^ R )  x.  Q
) ) ) : ( 1 ... (
( P  -  1 )  /  2 ) ) --> ( Base `  G
) ) )
199197, 198mpbid 147 . . . . 5  |-  ( ph  ->  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
(  -u 1 ^ R
)  x.  Q ) ) ) : ( 1 ... ( ( P  -  1 )  /  2 ) ) --> ( Base `  G
) )
2005, 6, 15, 23, 199gsumclfi 14250 . . . 4  |-  ( ph  ->  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
(  -u 1 ^ R
)  x.  Q ) ) ) )  e.  ( Base `  G
) )
201200, 39eleqtrrd 2318 . . 3  |-  ( ph  ->  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
(  -u 1 ^ R
)  x.  Q ) ) ) )  e.  ( Base `  Y
) )
20228, 156, 193, 123dvrcan3 14558 . . 3  |-  ( ( Y  e.  Ring  /\  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
(  -u 1 ^ R
)  x.  Q ) ) ) )  e.  ( Base `  Y
)  /\  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) )  |->  ( L `  ( 2  x.  x ) ) ) )  e.  (Unit `  Y ) )  -> 
( ( ( G 
gsumg  ( x  e.  (
1 ... ( ( P  -  1 )  / 
2 ) )  |->  ( L `  ( ( 
-u 1 ^ R
)  x.  Q ) ) ) ) ( .r `  Y ) ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) ) ) (/r `  Y ) ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) ) )  =  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( (  -u
1 ^ R )  x.  Q ) ) ) ) )
20324, 201, 192, 202syl3anc 1278 . 2  |-  ( ph  ->  ( ( ( G 
gsumg  ( x  e.  (
1 ... ( ( P  -  1 )  / 
2 ) )  |->  ( L `  ( ( 
-u 1 ^ R
)  x.  Q ) ) ) ) ( .r `  Y ) ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) ) ) (/r `  Y ) ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
2  x.  x ) ) ) ) )  =  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  |->  ( L `
 ( (  -u
1 ^ R )  x.  Q ) ) ) ) )
204155, 196, 2033eqtr3rd 2280 1  |-  ( ph  ->  ( G  gsumg  ( x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
(  -u 1 ^ R
)  x.  Q ) ) ) )  =  ( 1r `  Y
) )
Colors of variables:    wff set class
This proof depends on syntax axioms:   -. wn 3    -> wi 4    /\ wa 104    <-> wb 105    = wceq 1402    e. wcel 2209    =/= wne 2420   A.wral 2528    \ cdif 3217   {csn 3709   class class class wbr 4131    |-> cmpt 4193    o. ccom 4780   -->wf 5376   ` cfv 5380  (class class class)co 6088    oFcof 6303   Fincfn 7027   RRcr 8185   0cc0 8186   1c1 8187    x. cmul 8191    < clt 8367    <_ cle 8368    - cmin 8505    -ucneg 8506   # cap 8918    / cdiv 9011   NNcn 9314   2c2 9365   NN0cn0 9575   ZZcz 9656   ZZ>=cuz 9938   QQcq 10036   ...cfz 10429    mod cmo 10781   ^cexp 10997    || cdvds 12580    gcd cgcd 12756   Primecprime 12911   Basecbs 13411   +g cplusg 13491   .rcmulr 13492   0gc0g 13670  SubMndcsubmnd 13825  CMndccmn 14178    gsumg cgsu 14241  mulGrpcmgp 14325   1rcur 14370   Ringcrg 14408   CRingccrg 14409  Unitcui 14503  /rcdvr 14548   RingHom crh 14567  IDomncidom 14675  ℤringczring 15035   ZRHomczrh 15056  ℤ/nℤczn 15058
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 623  ax-in2 624  ax-io 721  ax-5 1500  ax-7 1501  ax-gen 1502  ax-ie1 1546  ax-ie2 1547  ax-8 1557  ax-10 1558  ax-11 1559  ax-i12 1560  ax-bndl 1562  ax-4 1563  ax-17 1579  ax-i9 1583  ax-ial 1587  ax-i5r 1588  ax-14 2212  ax-ext 2220  ax-coll 4248  ax-sep 4251  ax-nul 4261  ax-pow 4313  ax-pr 4348  ax-un 4580  ax-setind 4686  ax-iinf 4737  ax-cnex 8277  ax-resscn 8278  ax-1cn 8279  ax-1re 8280  ax-icn 8281  ax-addcl 8282  ax-addrcl 8283  ax-mulcl 8284  ax-mulrcl 8285  ax-addcom 8286  ax-mulcom 8287  ax-addass 8288  ax-mulass 8289  ax-distr 8290  ax-i2m1 8291  ax-0lt1 8292  ax-1rid 8293  ax-0id 8294  ax-rnegex 8295  ax-precex 8296  ax-cnre 8297  ax-pre-ltirr 8298  ax-pre-ltwlin 8299  ax-pre-lttrn 8300  ax-pre-apti 8301  ax-pre-ltadd 8302  ax-pre-mulgt0 8303  ax-pre-mulext 8304  ax-arch 8305  ax-caucvg 8306  ax-addf 8308  ax-mulf 8309
This proof depends on definitions:  df-bi 117  df-stab 843  df-dc 847  df-3or 1010  df-3an 1011  df-tru 1405  df-fal 1408  df-xor 1425  df-nf 1514  df-sb 1816  df-eu 2089  df-mo 2090  df-clab 2225  df-cleq 2231  df-clel 2234  df-nfc 2381  df-ne 2421  df-nel 2516  df-ral 2533  df-rex 2534  df-reu 2535  df-rmo 2536  df-rab 2537  df-v 2823  df-sbc 3052  df-csb 3148  df-dif 3222  df-un 3224  df-in 3226  df-ss 3233  df-nul 3521  df-if 3639  df-pw 3690  df-sn 3715  df-pr 3716  df-tp 3717  df-op 3718  df-uni 3936  df-int 3971  df-iun 4014  df-br 4132  df-opab 4194  df-mpt 4195  df-tr 4232  df-id 4440  df-po 4443  df-iso 4444  df-iord 4513  df-on 4515  df-ilim 4516  df-suc 4518  df-iom 4740  df-xp 4782  df-rel 4783  df-cnv 4784  df-co 4785  df-dm 4786  df-rn 4787  df-res 4788  df-ima 4789  df-iota 5340  df-fun 5382  df-fn 5383  df-f 5384  df-f1 5385  df-fo 5386  df-f1o 5387  df-fv 5388  df-riota 6041  df-ov 6091  df-oprab 6092  df-mpo 6093  df-of 6305  df-1st 6378  df-2nd 6379  df-tpos 6520  df-recs 6580  df-irdg 6645  df-frec 6666  df-1o 6691  df-2o 6692  df-oadd 6695  df-er 6811  df-ec 6813  df-qs 6817  df-map 6928  df-en 7028  df-dom 7029  df-fin 7030  df-sup 7331  df-pnf 8369  df-mnf 8370  df-xr 8371  df-ltxr 8372  df-le 8373  df-sub 8507  df-neg 8508  df-reap 8912  df-ap 8919  df-div 9012  df-inn 9315  df-2 9373  df-3 9374  df-4 9375  df-5 9376  df-6 9377  df-7 9378  df-8 9379  df-9 9380  df-n0 9576  df-z 9657  df-dec 9790  df-uz 9939  df-q 10037  df-rp 10073  df-fz 10430  df-fzo 10568  df-fl 10723  df-mod 10782  df-seqfrec 10907  df-exp 10998  df-ihash 11238  df-cj 11630  df-re 11631  df-im 11632  df-rsqrt 11787  df-abs 11788  df-dvds 12581  df-gcd 12757  df-prm 12912  df-struct 13413  df-ndx 13414  df-slot 13415  df-base 13417  df-sets 13418  df-iress 13419  df-plusg 13504  df-mulr 13505  df-starv 13506  df-sca 13507  df-vsca 13508  df-ip 13509  df-tset 13510  df-ple 13511  df-ds 13513  df-unif 13514  df-0g 13672  df-gzsum 13673  df-topgen 13674  df-iimas 13684  df-qus 13685  df-mgm 13736  df-sgrp 13777  df-mnd 13790  df-mhm 13826  df-submnd 13827  df-grp 13868  df-minusg 13869  df-sbg 13870  df-mulg 13983  df-subg 14033  df-nsg 14034  df-eqg 14035  df-ghm 14104  df-cmn 14180  df-abl 14181  df-gsumfi 14242  df-mgp 14326  df-rng 14340  df-ur 14371  df-srg 14376  df-ring 14410  df-cring 14411  df-oppr 14483  df-dvdsr 14505  df-unit 14506  df-invr 14538  df-dvr 14549  df-rhm 14569  df-nzr 14597  df-subrg 14637  df-domn 14677  df-idom 14678  df-lmod 14735  df-lssm 14800  df-lsp 14834  df-sra 14882  df-rgmod 14883  df-lidl 14916  df-rsp 14917  df-2idl 14947  df-bl 14993  df-mopn 14994  df-fg 14996  df-metu 14997  df-cnfld 15004  df-zring 15036  df-zrh 15059  df-zn 15061
This theorem is used by:  lgseisenlem4  16409
  Copyright terms: Public domain W3C validator