Metamath Proof Explorer


Theorem lgsqr

Description: The Legendre symbol for odd primes is 1 iff the number is not a multiple of the prime (in which case it is 0 , see lgsne0 ) and the number is a quadratic residue mod P (it is -u 1 for nonresidues by the process of elimination from lgsabs1 ). Given our definition of the Legendre symbol, this theorem is equivalent to Euler's criterion. (Contributed by Mario Carneiro, 15-Jun-2015)

Ref Expression
Assertion lgsqr AP2A/LP=1¬PAxPx2A

Proof

Step Hyp Ref Expression
1 eldifi P2P
2 1 adantl AP2P
3 prmz PP
4 2 3 syl AP2P
5 simpl AP2A
6 4 5 gcdcomd AP2PgcdA=AgcdP
7 6 eqeq1d AP2PgcdA=1AgcdP=1
8 coprm PA¬PAPgcdA=1
9 2 5 8 syl2anc AP2¬PAPgcdA=1
10 lgsne0 APA/LP0AgcdP=1
11 5 4 10 syl2anc AP2A/LP0AgcdP=1
12 7 9 11 3bitr4d AP2¬PAA/LP0
13 12 necon4bbid AP2PAA/LP=0
14 0ne1 01
15 neeq1 A/LP=0A/LP101
16 14 15 mpbiri A/LP=0A/LP1
17 13 16 syl6bi AP2PAA/LP1
18 17 necon2bd AP2A/LP=1¬PA
19 lgsqrlem5 AP2A/LP=1xPx2A
20 19 3expia AP2A/LP=1xPx2A
21 18 20 jcad AP2A/LP=1¬PAxPx2A
22 simprl AP2¬PAxPx2Ax
23 22 zred AP2¬PAxPx2Ax
24 absresq xx2=x2
25 23 24 syl AP2¬PAxPx2Ax2=x2
26 25 oveq1d AP2¬PAxPx2Ax2/LP=x2/LP
27 simplr AP2¬PAxPx2A¬PA
28 1 ad3antlr AP2¬PAxPx2AP
29 28 3 syl AP2¬PAxPx2AP
30 zsqcl xx2
31 22 30 syl AP2¬PAxPx2Ax2
32 simplll AP2¬PAxPx2AA
33 simprr AP2¬PAxPx2APx2A
34 dvdssub2 Px2APx2APx2PA
35 29 31 32 33 34 syl31anc AP2¬PAxPx2APx2PA
36 27 35 mtbird AP2¬PAxPx2A¬Px2
37 2nn 2
38 37 a1i AP2¬PAxPx2A2
39 prmdvdsexp Px2Px2Px
40 28 22 38 39 syl3anc AP2¬PAxPx2APx2Px
41 36 40 mtbid AP2¬PAxPx2A¬Px
42 dvds0 PP0
43 29 42 syl AP2¬PAxPx2AP0
44 breq2 x=0PxP0
45 43 44 syl5ibrcom AP2¬PAxPx2Ax=0Px
46 45 necon3bd AP2¬PAxPx2A¬Pxx0
47 41 46 mpd AP2¬PAxPx2Ax0
48 nnabscl xx0x
49 22 47 48 syl2anc AP2¬PAxPx2Ax
50 49 nnzd AP2¬PAxPx2Ax
51 49 nnne0d AP2¬PAxPx2Ax0
52 50 29 gcdcomd AP2¬PAxPx2AxgcdP=Pgcdx
53 dvdsabsb PxPxPx
54 29 22 53 syl2anc AP2¬PAxPx2APxPx
55 41 54 mtbid AP2¬PAxPx2A¬Px
56 coprm Px¬PxPgcdx=1
57 28 50 56 syl2anc AP2¬PAxPx2A¬PxPgcdx=1
58 55 57 mpbid AP2¬PAxPx2APgcdx=1
59 52 58 eqtrd AP2¬PAxPx2AxgcdP=1
60 lgssq xx0PxgcdP=1x2/LP=1
61 50 51 29 59 60 syl211anc AP2¬PAxPx2Ax2/LP=1
62 prmnn PP
63 28 62 syl AP2¬PAxPx2AP
64 moddvds Px2Ax2modP=AmodPPx2A
65 63 31 32 64 syl3anc AP2¬PAxPx2Ax2modP=AmodPPx2A
66 33 65 mpbird AP2¬PAxPx2Ax2modP=AmodP
67 66 oveq1d AP2¬PAxPx2Ax2modP/LP=AmodP/LP
68 eldifsni P2P2
69 68 ad3antlr AP2¬PAxPx2AP2
70 69 necomd AP2¬PAxPx2A2P
71 2z 2
72 uzid 222
73 71 72 ax-mp 22
74 dvdsprm 22P2P2=P
75 74 necon3bbid 22P¬2P2P
76 73 28 75 sylancr AP2¬PAxPx2A¬2P2P
77 70 76 mpbird AP2¬PAxPx2A¬2P
78 lgsmod x2P¬2Px2modP/LP=x2/LP
79 31 63 77 78 syl3anc AP2¬PAxPx2Ax2modP/LP=x2/LP
80 lgsmod AP¬2PAmodP/LP=A/LP
81 32 63 77 80 syl3anc AP2¬PAxPx2AAmodP/LP=A/LP
82 67 79 81 3eqtr3d AP2¬PAxPx2Ax2/LP=A/LP
83 26 61 82 3eqtr3rd AP2¬PAxPx2AA/LP=1
84 83 rexlimdvaa AP2¬PAxPx2AA/LP=1
85 84 expimpd AP2¬PAxPx2AA/LP=1
86 21 85 impbid AP2A/LP=1¬PAxPx2A