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

Theorem lgsqrlem2 20597
Description: Lemma for lgsqr 20601. (Contributed by Mario Carneiro, 15-Jun-2015.)
Hypotheses
Ref Expression
lgsqr.y  |-  Y  =  (ℤ/n `  P )
lgsqr.s  |-  S  =  (Poly1 `  Y )
lgsqr.b  |-  B  =  ( Base `  S
)
lgsqr.d  |-  D  =  ( deg1  `  Y )
lgsqr.o  |-  O  =  (eval1 `  Y )
lgsqr.e  |-  .^  =  (.g
`  (mulGrp `  S )
)
lgsqr.x  |-  X  =  (var1 `  Y )
lgsqr.m  |-  .-  =  ( -g `  S )
lgsqr.u  |-  .1.  =  ( 1r `  S )
lgsqr.t  |-  T  =  ( ( ( ( P  -  1 )  /  2 )  .^  X )  .-  .1.  )
lgsqr.l  |-  L  =  ( ZRHom `  Y
)
lgsqr.1  |-  ( ph  ->  P  e.  ( Prime  \  { 2 } ) )
lgsqr.g  |-  G  =  ( y  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
y ^ 2 ) ) )
Assertion
Ref Expression
lgsqrlem2  |-  ( ph  ->  G : ( 1 ... ( ( P  -  1 )  / 
2 ) ) -1-1-> ( `' ( O `  T ) " {
( 0g `  Y
) } ) )
Distinct variable groups:    y, O    y, P    ph, y    y, T   
y, L    y, Y
Allowed substitution hints:    B( y)    D( y)    S( y)    .1. ( y)    .^ ( y)    G( y)    .- ( y)    X( y)

Proof of Theorem lgsqrlem2
Dummy variables  x  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 lgsqr.1 . . . . . . . . . . . . 13  |-  ( ph  ->  P  e.  ( Prime  \  { 2 } ) )
2 eldifi 3311 . . . . . . . . . . . . 13  |-  ( P  e.  ( Prime  \  {
2 } )  ->  P  e.  Prime )
31, 2syl 15 . . . . . . . . . . . 12  |-  ( ph  ->  P  e.  Prime )
4 lgsqr.y . . . . . . . . . . . . 13  |-  Y  =  (ℤ/n `  P )
54znfld 16530 . . . . . . . . . . . 12  |-  ( P  e.  Prime  ->  Y  e. Field
)
63, 5syl 15 . . . . . . . . . . 11  |-  ( ph  ->  Y  e. Field )
7 fldidom 16062 . . . . . . . . . . 11  |-  ( Y  e. Field  ->  Y  e. IDomn )
86, 7syl 15 . . . . . . . . . 10  |-  ( ph  ->  Y  e. IDomn )
9 isidom 16061 . . . . . . . . . . 11  |-  ( Y  e. IDomn 
<->  ( Y  e.  CRing  /\  Y  e. Domn ) )
109simplbi 446 . . . . . . . . . 10  |-  ( Y  e. IDomn  ->  Y  e.  CRing )
118, 10syl 15 . . . . . . . . 9  |-  ( ph  ->  Y  e.  CRing )
12 crngrng 15367 . . . . . . . . 9  |-  ( Y  e.  CRing  ->  Y  e.  Ring )
1311, 12syl 15 . . . . . . . 8  |-  ( ph  ->  Y  e.  Ring )
14 eqid 2296 . . . . . . . . 9  |-  (flds  ZZ )  =  (flds  ZZ )
15 lgsqr.l . . . . . . . . 9  |-  L  =  ( ZRHom `  Y
)
1614, 15zrhrhm 16482 . . . . . . . 8  |-  ( Y  e.  Ring  ->  L  e.  ( (flds  ZZ ) RingHom  Y ) )
1713, 16syl 15 . . . . . . 7  |-  ( ph  ->  L  e.  ( (flds  ZZ ) RingHom  Y ) )
18 zsubrg 16441 . . . . . . . . 9  |-  ZZ  e.  (SubRing ` fld )
1914subrgbas 15570 . . . . . . . . 9  |-  ( ZZ  e.  (SubRing ` fld )  ->  ZZ  =  ( Base `  (flds  ZZ ) ) )
2018, 19ax-mp 8 . . . . . . . 8  |-  ZZ  =  ( Base `  (flds  ZZ ) )
21 eqid 2296 . . . . . . . 8  |-  ( Base `  Y )  =  (
Base `  Y )
2220, 21rhmf 15520 . . . . . . 7  |-  ( L  e.  ( (flds  ZZ ) RingHom  Y )  ->  L : ZZ --> ( Base `  Y )
)
2317, 22syl 15 . . . . . 6  |-  ( ph  ->  L : ZZ --> ( Base `  Y ) )
2423adantr 451 . . . . 5  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  L : ZZ --> ( Base `  Y
) )
25 elfzelz 10814 . . . . . . 7  |-  ( y  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  y  e.  ZZ )
2625adantl 452 . . . . . 6  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  y  e.  ZZ )
27 zsqcl 11190 . . . . . 6  |-  ( y  e.  ZZ  ->  (
y ^ 2 )  e.  ZZ )
2826, 27syl 15 . . . . 5  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
y ^ 2 )  e.  ZZ )
29 ffvelrn 5679 . . . . 5  |-  ( ( L : ZZ --> ( Base `  Y )  /\  (
y ^ 2 )  e.  ZZ )  -> 
( L `  (
y ^ 2 ) )  e.  ( Base `  Y ) )
3024, 28, 29syl2anc 642 . . . 4  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( L `  ( y ^ 2 ) )  e.  ( Base `  Y
) )
31 lgsqr.s . . . . 5  |-  S  =  (Poly1 `  Y )
32 lgsqr.b . . . . 5  |-  B  =  ( Base `  S
)
33 lgsqr.d . . . . 5  |-  D  =  ( deg1  `  Y )
34 lgsqr.o . . . . 5  |-  O  =  (eval1 `  Y )
35 lgsqr.e . . . . 5  |-  .^  =  (.g
`  (mulGrp `  S )
)
36 lgsqr.x . . . . 5  |-  X  =  (var1 `  Y )
37 lgsqr.m . . . . 5  |-  .-  =  ( -g `  S )
38 lgsqr.u . . . . 5  |-  .1.  =  ( 1r `  S )
39 lgsqr.t . . . . 5  |-  T  =  ( ( ( ( P  -  1 )  /  2 )  .^  X )  .-  .1.  )
401adantr 451 . . . . 5  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  P  e.  ( Prime  \  { 2 } ) )
41 elfznn 10835 . . . . . . . . . . 11  |-  ( y  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  y  e.  NN )
4241adantl 452 . . . . . . . . . 10  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  y  e.  NN )
4342nncnd 9778 . . . . . . . . 9  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  y  e.  CC )
44 oddprm 12884 . . . . . . . . . . . 12  |-  ( P  e.  ( Prime  \  {
2 } )  -> 
( ( P  - 
1 )  /  2
)  e.  NN )
451, 44syl 15 . . . . . . . . . . 11  |-  ( ph  ->  ( ( P  - 
1 )  /  2
)  e.  NN )
4645nnnn0d 10034 . . . . . . . . . 10  |-  ( ph  ->  ( ( P  - 
1 )  /  2
)  e.  NN0 )
4746adantr 451 . . . . . . . . 9  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( P  -  1 )  /  2 )  e.  NN0 )
48 2nn0 9998 . . . . . . . . . 10  |-  2  e.  NN0
4948a1i 10 . . . . . . . . 9  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  2  e.  NN0 )
5043, 47, 49expmuld 11264 . . . . . . . 8  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
y ^ ( 2  x.  ( ( P  -  1 )  / 
2 ) ) )  =  ( ( y ^ 2 ) ^
( ( P  - 
1 )  /  2
) ) )
51 prmnn 12777 . . . . . . . . . . . . . . . 16  |-  ( P  e.  Prime  ->  P  e.  NN )
523, 51syl 15 . . . . . . . . . . . . . . 15  |-  ( ph  ->  P  e.  NN )
5352nnred 9777 . . . . . . . . . . . . . 14  |-  ( ph  ->  P  e.  RR )
54 peano2rem 9129 . . . . . . . . . . . . . 14  |-  ( P  e.  RR  ->  ( P  -  1 )  e.  RR )
5553, 54syl 15 . . . . . . . . . . . . 13  |-  ( ph  ->  ( P  -  1 )  e.  RR )
5655recnd 8877 . . . . . . . . . . . 12  |-  ( ph  ->  ( P  -  1 )  e.  CC )
57 2cn 9832 . . . . . . . . . . . . 13  |-  2  e.  CC
5857a1i 10 . . . . . . . . . . . 12  |-  ( ph  ->  2  e.  CC )
59 2ne0 9845 . . . . . . . . . . . . 13  |-  2  =/=  0
6059a1i 10 . . . . . . . . . . . 12  |-  ( ph  ->  2  =/=  0 )
6156, 58, 60divcan2d 9554 . . . . . . . . . . 11  |-  ( ph  ->  ( 2  x.  (
( P  -  1 )  /  2 ) )  =  ( P  -  1 ) )
62 phiprm 12861 . . . . . . . . . . . 12  |-  ( P  e.  Prime  ->  ( phi `  P )  =  ( P  -  1 ) )
633, 62syl 15 . . . . . . . . . . 11  |-  ( ph  ->  ( phi `  P
)  =  ( P  -  1 ) )
6461, 63eqtr4d 2331 . . . . . . . . . 10  |-  ( ph  ->  ( 2  x.  (
( P  -  1 )  /  2 ) )  =  ( phi `  P ) )
6564adantr 451 . . . . . . . . 9  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
2  x.  ( ( P  -  1 )  /  2 ) )  =  ( phi `  P ) )
6665oveq2d 5890 . . . . . . . 8  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
y ^ ( 2  x.  ( ( P  -  1 )  / 
2 ) ) )  =  ( y ^
( phi `  P
) ) )
6750, 66eqtr3d 2330 . . . . . . 7  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( y ^ 2 ) ^ ( ( P  -  1 )  /  2 ) )  =  ( y ^
( phi `  P
) ) )
6867oveq1d 5889 . . . . . 6  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( ( y ^
2 ) ^ (
( P  -  1 )  /  2 ) )  mod  P )  =  ( ( y ^ ( phi `  P ) )  mod 
P ) )
693adantr 451 . . . . . . . 8  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  P  e.  Prime )
7069, 51syl 15 . . . . . . 7  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  P  e.  NN )
7152nnzd 10132 . . . . . . . . . 10  |-  ( ph  ->  P  e.  ZZ )
7271adantr 451 . . . . . . . . 9  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  P  e.  ZZ )
73 gcdcom 12715 . . . . . . . . 9  |-  ( ( y  e.  ZZ  /\  P  e.  ZZ )  ->  ( y  gcd  P
)  =  ( P  gcd  y ) )
7426, 72, 73syl2anc 642 . . . . . . . 8  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
y  gcd  P )  =  ( P  gcd  y ) )
7542nnred 9777 . . . . . . . . . . . 12  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  y  e.  RR )
7655rehalfcld 9974 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( P  - 
1 )  /  2
)  e.  RR )
7776adantr 451 . . . . . . . . . . . 12  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( P  -  1 )  /  2 )  e.  RR )
7853adantr 451 . . . . . . . . . . . 12  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  P  e.  RR )
79 elfzle2 10816 . . . . . . . . . . . . 13  |-  ( y  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  y  <_  ( ( P  - 
1 )  /  2
) )
8079adantl 452 . . . . . . . . . . . 12  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  y  <_  ( ( P  - 
1 )  /  2
) )
81 prmuz2 12792 . . . . . . . . . . . . . . . . . 18  |-  ( P  e.  Prime  ->  P  e.  ( ZZ>= `  2 )
)
823, 81syl 15 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  P  e.  ( ZZ>= ` 
2 ) )
83 uz2m1nn 10308 . . . . . . . . . . . . . . . . 17  |-  ( P  e.  ( ZZ>= `  2
)  ->  ( P  -  1 )  e.  NN )
8482, 83syl 15 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  ( P  -  1 )  e.  NN )
8584nnrpd 10405 . . . . . . . . . . . . . . 15  |-  ( ph  ->  ( P  -  1 )  e.  RR+ )
86 rphalflt 10396 . . . . . . . . . . . . . . 15  |-  ( ( P  -  1 )  e.  RR+  ->  ( ( P  -  1 )  /  2 )  < 
( P  -  1 ) )
8785, 86syl 15 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( P  - 
1 )  /  2
)  <  ( P  -  1 ) )
8853ltm1d 9705 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( P  -  1 )  <  P )
8976, 55, 53, 87, 88lttrd 8993 . . . . . . . . . . . . 13  |-  ( ph  ->  ( ( P  - 
1 )  /  2
)  <  P )
9089adantr 451 . . . . . . . . . . . 12  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( P  -  1 )  /  2 )  <  P )
9175, 77, 78, 80, 90lelttrd 8990 . . . . . . . . . . 11  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  y  <  P )
9275, 78ltnled 8982 . . . . . . . . . . 11  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
y  <  P  <->  -.  P  <_  y ) )
9391, 92mpbid 201 . . . . . . . . . 10  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  -.  P  <_  y )
94 dvdsle 12590 . . . . . . . . . . 11  |-  ( ( P  e.  ZZ  /\  y  e.  NN )  ->  ( P  ||  y  ->  P  <_  y )
)
9572, 42, 94syl2anc 642 . . . . . . . . . 10  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( P  ||  y  ->  P  <_  y ) )
9693, 95mtod 168 . . . . . . . . 9  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  -.  P  ||  y )
97 coprm 12795 . . . . . . . . . 10  |-  ( ( P  e.  Prime  /\  y  e.  ZZ )  ->  ( -.  P  ||  y  <->  ( P  gcd  y )  =  1 ) )
9869, 26, 97syl2anc 642 . . . . . . . . 9  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( -.  P  ||  y  <->  ( P  gcd  y )  =  1 ) )
9996, 98mpbid 201 . . . . . . . 8  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( P  gcd  y )  =  1 )
10074, 99eqtrd 2328 . . . . . . 7  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
y  gcd  P )  =  1 )
101 eulerth 12867 . . . . . . 7  |-  ( ( P  e.  NN  /\  y  e.  ZZ  /\  (
y  gcd  P )  =  1 )  -> 
( ( y ^
( phi `  P
) )  mod  P
)  =  ( 1  mod  P ) )
10270, 26, 100, 101syl3anc 1182 . . . . . 6  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( y ^ ( phi `  P ) )  mod  P )  =  ( 1  mod  P
) )
10368, 102eqtrd 2328 . . . . 5  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( ( y ^
2 ) ^ (
( P  -  1 )  /  2 ) )  mod  P )  =  ( 1  mod 
P ) )
1044, 31, 32, 33, 34, 35, 36, 37, 38, 39, 15, 40, 28, 103lgsqrlem1 20596 . . . 4  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( O `  T
) `  ( L `  ( y ^ 2 ) ) )  =  ( 0g `  Y
) )
105 eqid 2296 . . . . . . . 8  |-  ( Y  ^s  ( Base `  Y
) )  =  ( Y  ^s  ( Base `  Y
) )
106 eqid 2296 . . . . . . . 8  |-  ( Base `  ( Y  ^s  ( Base `  Y ) ) )  =  ( Base `  ( Y  ^s  ( Base `  Y
) ) )
107 fvex 5555 . . . . . . . . 9  |-  ( Base `  Y )  e.  _V
108107a1i 10 . . . . . . . 8  |-  ( ph  ->  ( Base `  Y
)  e.  _V )
10934, 31, 105, 21evl1rhm 19428 . . . . . . . . . . 11  |-  ( Y  e.  CRing  ->  O  e.  ( S RingHom  ( Y  ^s  ( Base `  Y ) ) ) )
11011, 109syl 15 . . . . . . . . . 10  |-  ( ph  ->  O  e.  ( S RingHom 
( Y  ^s  ( Base `  Y ) ) ) )
11132, 106rhmf 15520 . . . . . . . . . 10  |-  ( O  e.  ( S RingHom  ( Y  ^s  ( Base `  Y
) ) )  ->  O : B --> ( Base `  ( Y  ^s  ( Base `  Y ) ) ) )
112110, 111syl 15 . . . . . . . . 9  |-  ( ph  ->  O : B --> ( Base `  ( Y  ^s  ( Base `  Y ) ) ) )
11331ply1rng 16342 . . . . . . . . . . . . 13  |-  ( Y  e.  Ring  ->  S  e. 
Ring )
11413, 113syl 15 . . . . . . . . . . . 12  |-  ( ph  ->  S  e.  Ring )
115 rnggrp 15362 . . . . . . . . . . . 12  |-  ( S  e.  Ring  ->  S  e. 
Grp )
116114, 115syl 15 . . . . . . . . . . 11  |-  ( ph  ->  S  e.  Grp )
117 eqid 2296 . . . . . . . . . . . . . 14  |-  (mulGrp `  S )  =  (mulGrp `  S )
118117rngmgp 15363 . . . . . . . . . . . . 13  |-  ( S  e.  Ring  ->  (mulGrp `  S )  e.  Mnd )
119114, 118syl 15 . . . . . . . . . . . 12  |-  ( ph  ->  (mulGrp `  S )  e.  Mnd )
12036, 31, 32vr1cl 16310 . . . . . . . . . . . . 13  |-  ( Y  e.  Ring  ->  X  e.  B )
12113, 120syl 15 . . . . . . . . . . . 12  |-  ( ph  ->  X  e.  B )
122117, 32mgpbas 15347 . . . . . . . . . . . . 13  |-  B  =  ( Base `  (mulGrp `  S ) )
123122, 35mulgnn0cl 14599 . . . . . . . . . . . 12  |-  ( ( (mulGrp `  S )  e.  Mnd  /\  ( ( P  -  1 )  /  2 )  e. 
NN0  /\  X  e.  B )  ->  (
( ( P  - 
1 )  /  2
)  .^  X )  e.  B )
124119, 46, 121, 123syl3anc 1182 . . . . . . . . . . 11  |-  ( ph  ->  ( ( ( P  -  1 )  / 
2 )  .^  X
)  e.  B )
12532, 38rngidcl 15377 . . . . . . . . . . . 12  |-  ( S  e.  Ring  ->  .1.  e.  B )
126114, 125syl 15 . . . . . . . . . . 11  |-  ( ph  ->  .1.  e.  B )
12732, 37grpsubcl 14562 . . . . . . . . . . 11  |-  ( ( S  e.  Grp  /\  ( ( ( P  -  1 )  / 
2 )  .^  X
)  e.  B  /\  .1.  e.  B )  -> 
( ( ( ( P  -  1 )  /  2 )  .^  X )  .-  .1.  )  e.  B )
128116, 124, 126, 127syl3anc 1182 . . . . . . . . . 10  |-  ( ph  ->  ( ( ( ( P  -  1 )  /  2 )  .^  X )  .-  .1.  )  e.  B )
12939, 128syl5eqel 2380 . . . . . . . . 9  |-  ( ph  ->  T  e.  B )
130 ffvelrn 5679 . . . . . . . . 9  |-  ( ( O : B --> ( Base `  ( Y  ^s  ( Base `  Y ) ) )  /\  T  e.  B
)  ->  ( O `  T )  e.  (
Base `  ( Y  ^s  ( Base `  Y )
) ) )
131112, 129, 130syl2anc 642 . . . . . . . 8  |-  ( ph  ->  ( O `  T
)  e.  ( Base `  ( Y  ^s  ( Base `  Y ) ) ) )
132105, 21, 106, 6, 108, 131pwselbas 13404 . . . . . . 7  |-  ( ph  ->  ( O `  T
) : ( Base `  Y ) --> ( Base `  Y ) )
133 ffn 5405 . . . . . . 7  |-  ( ( O `  T ) : ( Base `  Y
) --> ( Base `  Y
)  ->  ( O `  T )  Fn  ( Base `  Y ) )
134132, 133syl 15 . . . . . 6  |-  ( ph  ->  ( O `  T
)  Fn  ( Base `  Y ) )
135134adantr 451 . . . . 5  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( O `  T )  Fn  ( Base `  Y
) )
136 fniniseg 5662 . . . . 5  |-  ( ( O `  T )  Fn  ( Base `  Y
)  ->  ( ( L `  ( y ^ 2 ) )  e.  ( `' ( O `  T )
" { ( 0g
`  Y ) } )  <->  ( ( L `
 ( y ^
2 ) )  e.  ( Base `  Y
)  /\  ( ( O `  T ) `  ( L `  (
y ^ 2 ) ) )  =  ( 0g `  Y ) ) ) )
137135, 136syl 15 . . . 4  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  (
( L `  (
y ^ 2 ) )  e.  ( `' ( O `  T
) " { ( 0g `  Y ) } )  <->  ( ( L `  ( y ^ 2 ) )  e.  ( Base `  Y
)  /\  ( ( O `  T ) `  ( L `  (
y ^ 2 ) ) )  =  ( 0g `  Y ) ) ) )
13830, 104, 137mpbir2and 888 . . 3  |-  ( (
ph  /\  y  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) )  ->  ( L `  ( y ^ 2 ) )  e.  ( `' ( O `  T )
" { ( 0g
`  Y ) } ) )
139 lgsqr.g . . 3  |-  G  =  ( y  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) 
|->  ( L `  (
y ^ 2 ) ) )
140138, 139fmptd 5700 . 2  |-  ( ph  ->  G : ( 1 ... ( ( P  -  1 )  / 
2 ) ) --> ( `' ( O `  T ) " {
( 0g `  Y
) } ) )
141 oveq1 5881 . . . . . . . . 9  |-  ( y  =  x  ->  (
y ^ 2 )  =  ( x ^
2 ) )
142141fveq2d 5545 . . . . . . . 8  |-  ( y  =  x  ->  ( L `  ( y ^ 2 ) )  =  ( L `  ( x ^ 2 ) ) )
143 fvex 5555 . . . . . . . 8  |-  ( L `
 ( x ^
2 ) )  e. 
_V
144142, 139, 143fvmpt 5618 . . . . . . 7  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  ( G `  x )  =  ( L `  ( x ^ 2 ) ) )
145144ad2antrl 708 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( G `  x
)  =  ( L `
 ( x ^
2 ) ) )
146 oveq1 5881 . . . . . . . . 9  |-  ( y  =  z  ->  (
y ^ 2 )  =  ( z ^
2 ) )
147146fveq2d 5545 . . . . . . . 8  |-  ( y  =  z  ->  ( L `  ( y ^ 2 ) )  =  ( L `  ( z ^ 2 ) ) )
148 fvex 5555 . . . . . . . 8  |-  ( L `
 ( z ^
2 ) )  e. 
_V
149147, 139, 148fvmpt 5618 . . . . . . 7  |-  ( z  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  ( G `  z )  =  ( L `  ( z ^ 2 ) ) )
150149ad2antll 709 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( G `  z
)  =  ( L `
 ( z ^
2 ) ) )
151145, 150eqeq12d 2310 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( G `  x )  =  ( G `  z )  <-> 
( L `  (
x ^ 2 ) )  =  ( L `
 ( z ^
2 ) ) ) )
15252nnnn0d 10034 . . . . . . 7  |-  ( ph  ->  P  e.  NN0 )
153152adantr 451 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  NN0 )
154 elfzelz 10814 . . . . . . . 8  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  x  e.  ZZ )
155154ad2antrl 708 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  ZZ )
156 zsqcl 11190 . . . . . . 7  |-  ( x  e.  ZZ  ->  (
x ^ 2 )  e.  ZZ )
157155, 156syl 15 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x ^ 2 )  e.  ZZ )
158 elfzelz 10814 . . . . . . . 8  |-  ( z  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  z  e.  ZZ )
159158ad2antll 709 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
z  e.  ZZ )
160 zsqcl 11190 . . . . . . 7  |-  ( z  e.  ZZ  ->  (
z ^ 2 )  e.  ZZ )
161159, 160syl 15 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( z ^ 2 )  e.  ZZ )
1624, 15zndvds 16519 . . . . . 6  |-  ( ( P  e.  NN0  /\  ( x ^ 2 )  e.  ZZ  /\  ( z ^ 2 )  e.  ZZ )  ->  ( ( L `
 ( x ^
2 ) )  =  ( L `  (
z ^ 2 ) )  <->  P  ||  ( ( x ^ 2 )  -  ( z ^
2 ) ) ) )
163153, 157, 161, 162syl3anc 1182 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( L `  ( x ^ 2 ) )  =  ( L `  ( z ^ 2 ) )  <-> 
P  ||  ( (
x ^ 2 )  -  ( z ^
2 ) ) ) )
164 elfznn 10835 . . . . . . . . 9  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  x  e.  NN )
165164ad2antrl 708 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  NN )
166165nncnd 9778 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  CC )
167 elfznn 10835 . . . . . . . . 9  |-  ( z  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  z  e.  NN )
168167ad2antll 709 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
z  e.  NN )
169168nncnd 9778 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
z  e.  CC )
170 subsq 11226 . . . . . . 7  |-  ( ( x  e.  CC  /\  z  e.  CC )  ->  ( ( x ^
2 )  -  (
z ^ 2 ) )  =  ( ( x  +  z )  x.  ( x  -  z ) ) )
171166, 169, 170syl2anc 642 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( x ^
2 )  -  (
z ^ 2 ) )  =  ( ( x  +  z )  x.  ( x  -  z ) ) )
172171breq2d 4051 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
( x ^ 2 )  -  ( z ^ 2 ) )  <-> 
P  ||  ( (
x  +  z )  x.  ( x  -  z ) ) ) )
173151, 163, 1723bitrd 270 . . . 4  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( G `  x )  =  ( G `  z )  <-> 
P  ||  ( (
x  +  z )  x.  ( x  -  z ) ) ) )
1743adantr 451 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  Prime )
175155, 159zaddcld 10137 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  z )  e.  ZZ )
176155, 159zsubcld 10138 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  -  z
)  e.  ZZ )
177 euclemma 12803 . . . . . 6  |-  ( ( P  e.  Prime  /\  (
x  +  z )  e.  ZZ  /\  (
x  -  z )  e.  ZZ )  -> 
( P  ||  (
( x  +  z )  x.  ( x  -  z ) )  <-> 
( P  ||  (
x  +  z )  \/  P  ||  (
x  -  z ) ) ) )
178174, 175, 176, 177syl3anc 1182 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
( x  +  z )  x.  ( x  -  z ) )  <-> 
( P  ||  (
x  +  z )  \/  P  ||  (
x  -  z ) ) ) )
179174, 51syl 15 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  NN )
180179nnzd 10132 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  ZZ )
181165, 168nnaddcld 9808 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  z )  e.  NN )
182 dvdsle 12590 . . . . . . . 8  |-  ( ( P  e.  ZZ  /\  ( x  +  z
)  e.  NN )  ->  ( P  ||  ( x  +  z
)  ->  P  <_  ( x  +  z ) ) )
183180, 181, 182syl2anc 642 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
x  +  z )  ->  P  <_  (
x  +  z ) ) )
184181nnred 9777 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  z )  e.  RR )
185179nnred 9777 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  RR )
186185, 54syl 15 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  -  1 )  e.  RR )
187165nnred 9777 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  RR )
188168nnred 9777 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
z  e.  RR )
18976adantr 451 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( P  - 
1 )  /  2
)  e.  RR )
190 elfzle2 10816 . . . . . . . . . . . . 13  |-  ( x  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  x  <_  ( ( P  - 
1 )  /  2
) )
191190ad2antrl 708 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  <_  ( ( P  -  1 )  / 
2 ) )
192 elfzle2 10816 . . . . . . . . . . . . 13  |-  ( z  e.  ( 1 ... ( ( P  - 
1 )  /  2
) )  ->  z  <_  ( ( P  - 
1 )  /  2
) )
193192ad2antll 709 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
z  <_  ( ( P  -  1 )  /  2 ) )
194187, 188, 189, 189, 191, 193le2addd 9406 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  z )  <_  ( (
( P  -  1 )  /  2 )  +  ( ( P  -  1 )  / 
2 ) ) )
19556adantr 451 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  -  1 )  e.  CC )
1961952halvesd 9973 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( ( P  -  1 )  / 
2 )  +  ( ( P  -  1 )  /  2 ) )  =  ( P  -  1 ) )
197194, 196breqtrd 4063 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  z )  <_  ( P  -  1 ) )
198185ltm1d 9705 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  -  1 )  <  P )
199184, 186, 185, 197, 198lelttrd 8990 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  +  z )  <  P )
200184, 185ltnled 8982 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( x  +  z )  <  P  <->  -.  P  <_  ( x  +  z ) ) )
201199, 200mpbid 201 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  -.  P  <_  ( x  +  z ) )
202201pm2.21d 98 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  <_  (
x  +  z )  ->  x  =  z ) )
203183, 202syld 40 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
x  +  z )  ->  x  =  z ) )
204 moddvds 12554 . . . . . . . . 9  |-  ( ( P  e.  NN  /\  x  e.  ZZ  /\  z  e.  ZZ )  ->  (
( x  mod  P
)  =  ( z  mod  P )  <->  P  ||  (
x  -  z ) ) )
205179, 155, 159, 204syl3anc 1182 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( x  mod  P )  =  ( z  mod  P )  <->  P  ||  (
x  -  z ) ) )
206179nnrpd 10405 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  P  e.  RR+ )
207165nnnn0d 10034 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  e.  NN0 )
208207nn0ge0d 10037 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
0  <_  x )
20989adantr 451 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( P  - 
1 )  /  2
)  <  P )
210187, 189, 185, 191, 209lelttrd 8990 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  ->  x  <  P )
211 modid 11009 . . . . . . . . . 10  |-  ( ( ( x  e.  RR  /\  P  e.  RR+ )  /\  ( 0  <_  x  /\  x  <  P ) )  ->  ( x  mod  P )  =  x )
212187, 206, 208, 210, 211syl22anc 1183 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( x  mod  P
)  =  x )
213168nnnn0d 10034 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
z  e.  NN0 )
214213nn0ge0d 10037 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
0  <_  z )
215188, 189, 185, 193, 209lelttrd 8990 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
z  <  P )
216 modid 11009 . . . . . . . . . 10  |-  ( ( ( z  e.  RR  /\  P  e.  RR+ )  /\  ( 0  <_  z  /\  z  <  P ) )  ->  ( z  mod  P )  =  z )
217188, 206, 214, 215, 216syl22anc 1183 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( z  mod  P
)  =  z )
218212, 217eqeq12d 2310 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( x  mod  P )  =  ( z  mod  P )  <->  x  =  z ) )
219205, 218bitr3d 246 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
x  -  z )  <-> 
x  =  z ) )
220219biimpd 198 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
x  -  z )  ->  x  =  z ) )
221203, 220jaod 369 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( P  ||  ( x  +  z
)  \/  P  ||  ( x  -  z
) )  ->  x  =  z ) )
222178, 221sylbid 206 . . . 4  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( P  ||  (
( x  +  z )  x.  ( x  -  z ) )  ->  x  =  z ) )
223173, 222sylbid 206 . . 3  |-  ( (
ph  /\  ( x  e.  ( 1 ... (
( P  -  1 )  /  2 ) )  /\  z  e.  ( 1 ... (
( P  -  1 )  /  2 ) ) ) )  -> 
( ( G `  x )  =  ( G `  z )  ->  x  =  z ) )
224223ralrimivva 2648 . 2  |-  ( ph  ->  A. x  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) A. z  e.  ( 1 ... ( ( P  -  1 )  /  2 ) ) ( ( G `  x )  =  ( G `  z )  ->  x  =  z ) )
225 dff13 5799 . 2  |-  ( G : ( 1 ... ( ( P  - 
1 )  /  2
) ) -1-1-> ( `' ( O `  T
) " { ( 0g `  Y ) } )  <->  ( G : ( 1 ... ( ( P  - 
1 )  /  2
) ) --> ( `' ( O `  T
) " { ( 0g `  Y ) } )  /\  A. x  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) ) A. z  e.  ( 1 ... ( ( P  -  1 )  / 
2 ) ) ( ( G `  x
)  =  ( G `
 z )  ->  x  =  z )
) )
226140, 224, 225sylanbrc 645 1  |-  ( ph  ->  G : ( 1 ... ( ( P  -  1 )  / 
2 ) ) -1-1-> ( `' ( O `  T ) " {
( 0g `  Y
) } ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 176    \/ wo 357    /\ wa 358    = wceq 1632    e. wcel 1696    =/= wne 2459   A.wral 2556   _Vcvv 2801    \ cdif 3162   {csn 3653   class class class wbr 4039    e. cmpt 4093   `'ccnv 4704   "cima 4708    Fn wfn 5266   -->wf 5267   -1-1->wf1 5268   ` cfv 5271  (class class class)co 5874   CCcc 8751   RRcr 8752   0cc0 8753   1c1 8754    + caddc 8756    x. cmul 8758    < clt 8883    <_ cle 8884    - cmin 9053    / cdiv 9439   NNcn 9762   2c2 9811   NN0cn0 9981   ZZcz 10040   ZZ>=cuz 10246   RR+crp 10370   ...cfz 10798    mod cmo 10989   ^cexp 11120    || cdivides 12547    gcd cgcd 12701   Primecprime 12774   phicphi 12848   Basecbs 13164   ↾s cress 13165    ^s cpws 13363   0gc0g 13416   Mndcmnd 14377   Grpcgrp 14378   -gcsg 14381  .gcmg 14382  mulGrpcmgp 15341   Ringcrg 15353   CRingccrg 15354   1rcur 15355   RingHom crh 15510  Fieldcfield 15529  SubRingcsubrg 15557  Domncdomn 16037  IDomncidom 16038  var1cv1 16267  Poly1cpl1 16268  eval1ce1 16270  ℂfldccnfld 16393   ZRHomczrh 16467  ℤ/nczn 16470   deg1 cdg1 19456
This theorem is referenced by:  lgsqrlem4  20599
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1536  ax-5 1547  ax-17 1606  ax-9 1644  ax-8 1661  ax-13 1698  ax-14 1700  ax-6 1715  ax-7 1720  ax-11 1727  ax-12 1878  ax-ext 2277  ax-rep 4147  ax-sep 4157  ax-nul 4165  ax-pow 4204  ax-pr 4230  ax-un 4528  ax-inf2 7358  ax-cnex 8809  ax-resscn 8810  ax-1cn 8811  ax-icn 8812  ax-addcl 8813  ax-addrcl 8814  ax-mulcl 8815  ax-mulrcl 8816  ax-mulcom 8817  ax-addass 8818  ax-mulass 8819  ax-distr 8820  ax-i2m1 8821  ax-1ne0 8822  ax-1rid 8823  ax-rnegex 8824  ax-rrecex 8825  ax-cnre 8826  ax-pre-lttri 8827  ax-pre-lttrn 8828  ax-pre-ltadd 8829  ax-pre-mulgt0 8830  ax-pre-sup 8831  ax-addf 8832  ax-mulf 8833
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-ex 1532  df-nf 1535  df-sb 1639  df-eu 2160  df-mo 2161  df-clab 2283  df-cleq 2289  df-clel 2292  df-nfc 2421  df-ne 2461  df-nel 2462  df-ral 2561  df-rex 2562  df-reu 2563  df-rmo 2564  df-rab 2565  df-v 2803  df-sbc 3005  df-csb 3095  df-dif 3168  df-un 3170  df-in 3172  df-ss 3179  df-pss 3181  df-nul 3469  df-if 3579  df-pw 3640  df-sn 3659  df-pr 3660  df-tp 3661  df-op 3662  df-uni 3844  df-int 3879  df-iun 3923  df-iin 3924  df-br 4040  df-opab 4094  df-mpt 4095  df-tr 4130  df-eprel 4321  df-id 4325  df-po 4330  df-so 4331  df-fr 4368  df-se 4369  df-we 4370  df-ord 4411  df-on 4412  df-lim 4413  df-suc 4414  df-om 4673  df-xp 4711  df-rel 4712  df-cnv 4713  df-co 4714  df-dm 4715  df-rn 4716  df-res 4717  df-ima 4718  df-iota 5235  df-fun 5273  df-fn 5274  df-f 5275  df-f1 5276  df-fo 5277  df-f1o 5278  df-fv 5279  df-isom 5280  df-ov 5877  df-oprab 5878  df-mpt2 5879  df-of 6094  df-ofr 6095  df-1st 6138  df-2nd 6139  df-tpos 6250  df-riota 6320  df-recs 6404  df-rdg 6439  df-1o 6495  df-2o 6496  df-oadd 6499  df-er 6676  df-ec 6678  df-qs 6682  df-map 6790  df-pm 6791  df-ixp 6834  df-en 6880  df-dom 6881  df-sdom 6882  df-fin 6883  df-sup 7210  df-oi 7241  df-card 7588  df-cda 7810  df-pnf 8885  df-mnf 8886  df-xr 8887  df-ltxr 8888  df-le 8889  df-sub 9055  df-neg 9056  df-div 9440  df-nn 9763  df-2 9820  df-3 9821  df-4 9822  df-5 9823  df-6 9824  df-7 9825  df-8 9826  df-9 9827  df-10 9828  df-n0 9982  df-z 10041  df-dec 10141  df-uz 10247  df-rp 10371  df-fz 10799  df-fzo 10887  df-fl 10941  df-mod 10990  df-seq 11063  df-exp 11121  df-hash 11354  df-cj 11600  df-re 11601  df-im 11602  df-sqr 11736  df-abs 11737  df-dvds 12548  df-gcd 12702  df-prm 12775  df-phi 12850  df-struct 13166  df-ndx 13167  df-slot 13168  df-base 13169  df-sets 13170  df-ress 13171  df-plusg 13237  df-mulr 13238  df-starv 13239  df-sca 13240  df-vsca 13241  df-tset 13243  df-ple 13244  df-ds 13246  df-hom 13248  df-cco 13249  df-prds 13364  df-pws 13366  df-0g 13420  df-gsum 13421  df-imas 13427  df-divs 13428  df-mre 13504  df-mrc 13505  df-acs 13507  df-mnd 14383  df-mhm 14431  df-submnd 14432  df-grp 14505  df-minusg 14506  df-sbg 14507  df-mulg 14508  df-subg 14634  df-nsg 14635  df-eqg 14636  df-ghm 14697  df-cntz 14809  df-cmn 15107  df-abl 15108  df-mgp 15342  df-rng 15356  df-cring 15357  df-ur 15358  df-oppr 15421  df-dvdsr 15439  df-unit 15440  df-invr 15470  df-rnghom 15512  df-drng 15530  df-field 15531  df-subrg 15559  df-lmod 15645  df-lss 15706  df-lsp 15745  df-sra 15941  df-rgmod 15942  df-lidl 15943  df-rsp 15944  df-2idl 16000  df-nzr 16026  df-rlreg 16040  df-domn 16041  df-idom 16042  df-assa 16069  df-asp 16070  df-ascl 16071  df-psr 16114  df-mvr 16115  df-mpl 16116  df-evls 16117  df-evl 16118  df-opsr 16122  df-psr1 16273  df-vr1 16274  df-ply1 16275  df-evl1 16277  df-cnfld 16394  df-zrh 16471  df-zn 16474
  Copyright terms: Public domain W3C validator