Step |
Hyp |
Ref |
Expression |
1 |
|
lgsqr.y |
|- Y = ( Z/nZ ` P ) |
2 |
|
lgsqr.s |
|- S = ( Poly1 ` Y ) |
3 |
|
lgsqr.b |
|- B = ( Base ` S ) |
4 |
|
lgsqr.d |
|- D = ( deg1 ` Y ) |
5 |
|
lgsqr.o |
|- O = ( eval1 ` Y ) |
6 |
|
lgsqr.e |
|- .^ = ( .g ` ( mulGrp ` S ) ) |
7 |
|
lgsqr.x |
|- X = ( var1 ` Y ) |
8 |
|
lgsqr.m |
|- .- = ( -g ` S ) |
9 |
|
lgsqr.u |
|- .1. = ( 1r ` S ) |
10 |
|
lgsqr.t |
|- T = ( ( ( ( P - 1 ) / 2 ) .^ X ) .- .1. ) |
11 |
|
lgsqr.l |
|- L = ( ZRHom ` Y ) |
12 |
|
lgsqr.1 |
|- ( ph -> P e. ( Prime \ { 2 } ) ) |
13 |
|
lgsqr.g |
|- G = ( y e. ( 1 ... ( ( P - 1 ) / 2 ) ) |-> ( L ` ( y ^ 2 ) ) ) |
14 |
|
lgsqr.3 |
|- ( ph -> A e. ZZ ) |
15 |
|
lgsqr.4 |
|- ( ph -> ( A /L P ) = 1 ) |
16 |
12
|
eldifad |
|- ( ph -> P e. Prime ) |
17 |
1
|
znfld |
|- ( P e. Prime -> Y e. Field ) |
18 |
16 17
|
syl |
|- ( ph -> Y e. Field ) |
19 |
|
fldidom |
|- ( Y e. Field -> Y e. IDomn ) |
20 |
18 19
|
syl |
|- ( ph -> Y e. IDomn ) |
21 |
|
isidom |
|- ( Y e. IDomn <-> ( Y e. CRing /\ Y e. Domn ) ) |
22 |
21
|
simplbi |
|- ( Y e. IDomn -> Y e. CRing ) |
23 |
20 22
|
syl |
|- ( ph -> Y e. CRing ) |
24 |
|
crngring |
|- ( Y e. CRing -> Y e. Ring ) |
25 |
23 24
|
syl |
|- ( ph -> Y e. Ring ) |
26 |
11
|
zrhrhm |
|- ( Y e. Ring -> L e. ( ZZring RingHom Y ) ) |
27 |
25 26
|
syl |
|- ( ph -> L e. ( ZZring RingHom Y ) ) |
28 |
|
zringbas |
|- ZZ = ( Base ` ZZring ) |
29 |
|
eqid |
|- ( Base ` Y ) = ( Base ` Y ) |
30 |
28 29
|
rhmf |
|- ( L e. ( ZZring RingHom Y ) -> L : ZZ --> ( Base ` Y ) ) |
31 |
27 30
|
syl |
|- ( ph -> L : ZZ --> ( Base ` Y ) ) |
32 |
31 14
|
ffvelrnd |
|- ( ph -> ( L ` A ) e. ( Base ` Y ) ) |
33 |
|
lgsvalmod |
|- ( ( A e. ZZ /\ P e. ( Prime \ { 2 } ) ) -> ( ( A /L P ) mod P ) = ( ( A ^ ( ( P - 1 ) / 2 ) ) mod P ) ) |
34 |
14 12 33
|
syl2anc |
|- ( ph -> ( ( A /L P ) mod P ) = ( ( A ^ ( ( P - 1 ) / 2 ) ) mod P ) ) |
35 |
15
|
oveq1d |
|- ( ph -> ( ( A /L P ) mod P ) = ( 1 mod P ) ) |
36 |
34 35
|
eqtr3d |
|- ( ph -> ( ( A ^ ( ( P - 1 ) / 2 ) ) mod P ) = ( 1 mod P ) ) |
37 |
1 2 3 4 5 6 7 8 9 10 11 12 14 36
|
lgsqrlem1 |
|- ( ph -> ( ( O ` T ) ` ( L ` A ) ) = ( 0g ` Y ) ) |
38 |
|
eqid |
|- ( Y ^s ( Base ` Y ) ) = ( Y ^s ( Base ` Y ) ) |
39 |
|
eqid |
|- ( Base ` ( Y ^s ( Base ` Y ) ) ) = ( Base ` ( Y ^s ( Base ` Y ) ) ) |
40 |
|
fvexd |
|- ( ph -> ( Base ` Y ) e. _V ) |
41 |
5 2 38 29
|
evl1rhm |
|- ( Y e. CRing -> O e. ( S RingHom ( Y ^s ( Base ` Y ) ) ) ) |
42 |
23 41
|
syl |
|- ( ph -> O e. ( S RingHom ( Y ^s ( Base ` Y ) ) ) ) |
43 |
3 39
|
rhmf |
|- ( O e. ( S RingHom ( Y ^s ( Base ` Y ) ) ) -> O : B --> ( Base ` ( Y ^s ( Base ` Y ) ) ) ) |
44 |
42 43
|
syl |
|- ( ph -> O : B --> ( Base ` ( Y ^s ( Base ` Y ) ) ) ) |
45 |
2
|
ply1ring |
|- ( Y e. Ring -> S e. Ring ) |
46 |
25 45
|
syl |
|- ( ph -> S e. Ring ) |
47 |
|
ringgrp |
|- ( S e. Ring -> S e. Grp ) |
48 |
46 47
|
syl |
|- ( ph -> S e. Grp ) |
49 |
|
eqid |
|- ( mulGrp ` S ) = ( mulGrp ` S ) |
50 |
49
|
ringmgp |
|- ( S e. Ring -> ( mulGrp ` S ) e. Mnd ) |
51 |
46 50
|
syl |
|- ( ph -> ( mulGrp ` S ) e. Mnd ) |
52 |
|
oddprm |
|- ( P e. ( Prime \ { 2 } ) -> ( ( P - 1 ) / 2 ) e. NN ) |
53 |
12 52
|
syl |
|- ( ph -> ( ( P - 1 ) / 2 ) e. NN ) |
54 |
53
|
nnnn0d |
|- ( ph -> ( ( P - 1 ) / 2 ) e. NN0 ) |
55 |
7 2 3
|
vr1cl |
|- ( Y e. Ring -> X e. B ) |
56 |
25 55
|
syl |
|- ( ph -> X e. B ) |
57 |
49 3
|
mgpbas |
|- B = ( Base ` ( mulGrp ` S ) ) |
58 |
57 6
|
mulgnn0cl |
|- ( ( ( mulGrp ` S ) e. Mnd /\ ( ( P - 1 ) / 2 ) e. NN0 /\ X e. B ) -> ( ( ( P - 1 ) / 2 ) .^ X ) e. B ) |
59 |
51 54 56 58
|
syl3anc |
|- ( ph -> ( ( ( P - 1 ) / 2 ) .^ X ) e. B ) |
60 |
3 9
|
ringidcl |
|- ( S e. Ring -> .1. e. B ) |
61 |
46 60
|
syl |
|- ( ph -> .1. e. B ) |
62 |
3 8
|
grpsubcl |
|- ( ( S e. Grp /\ ( ( ( P - 1 ) / 2 ) .^ X ) e. B /\ .1. e. B ) -> ( ( ( ( P - 1 ) / 2 ) .^ X ) .- .1. ) e. B ) |
63 |
48 59 61 62
|
syl3anc |
|- ( ph -> ( ( ( ( P - 1 ) / 2 ) .^ X ) .- .1. ) e. B ) |
64 |
10 63
|
eqeltrid |
|- ( ph -> T e. B ) |
65 |
44 64
|
ffvelrnd |
|- ( ph -> ( O ` T ) e. ( Base ` ( Y ^s ( Base ` Y ) ) ) ) |
66 |
38 29 39 18 40 65
|
pwselbas |
|- ( ph -> ( O ` T ) : ( Base ` Y ) --> ( Base ` Y ) ) |
67 |
66
|
ffnd |
|- ( ph -> ( O ` T ) Fn ( Base ` Y ) ) |
68 |
|
fniniseg |
|- ( ( O ` T ) Fn ( Base ` Y ) -> ( ( L ` A ) e. ( `' ( O ` T ) " { ( 0g ` Y ) } ) <-> ( ( L ` A ) e. ( Base ` Y ) /\ ( ( O ` T ) ` ( L ` A ) ) = ( 0g ` Y ) ) ) ) |
69 |
67 68
|
syl |
|- ( ph -> ( ( L ` A ) e. ( `' ( O ` T ) " { ( 0g ` Y ) } ) <-> ( ( L ` A ) e. ( Base ` Y ) /\ ( ( O ` T ) ` ( L ` A ) ) = ( 0g ` Y ) ) ) ) |
70 |
32 37 69
|
mpbir2and |
|- ( ph -> ( L ` A ) e. ( `' ( O ` T ) " { ( 0g ` Y ) } ) ) |