Metamath Proof Explorer


Theorem lgsdir2

Description: The Legendre symbol is completely multiplicative at 2 . (Contributed by Mario Carneiro, 4-Feb-2015)

Ref Expression
Assertion lgsdir2 ABAB/L2=A/L2B/L2

Proof

Step Hyp Ref Expression
1 0cn 0
2 ax-1cn 1
3 neg1cn 1
4 2 3 ifcli ifBmod81711
5 1 4 ifcli if2B0ifBmod81711
6 5 mul02i 0if2B0ifBmod81711=0
7 iftrue 2Aif2A0ifAmod81711=0
8 7 adantl AB2Aif2A0ifAmod81711=0
9 8 oveq1d AB2Aif2A0ifAmod81711if2B0ifBmod81711=0if2B0ifBmod81711
10 2z 2
11 dvdsmultr1 2AB2A2AB
12 10 11 mp3an1 AB2A2AB
13 12 imp AB2A2AB
14 13 iftrued AB2Aif2AB0ifABmod81711=0
15 6 9 14 3eqtr4a AB2Aif2A0ifAmod81711if2B0ifBmod81711=if2AB0ifABmod81711
16 2 3 ifcli ifAmod81711
17 1 16 ifcli if2A0ifAmod81711
18 17 mul01i if2A0ifAmod817110=0
19 iftrue 2Bif2B0ifBmod81711=0
20 19 adantl AB2Bif2B0ifBmod81711=0
21 20 oveq2d AB2Bif2A0ifAmod81711if2B0ifBmod81711=if2A0ifAmod817110
22 dvdsmultr2 2AB2B2AB
23 10 22 mp3an1 AB2B2AB
24 23 imp AB2B2AB
25 24 iftrued AB2Bif2AB0ifABmod81711=0
26 18 21 25 3eqtr4a AB2Bif2A0ifAmod81711if2B0ifBmod81711=if2AB0ifABmod81711
27 4 mullidi 1ifBmod81711=ifBmod81711
28 iftrue Amod817ifAmod81711=1
29 28 adantl AB¬2A¬2BAmod817ifAmod81711=1
30 29 oveq1d AB¬2A¬2BAmod817ifAmod81711ifBmod81711=1ifBmod81711
31 lgsdir2lem4 ABAmod817ABmod817Bmod817
32 31 adantlr AB¬2A¬2BAmod817ABmod817Bmod817
33 32 ifbid AB¬2A¬2BAmod817ifABmod81711=ifBmod81711
34 27 30 33 3eqtr4a AB¬2A¬2BAmod817ifAmod81711ifBmod81711=ifABmod81711
35 16 mulridi ifAmod817111=ifAmod81711
36 iftrue Bmod817ifBmod81711=1
37 36 adantl AB¬2A¬2BBmod817ifBmod81711=1
38 37 oveq2d AB¬2A¬2BBmod817ifAmod81711ifBmod81711=ifAmod817111
39 zcn AA
40 zcn BB
41 mulcom ABAB=BA
42 39 40 41 syl2an ABAB=BA
43 42 ad2antrr AB¬2A¬2BBmod817AB=BA
44 43 oveq1d AB¬2A¬2BBmod817ABmod8=BAmod8
45 44 eleq1d AB¬2A¬2BBmod817ABmod817BAmod817
46 lgsdir2lem4 BABmod817BAmod817Amod817
47 46 ancom1s ABBmod817BAmod817Amod817
48 47 adantlr AB¬2A¬2BBmod817BAmod817Amod817
49 45 48 bitrd AB¬2A¬2BBmod817ABmod817Amod817
50 49 ifbid AB¬2A¬2BBmod817ifABmod81711=ifAmod81711
51 35 38 50 3eqtr4a AB¬2A¬2BBmod817ifAmod81711ifBmod81711=ifABmod81711
52 neg1mulneg1e1 -1-1=1
53 iffalse ¬Amod817ifAmod81711=1
54 iffalse ¬Bmod817ifBmod81711=1
55 53 54 oveqan12d ¬Amod817¬Bmod817ifAmod81711ifBmod81711=-1-1
56 55 adantl AB¬2A¬2B¬Amod817¬Bmod817ifAmod81711ifBmod81711=-1-1
57 lgsdir2lem3 A¬2AAmod81735
58 57 ad2ant2r AB¬2A¬2BAmod81735
59 elun Amod81735Amod817Amod835
60 58 59 sylib AB¬2A¬2BAmod817Amod835
61 60 orcanai AB¬2A¬2B¬Amod817Amod835
62 lgsdir2lem3 B¬2BBmod81735
63 62 ad2ant2l AB¬2A¬2BBmod81735
64 elun Bmod81735Bmod817Bmod835
65 63 64 sylib AB¬2A¬2BBmod817Bmod835
66 65 orcanai AB¬2A¬2B¬Bmod817Bmod835
67 61 66 anim12dan AB¬2A¬2B¬Amod817¬Bmod817Amod835Bmod835
68 lgsdir2lem5 ABAmod835Bmod835ABmod817
69 68 adantlr AB¬2A¬2BAmod835Bmod835ABmod817
70 67 69 syldan AB¬2A¬2B¬Amod817¬Bmod817ABmod817
71 70 iftrued AB¬2A¬2B¬Amod817¬Bmod817ifABmod81711=1
72 52 56 71 3eqtr4a AB¬2A¬2B¬Amod817¬Bmod817ifAmod81711ifBmod81711=ifABmod81711
73 34 51 72 pm2.61ddan AB¬2A¬2BifAmod81711ifBmod81711=ifABmod81711
74 iffalse ¬2Aif2A0ifAmod81711=ifAmod81711
75 iffalse ¬2Bif2B0ifBmod81711=ifBmod81711
76 74 75 oveqan12d ¬2A¬2Bif2A0ifAmod81711if2B0ifBmod81711=ifAmod81711ifBmod81711
77 76 adantl AB¬2A¬2Bif2A0ifAmod81711if2B0ifBmod81711=ifAmod81711ifBmod81711
78 ioran ¬2A2B¬2A¬2B
79 2prm 2
80 euclemma 2AB2AB2A2B
81 79 80 mp3an1 AB2AB2A2B
82 81 notbid AB¬2AB¬2A2B
83 82 biimpar AB¬2A2B¬2AB
84 78 83 sylan2br AB¬2A¬2B¬2AB
85 iffalse ¬2ABif2AB0ifABmod81711=ifABmod81711
86 84 85 syl AB¬2A¬2Bif2AB0ifABmod81711=ifABmod81711
87 73 77 86 3eqtr4d AB¬2A¬2Bif2A0ifAmod81711if2B0ifBmod81711=if2AB0ifABmod81711
88 15 26 87 pm2.61ddan ABif2A0ifAmod81711if2B0ifBmod81711=if2AB0ifABmod81711
89 lgs2 AA/L2=if2A0ifAmod81711
90 lgs2 BB/L2=if2B0ifBmod81711
91 89 90 oveqan12d ABA/L2B/L2=if2A0ifAmod81711if2B0ifBmod81711
92 zmulcl ABAB
93 lgs2 ABAB/L2=if2AB0ifABmod81711
94 92 93 syl ABAB/L2=if2AB0ifABmod81711
95 88 91 94 3eqtr4rd ABAB/L2=A/L2B/L2