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

Theorem lgsdir2 14101
Description: The Legendre symbol is completely multiplicative at  2. (Contributed by Mario Carneiro, 4-Feb-2015.)
Assertion
Ref Expression
lgsdir2  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( ( A  x.  B )  /L 2 )  =  ( ( A  /L 2 )  x.  ( B  /L 2 ) ) )

Proof of Theorem lgsdir2
StepHypRef Expression
1 0cnd 7941 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  0  e.  CC )
2 1cnd 7964 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  1  e.  CC )
3 neg1cn 9013 . . . . . . . . . 10  |-  -u 1  e.  CC
43a1i 9 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> 
-u 1  e.  CC )
5 simpr 110 . . . . . . . . . . . . . 14  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  B  e.  ZZ )
6 8nn 9075 . . . . . . . . . . . . . . 15  |-  8  e.  NN
76a1i 9 . . . . . . . . . . . . . 14  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  8  e.  NN )
85, 7zmodcld 10331 . . . . . . . . . . . . 13  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( B  mod  8
)  e.  NN0 )
98nn0zd 9362 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( B  mod  8
)  e.  ZZ )
10 1zzd 9269 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  1  e.  ZZ )
11 zdceq 9317 . . . . . . . . . . . 12  |-  ( ( ( B  mod  8
)  e.  ZZ  /\  1  e.  ZZ )  -> DECID  ( B  mod  8 )  =  1 )
129, 10, 11syl2anc 411 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( B  mod  8 )  =  1 )
13 7nn 9074 . . . . . . . . . . . . . 14  |-  7  e.  NN
1413nnzi 9263 . . . . . . . . . . . . 13  |-  7  e.  ZZ
1514a1i 9 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  7  e.  ZZ )
16 zdceq 9317 . . . . . . . . . . . 12  |-  ( ( ( B  mod  8
)  e.  ZZ  /\  7  e.  ZZ )  -> DECID  ( B  mod  8 )  =  7 )
179, 15, 16syl2anc 411 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( B  mod  8 )  =  7 )
18 dcor 935 . . . . . . . . . . 11  |-  (DECID  ( B  mod  8 )  =  1  ->  (DECID  ( B  mod  8 )  =  7  -> DECID 
( ( B  mod  8 )  =  1  \/  ( B  mod  8 )  =  7 ) ) )
1912, 17, 18sylc 62 . . . . . . . . . 10  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( ( B  mod  8
)  =  1  \/  ( B  mod  8
)  =  7 ) )
20 elprg 3611 . . . . . . . . . . . 12  |-  ( ( B  mod  8 )  e.  NN0  ->  ( ( B  mod  8 )  e.  { 1 ,  7 }  <->  ( ( B  mod  8 )  =  1  \/  ( B  mod  8 )  =  7 ) ) )
218, 20syl 14 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( ( B  mod  8 )  e.  {
1 ,  7 }  <-> 
( ( B  mod  8 )  =  1  \/  ( B  mod  8 )  =  7 ) ) )
2221dcbid 838 . . . . . . . . . 10  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  (DECID  ( B  mod  8
)  e.  { 1 ,  7 }  <-> DECID  ( ( B  mod  8 )  =  1  \/  ( B  mod  8 )  =  7 ) ) )
2319, 22mpbird 167 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( B  mod  8 )  e.  { 1 ,  7 } )
242, 4, 23ifcldcd 3569 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  if ( ( B  mod  8 )  e. 
{ 1 ,  7 } ,  1 , 
-u 1 )  e.  CC )
2524adantr 276 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  if (
( B  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
)  e.  CC )
26 2nn 9069 . . . . . . . . 9  |-  2  e.  NN
2726a1i 9 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  2  e.  NN )
28 simplr 528 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  B  e.  ZZ )
29 dvdsdc 11789 . . . . . . . 8  |-  ( ( 2  e.  NN  /\  B  e.  ZZ )  -> DECID  2 
||  B )
3027, 28, 29syl2anc 411 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  -> DECID  2  ||  B )
311, 25, 30ifcldcd 3569 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  if (
2  ||  B , 
0 ,  if ( ( B  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
) )  e.  CC )
3231mul02d 8339 . . . . 5  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  ( 0  x.  if ( 2 
||  B ,  0 ,  if ( ( B  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )  =  0 )
33 iftrue 3539 . . . . . . 7  |-  ( 2 
||  A  ->  if ( 2  ||  A ,  0 ,  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  0 )
3433adantl 277 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  if (
2  ||  A , 
0 ,  if ( ( A  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
) )  =  0 )
3534oveq1d 5884 . . . . 5  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  ( if ( 2  ||  A ,  0 ,  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  x.  if ( 2  ||  B ,  0 ,  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) ) )  =  ( 0  x.  if ( 2  ||  B ,  0 ,  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) ) ) )
36 2z 9270 . . . . . . . 8  |-  2  e.  ZZ
37 dvdsmultr1 11822 . . . . . . . 8  |-  ( ( 2  e.  ZZ  /\  A  e.  ZZ  /\  B  e.  ZZ )  ->  (
2  ||  A  ->  2 
||  ( A  x.  B ) ) )
3836, 37mp3an1 1324 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( 2  ||  A  ->  2  ||  ( A  x.  B ) ) )
3938imp 124 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  2  ||  ( A  x.  B
) )
4039iftrued 3541 . . . . 5  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  if (
2  ||  ( A  x.  B ) ,  0 ,  if ( ( ( A  x.  B
)  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) )  =  0 )
4132, 35, 403eqtr4d 2220 . . . 4  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  ( if ( 2  ||  A ,  0 ,  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  x.  if ( 2  ||  B ,  0 ,  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) ) )  =  if ( 2 
||  ( A  x.  B ) ,  0 ,  if ( ( ( A  x.  B
)  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )
42 0cnd 7941 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  0  e.  CC )
43 simpl 109 . . . . . . . . . . . . . 14  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  A  e.  ZZ )
4443, 7zmodcld 10331 . . . . . . . . . . . . 13  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  mod  8
)  e.  NN0 )
4544nn0zd 9362 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  mod  8
)  e.  ZZ )
46 zdceq 9317 . . . . . . . . . . . 12  |-  ( ( ( A  mod  8
)  e.  ZZ  /\  1  e.  ZZ )  -> DECID  ( A  mod  8 )  =  1 )
4745, 10, 46syl2anc 411 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( A  mod  8 )  =  1 )
48 zdceq 9317 . . . . . . . . . . . 12  |-  ( ( ( A  mod  8
)  e.  ZZ  /\  7  e.  ZZ )  -> DECID  ( A  mod  8 )  =  7 )
4945, 15, 48syl2anc 411 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( A  mod  8 )  =  7 )
50 dcor 935 . . . . . . . . . . 11  |-  (DECID  ( A  mod  8 )  =  1  ->  (DECID  ( A  mod  8 )  =  7  -> DECID 
( ( A  mod  8 )  =  1  \/  ( A  mod  8 )  =  7 ) ) )
5147, 49, 50sylc 62 . . . . . . . . . 10  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( ( A  mod  8
)  =  1  \/  ( A  mod  8
)  =  7 ) )
52 elprg 3611 . . . . . . . . . . . 12  |-  ( ( A  mod  8 )  e.  NN0  ->  ( ( A  mod  8 )  e.  { 1 ,  7 }  <->  ( ( A  mod  8 )  =  1  \/  ( A  mod  8 )  =  7 ) ) )
5344, 52syl 14 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( ( A  mod  8 )  e.  {
1 ,  7 }  <-> 
( ( A  mod  8 )  =  1  \/  ( A  mod  8 )  =  7 ) ) )
5453dcbid 838 . . . . . . . . . 10  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  (DECID  ( A  mod  8
)  e.  { 1 ,  7 }  <-> DECID  ( ( A  mod  8 )  =  1  \/  ( A  mod  8 )  =  7 ) ) )
5551, 54mpbird 167 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( A  mod  8 )  e.  { 1 ,  7 } )
562, 4, 55ifcldcd 3569 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  if ( ( A  mod  8 )  e. 
{ 1 ,  7 } ,  1 , 
-u 1 )  e.  CC )
5726a1i 9 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  2  e.  NN )
58 dvdsdc 11789 . . . . . . . . 9  |-  ( ( 2  e.  NN  /\  A  e.  ZZ )  -> DECID  2 
||  A )
5957, 43, 58syl2anc 411 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  2 
||  A )
6042, 56, 59ifcldcd 3569 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  if ( 2  ||  A ,  0 ,  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  e.  CC )
6160mul01d 8340 . . . . . 6  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( if ( 2 
||  A ,  0 ,  if ( ( A  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) )  x.  0 )  =  0 )
6261adantr 276 . . . . 5  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  B
)  ->  ( if ( 2  ||  A ,  0 ,  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  x.  0 )  =  0 )
63 iftrue 3539 . . . . . . 7  |-  ( 2 
||  B  ->  if ( 2  ||  B ,  0 ,  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  0 )
6463adantl 277 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  B
)  ->  if (
2  ||  B , 
0 ,  if ( ( B  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
) )  =  0 )
6564oveq2d 5885 . . . . 5  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  B
)  ->  ( if ( 2  ||  A ,  0 ,  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  x.  if ( 2  ||  B ,  0 ,  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) ) )  =  ( if ( 2  ||  A , 
0 ,  if ( ( A  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
) )  x.  0 ) )
66 dvdsmultr2 11824 . . . . . . . 8  |-  ( ( 2  e.  ZZ  /\  A  e.  ZZ  /\  B  e.  ZZ )  ->  (
2  ||  B  ->  2 
||  ( A  x.  B ) ) )
6736, 66mp3an1 1324 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( 2  ||  B  ->  2  ||  ( A  x.  B ) ) )
6867imp 124 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  B
)  ->  2  ||  ( A  x.  B
) )
6968iftrued 3541 . . . . 5  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  B
)  ->  if (
2  ||  ( A  x.  B ) ,  0 ,  if ( ( ( A  x.  B
)  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) )  =  0 )
7062, 65, 693eqtr4d 2220 . . . 4  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  B
)  ->  ( if ( 2  ||  A ,  0 ,  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  x.  if ( 2  ||  B ,  0 ,  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) ) )  =  if ( 2 
||  ( A  x.  B ) ,  0 ,  if ( ( ( A  x.  B
)  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )
7141, 70jaodan 797 . . 3  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( 2  ||  A  \/  2  ||  B ) )  -> 
( if ( 2 
||  A ,  0 ,  if ( ( A  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) )  x.  if ( 2 
||  B ,  0 ,  if ( ( B  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )  =  if ( 2  ||  ( A  x.  B ) ,  0 ,  if ( ( ( A  x.  B )  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
) ) )
72 ioran 752 . . . 4  |-  ( -.  ( 2  ||  A  \/  2  ||  B )  <-> 
( -.  2  ||  A  /\  -.  2  ||  B ) )
7324ad2antrr 488 . . . . . . . . 9  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( A  mod  8 )  e. 
{ 1 ,  7 } )  ->  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  e.  CC )
7473mulid2d 7966 . . . . . . . 8  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( A  mod  8 )  e. 
{ 1 ,  7 } )  ->  (
1  x.  if ( ( B  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
) )  =  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )
75 iftrue 3539 . . . . . . . . . 10  |-  ( ( A  mod  8 )  e.  { 1 ,  7 }  ->  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  1 )
7675adantl 277 . . . . . . . . 9  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( A  mod  8 )  e. 
{ 1 ,  7 } )  ->  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  1 )
7776oveq1d 5884 . . . . . . . 8  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( A  mod  8 )  e. 
{ 1 ,  7 } )  ->  ( if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  x.  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  ( 1  x.  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) ) )
78 lgsdir2lem4 14099 . . . . . . . . . 10  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( A  mod  8 )  e.  {
1 ,  7 } )  ->  ( (
( A  x.  B
)  mod  8 )  e.  { 1 ,  7 }  <->  ( B  mod  8 )  e.  {
1 ,  7 } ) )
7978adantlr 477 . . . . . . . . 9  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( A  mod  8 )  e. 
{ 1 ,  7 } )  ->  (
( ( A  x.  B )  mod  8
)  e.  { 1 ,  7 }  <->  ( B  mod  8 )  e.  {
1 ,  7 } ) )
8079ifbid 3555 . . . . . . . 8  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( A  mod  8 )  e. 
{ 1 ,  7 } )  ->  if ( ( ( A  x.  B )  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )
8174, 77, 803eqtr4d 2220 . . . . . . 7  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( A  mod  8 )  e. 
{ 1 ,  7 } )  ->  ( if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  x.  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  if ( ( ( A  x.  B )  mod  8 )  e. 
{ 1 ,  7 } ,  1 , 
-u 1 ) )
8256mulid1d 7965 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( if ( ( A  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 )  x.  1 )  =  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )
8382ad2antrr 488 . . . . . . . 8  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( B  mod  8 )  e. 
{ 1 ,  7 } )  ->  ( if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  x.  1 )  =  if ( ( A  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
) )
84 iftrue 3539 . . . . . . . . . 10  |-  ( ( B  mod  8 )  e.  { 1 ,  7 }  ->  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  1 )
8584adantl 277 . . . . . . . . 9  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( B  mod  8 )  e. 
{ 1 ,  7 } )  ->  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  1 )
8685oveq2d 5885 . . . . . . . 8  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( B  mod  8 )  e. 
{ 1 ,  7 } )  ->  ( if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  x.  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  ( if ( ( A  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 )  x.  1 ) )
87 zcn 9247 . . . . . . . . . . . . . 14  |-  ( A  e.  ZZ  ->  A  e.  CC )
88 zcn 9247 . . . . . . . . . . . . . 14  |-  ( B  e.  ZZ  ->  B  e.  CC )
89 mulcom 7931 . . . . . . . . . . . . . 14  |-  ( ( A  e.  CC  /\  B  e.  CC )  ->  ( A  x.  B
)  =  ( B  x.  A ) )
9087, 88, 89syl2an 289 . . . . . . . . . . . . 13  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  x.  B
)  =  ( B  x.  A ) )
9190ad2antrr 488 . . . . . . . . . . . 12  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( B  mod  8 )  e. 
{ 1 ,  7 } )  ->  ( A  x.  B )  =  ( B  x.  A ) )
9291oveq1d 5884 . . . . . . . . . . 11  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( B  mod  8 )  e. 
{ 1 ,  7 } )  ->  (
( A  x.  B
)  mod  8 )  =  ( ( B  x.  A )  mod  8 ) )
9392eleq1d 2246 . . . . . . . . . 10  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( B  mod  8 )  e. 
{ 1 ,  7 } )  ->  (
( ( A  x.  B )  mod  8
)  e.  { 1 ,  7 }  <->  ( ( B  x.  A )  mod  8 )  e.  {
1 ,  7 } ) )
94 lgsdir2lem4 14099 . . . . . . . . . . . 12  |-  ( ( ( B  e.  ZZ  /\  A  e.  ZZ )  /\  ( B  mod  8 )  e.  {
1 ,  7 } )  ->  ( (
( B  x.  A
)  mod  8 )  e.  { 1 ,  7 }  <->  ( A  mod  8 )  e.  {
1 ,  7 } ) )
9594ancom1s 569 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( B  mod  8 )  e.  {
1 ,  7 } )  ->  ( (
( B  x.  A
)  mod  8 )  e.  { 1 ,  7 }  <->  ( A  mod  8 )  e.  {
1 ,  7 } ) )
9695adantlr 477 . . . . . . . . . 10  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( B  mod  8 )  e. 
{ 1 ,  7 } )  ->  (
( ( B  x.  A )  mod  8
)  e.  { 1 ,  7 }  <->  ( A  mod  8 )  e.  {
1 ,  7 } ) )
9793, 96bitrd 188 . . . . . . . . 9  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( B  mod  8 )  e. 
{ 1 ,  7 } )  ->  (
( ( A  x.  B )  mod  8
)  e.  { 1 ,  7 }  <->  ( A  mod  8 )  e.  {
1 ,  7 } ) )
9897ifbid 3555 . . . . . . . 8  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( B  mod  8 )  e. 
{ 1 ,  7 } )  ->  if ( ( ( A  x.  B )  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )
9983, 86, 983eqtr4d 2220 . . . . . . 7  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( B  mod  8 )  e. 
{ 1 ,  7 } )  ->  ( if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  x.  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  if ( ( ( A  x.  B )  mod  8 )  e. 
{ 1 ,  7 } ,  1 , 
-u 1 ) )
10081, 99jaodan 797 . . . . . 6  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( ( A  mod  8 )  e.  { 1 ,  7 }  \/  ( B  mod  8 )  e. 
{ 1 ,  7 } ) )  -> 
( if ( ( A  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 )  x.  if ( ( B  mod  8 )  e. 
{ 1 ,  7 } ,  1 , 
-u 1 ) )  =  if ( ( ( A  x.  B
)  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) )
101 ioran 752 . . . . . . 7  |-  ( -.  ( ( A  mod  8 )  e.  {
1 ,  7 }  \/  ( B  mod  8 )  e.  {
1 ,  7 } )  <->  ( -.  ( A  mod  8 )  e. 
{ 1 ,  7 }  /\  -.  ( B  mod  8 )  e. 
{ 1 ,  7 } ) )
102 neg1mulneg1e1 9120 . . . . . . . 8  |-  ( -u
1  x.  -u 1
)  =  1
103 iffalse 3542 . . . . . . . . . 10  |-  ( -.  ( A  mod  8
)  e.  { 1 ,  7 }  ->  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  -u
1 )
104 iffalse 3542 . . . . . . . . . 10  |-  ( -.  ( B  mod  8
)  e.  { 1 ,  7 }  ->  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  -u
1 )
105103, 104oveqan12d 5888 . . . . . . . . 9  |-  ( ( -.  ( A  mod  8 )  e.  {
1 ,  7 }  /\  -.  ( B  mod  8 )  e. 
{ 1 ,  7 } )  ->  ( if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  x.  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  ( -u 1  x.  -u 1 ) )
106105adantl 277 . . . . . . . 8  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( -.  ( A  mod  8
)  e.  { 1 ,  7 }  /\  -.  ( B  mod  8
)  e.  { 1 ,  7 } ) )  ->  ( if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  x.  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  ( -u 1  x.  -u 1 ) )
107 lgsdir2lem3 14098 . . . . . . . . . . . . . 14  |-  ( ( A  e.  ZZ  /\  -.  2  ||  A )  ->  ( A  mod  8 )  e.  ( { 1 ,  7 }  u.  { 3 ,  5 } ) )
108107ad2ant2r 509 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  -> 
( A  mod  8
)  e.  ( { 1 ,  7 }  u.  { 3 ,  5 } ) )
109 elun 3276 . . . . . . . . . . . . 13  |-  ( ( A  mod  8 )  e.  ( { 1 ,  7 }  u.  { 3 ,  5 } )  <->  ( ( A  mod  8 )  e. 
{ 1 ,  7 }  \/  ( A  mod  8 )  e. 
{ 3 ,  5 } ) )
110108, 109sylib 122 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  -> 
( ( A  mod  8 )  e.  {
1 ,  7 }  \/  ( A  mod  8 )  e.  {
3 ,  5 } ) )
111110orcanai 928 . . . . . . . . . . 11  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  -.  ( A  mod  8 )  e. 
{ 1 ,  7 } )  ->  ( A  mod  8 )  e. 
{ 3 ,  5 } )
112 lgsdir2lem3 14098 . . . . . . . . . . . . . 14  |-  ( ( B  e.  ZZ  /\  -.  2  ||  B )  ->  ( B  mod  8 )  e.  ( { 1 ,  7 }  u.  { 3 ,  5 } ) )
113112ad2ant2l 508 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  -> 
( B  mod  8
)  e.  ( { 1 ,  7 }  u.  { 3 ,  5 } ) )
114 elun 3276 . . . . . . . . . . . . 13  |-  ( ( B  mod  8 )  e.  ( { 1 ,  7 }  u.  { 3 ,  5 } )  <->  ( ( B  mod  8 )  e. 
{ 1 ,  7 }  \/  ( B  mod  8 )  e. 
{ 3 ,  5 } ) )
115113, 114sylib 122 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  -> 
( ( B  mod  8 )  e.  {
1 ,  7 }  \/  ( B  mod  8 )  e.  {
3 ,  5 } ) )
116115orcanai 928 . . . . . . . . . . 11  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  -.  ( B  mod  8 )  e. 
{ 1 ,  7 } )  ->  ( B  mod  8 )  e. 
{ 3 ,  5 } )
117111, 116anim12dan 600 . . . . . . . . . 10  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( -.  ( A  mod  8
)  e.  { 1 ,  7 }  /\  -.  ( B  mod  8
)  e.  { 1 ,  7 } ) )  ->  ( ( A  mod  8 )  e. 
{ 3 ,  5 }  /\  ( B  mod  8 )  e. 
{ 3 ,  5 } ) )
118 lgsdir2lem5 14100 . . . . . . . . . . 11  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( ( A  mod  8 )  e. 
{ 3 ,  5 }  /\  ( B  mod  8 )  e. 
{ 3 ,  5 } ) )  -> 
( ( A  x.  B )  mod  8
)  e.  { 1 ,  7 } )
119118adantlr 477 . . . . . . . . . 10  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( ( A  mod  8 )  e.  { 3 ,  5 }  /\  ( B  mod  8 )  e. 
{ 3 ,  5 } ) )  -> 
( ( A  x.  B )  mod  8
)  e.  { 1 ,  7 } )
120117, 119syldan 282 . . . . . . . . 9  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( -.  ( A  mod  8
)  e.  { 1 ,  7 }  /\  -.  ( B  mod  8
)  e.  { 1 ,  7 } ) )  ->  ( ( A  x.  B )  mod  8 )  e.  {
1 ,  7 } )
121120iftrued 3541 . . . . . . . 8  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( -.  ( A  mod  8
)  e.  { 1 ,  7 }  /\  -.  ( B  mod  8
)  e.  { 1 ,  7 } ) )  ->  if (
( ( A  x.  B )  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
)  =  1 )
122102, 106, 1213eqtr4a 2236 . . . . . . 7  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( -.  ( A  mod  8
)  e.  { 1 ,  7 }  /\  -.  ( B  mod  8
)  e.  { 1 ,  7 } ) )  ->  ( if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  x.  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  if ( ( ( A  x.  B )  mod  8 )  e. 
{ 1 ,  7 } ,  1 , 
-u 1 ) )
123101, 122sylan2b 287 . . . . . 6  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  -.  (
( A  mod  8
)  e.  { 1 ,  7 }  \/  ( B  mod  8
)  e.  { 1 ,  7 } ) )  ->  ( if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  x.  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  if ( ( ( A  x.  B )  mod  8 )  e. 
{ 1 ,  7 } ,  1 , 
-u 1 ) )
124 dcor 935 . . . . . . . . 9  |-  (DECID  ( A  mod  8 )  e. 
{ 1 ,  7 }  ->  (DECID  ( B  mod  8 )  e.  {
1 ,  7 }  -> DECID 
( ( A  mod  8 )  e.  {
1 ,  7 }  \/  ( B  mod  8 )  e.  {
1 ,  7 } ) ) )
12555, 23, 124sylc 62 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( ( A  mod  8
)  e.  { 1 ,  7 }  \/  ( B  mod  8
)  e.  { 1 ,  7 } ) )
126125adantr 276 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  -> DECID  (
( A  mod  8
)  e.  { 1 ,  7 }  \/  ( B  mod  8
)  e.  { 1 ,  7 } ) )
127 exmiddc 836 . . . . . . 7  |-  (DECID  ( ( A  mod  8 )  e.  { 1 ,  7 }  \/  ( B  mod  8 )  e. 
{ 1 ,  7 } )  ->  (
( ( A  mod  8 )  e.  {
1 ,  7 }  \/  ( B  mod  8 )  e.  {
1 ,  7 } )  \/  -.  (
( A  mod  8
)  e.  { 1 ,  7 }  \/  ( B  mod  8
)  e.  { 1 ,  7 } ) ) )
128126, 127syl 14 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  -> 
( ( ( A  mod  8 )  e. 
{ 1 ,  7 }  \/  ( B  mod  8 )  e. 
{ 1 ,  7 } )  \/  -.  ( ( A  mod  8 )  e.  {
1 ,  7 }  \/  ( B  mod  8 )  e.  {
1 ,  7 } ) ) )
129100, 123, 128mpjaodan 798 . . . . 5  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  -> 
( if ( ( A  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 )  x.  if ( ( B  mod  8 )  e. 
{ 1 ,  7 } ,  1 , 
-u 1 ) )  =  if ( ( ( A  x.  B
)  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) )
130 iffalse 3542 . . . . . . 7  |-  ( -.  2  ||  A  ->  if ( 2  ||  A ,  0 ,  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  if ( ( A  mod  8 )  e. 
{ 1 ,  7 } ,  1 , 
-u 1 ) )
131 iffalse 3542 . . . . . . 7  |-  ( -.  2  ||  B  ->  if ( 2  ||  B ,  0 ,  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  if ( ( B  mod  8 )  e. 
{ 1 ,  7 } ,  1 , 
-u 1 ) )
132130, 131oveqan12d 5888 . . . . . 6  |-  ( ( -.  2  ||  A  /\  -.  2  ||  B
)  ->  ( if ( 2  ||  A ,  0 ,  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  x.  if ( 2  ||  B ,  0 ,  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) ) )  =  ( if ( ( A  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
)  x.  if ( ( B  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
) ) )
133132adantl 277 . . . . 5  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  -> 
( if ( 2 
||  A ,  0 ,  if ( ( A  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) )  x.  if ( 2 
||  B ,  0 ,  if ( ( B  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )  =  ( if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  x.  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) ) )
134 2prm 12110 . . . . . . . . . 10  |-  2  e.  Prime
135 euclemma 12129 . . . . . . . . . 10  |-  ( ( 2  e.  Prime  /\  A  e.  ZZ  /\  B  e.  ZZ )  ->  (
2  ||  ( A  x.  B )  <->  ( 2 
||  A  \/  2 
||  B ) ) )
136134, 135mp3an1 1324 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( 2  ||  ( A  x.  B )  <->  ( 2  ||  A  \/  2  ||  B ) ) )
137136notbid 667 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( -.  2  ||  ( A  x.  B
)  <->  -.  ( 2 
||  A  \/  2 
||  B ) ) )
138137biimpar 297 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  -.  ( 2 
||  A  \/  2 
||  B ) )  ->  -.  2  ||  ( A  x.  B
) )
13972, 138sylan2br 288 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  ->  -.  2  ||  ( A  x.  B ) )
140 iffalse 3542 . . . . . 6  |-  ( -.  2  ||  ( A  x.  B )  ->  if ( 2  ||  ( A  x.  B ) ,  0 ,  if ( ( ( A  x.  B )  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  if ( ( ( A  x.  B )  mod  8 )  e. 
{ 1 ,  7 } ,  1 , 
-u 1 ) )
141139, 140syl 14 . . . . 5  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  ->  if ( 2  ||  ( A  x.  B ) ,  0 ,  if ( ( ( A  x.  B )  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  if ( ( ( A  x.  B )  mod  8 )  e. 
{ 1 ,  7 } ,  1 , 
-u 1 ) )
142129, 133, 1413eqtr4d 2220 . . . 4  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  -> 
( if ( 2 
||  A ,  0 ,  if ( ( A  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) )  x.  if ( 2 
||  B ,  0 ,  if ( ( B  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )  =  if ( 2  ||  ( A  x.  B ) ,  0 ,  if ( ( ( A  x.  B )  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
) ) )
14372, 142sylan2b 287 . . 3  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  -.  ( 2 
||  A  \/  2 
||  B ) )  ->  ( if ( 2  ||  A , 
0 ,  if ( ( A  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
) )  x.  if ( 2  ||  B ,  0 ,  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) ) )  =  if ( 2 
||  ( A  x.  B ) ,  0 ,  if ( ( ( A  x.  B
)  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )
14457, 5, 29syl2anc 411 . . . . 5  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  2 
||  B )
145 dcor 935 . . . . 5  |-  (DECID  2  ||  A  ->  (DECID  2  ||  B  -> DECID  (
2  ||  A  \/  2  ||  B ) ) )
14659, 144, 145sylc 62 . . . 4  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( 2  ||  A  \/  2  ||  B ) )
147 exmiddc 836 . . . 4  |-  (DECID  ( 2 
||  A  \/  2 
||  B )  -> 
( ( 2  ||  A  \/  2  ||  B )  \/  -.  ( 2  ||  A  \/  2  ||  B ) ) )
148146, 147syl 14 . . 3  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( ( 2  ||  A  \/  2  ||  B )  \/  -.  ( 2  ||  A  \/  2  ||  B ) ) )
14971, 143, 148mpjaodan 798 . 2  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( if ( 2 
||  A ,  0 ,  if ( ( A  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) )  x.  if ( 2 
||  B ,  0 ,  if ( ( B  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )  =  if ( 2  ||  ( A  x.  B ) ,  0 ,  if ( ( ( A  x.  B )  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
) ) )
150 lgs2 14085 . . 3  |-  ( A  e.  ZZ  ->  ( A  /L 2 )  =  if ( 2 
||  A ,  0 ,  if ( ( A  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )
151 lgs2 14085 . . 3  |-  ( B  e.  ZZ  ->  ( B  /L 2 )  =  if ( 2 
||  B ,  0 ,  if ( ( B  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )
152150, 151oveqan12d 5888 . 2  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( ( A  /L 2 )  x.  ( B  /L 2 ) )  =  ( if ( 2 
||  A ,  0 ,  if ( ( A  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) )  x.  if ( 2 
||  B ,  0 ,  if ( ( B  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) ) )
153 zmulcl 9295 . . 3  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  x.  B
)  e.  ZZ )
154 lgs2 14085 . . 3  |-  ( ( A  x.  B )  e.  ZZ  ->  (
( A  x.  B
)  /L 2 )  =  if ( 2  ||  ( A  x.  B ) ,  0 ,  if ( ( ( A  x.  B )  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
) ) )
155153, 154syl 14 . 2  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( ( A  x.  B )  /L 2 )  =  if ( 2  ||  ( A  x.  B ) ,  0 ,  if ( ( ( A  x.  B )  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) ) )
156149, 152, 1553eqtr4rd 2221 1  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( ( A  x.  B )  /L 2 )  =  ( ( A  /L 2 )  x.  ( B  /L 2 ) ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    /\ wa 104    <-> wb 105    \/ wo 708  DECID wdc 834    = wceq 1353    e. wcel 2148    u. cun 3127   ifcif 3534   {cpr 3592   class class class wbr 4000  (class class class)co 5869   CCcc 7800   0cc0 7802   1c1 7803    x. cmul 7807   -ucneg 8119   NNcn 8908   2c2 8959   3c3 8960   5c5 8962   7c7 8964   8c8 8965   NN0cn0 9165   ZZcz 9242    mod cmo 10308    || cdvds 11778   Primecprime 12090    /Lclgs 14065
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 614  ax-in2 615  ax-io 709  ax-5 1447  ax-7 1448  ax-gen 1449  ax-ie1 1493  ax-ie2 1494  ax-8 1504  ax-10 1505  ax-11 1506  ax-i12 1507  ax-bndl 1509  ax-4 1510  ax-17 1526  ax-i9 1530  ax-ial 1534  ax-i5r 1535  ax-13 2150  ax-14 2151  ax-ext 2159  ax-coll 4115  ax-sep 4118  ax-nul 4126  ax-pow 4171  ax-pr 4206  ax-un 4430  ax-setind 4533  ax-iinf 4584  ax-cnex 7893  ax-resscn 7894  ax-1cn 7895  ax-1re 7896  ax-icn 7897  ax-addcl 7898  ax-addrcl 7899  ax-mulcl 7900  ax-mulrcl 7901  ax-addcom 7902  ax-mulcom 7903  ax-addass 7904  ax-mulass 7905  ax-distr 7906  ax-i2m1 7907  ax-0lt1 7908  ax-1rid 7909  ax-0id 7910  ax-rnegex 7911  ax-precex 7912  ax-cnre 7913  ax-pre-ltirr 7914  ax-pre-ltwlin 7915  ax-pre-lttrn 7916  ax-pre-apti 7917  ax-pre-ltadd 7918  ax-pre-mulgt0 7919  ax-pre-mulext 7920  ax-arch 7921  ax-caucvg 7922
This theorem depends on definitions:  df-bi 117  df-stab 831  df-dc 835  df-3or 979  df-3an 980  df-tru 1356  df-fal 1359  df-xor 1376  df-nf 1461  df-sb 1763  df-eu 2029  df-mo 2030  df-clab 2164  df-cleq 2170  df-clel 2173  df-nfc 2308  df-ne 2348  df-nel 2443  df-ral 2460  df-rex 2461  df-reu 2462  df-rmo 2463  df-rab 2464  df-v 2739  df-sbc 2963  df-csb 3058  df-dif 3131  df-un 3133  df-in 3135  df-ss 3142  df-nul 3423  df-if 3535  df-pw 3576  df-sn 3597  df-pr 3598  df-op 3600  df-uni 3808  df-int 3843  df-iun 3886  df-br 4001  df-opab 4062  df-mpt 4063  df-tr 4099  df-id 4290  df-po 4293  df-iso 4294  df-iord 4363  df-on 4365  df-ilim 4366  df-suc 4368  df-iom 4587  df-xp 4629  df-rel 4630  df-cnv 4631  df-co 4632  df-dm 4633  df-rn 4634  df-res 4635  df-ima 4636  df-iota 5174  df-fun 5214  df-fn 5215  df-f 5216  df-f1 5217  df-fo 5218  df-f1o 5219  df-fv 5220  df-isom 5221  df-riota 5825  df-ov 5872  df-oprab 5873  df-mpo 5874  df-1st 6135  df-2nd 6136  df-recs 6300  df-irdg 6365  df-frec 6386  df-1o 6411  df-2o 6412  df-oadd 6415  df-er 6529  df-en 6735  df-dom 6736  df-fin 6737  df-sup 6977  df-inf 6978  df-pnf 7984  df-mnf 7985  df-xr 7986  df-ltxr 7987  df-le 7988  df-sub 8120  df-neg 8121  df-reap 8522  df-ap 8529  df-div 8619  df-inn 8909  df-2 8967  df-3 8968  df-4 8969  df-5 8970  df-6 8971  df-7 8972  df-8 8973  df-9 8974  df-n0 9166  df-z 9243  df-uz 9518  df-q 9609  df-rp 9641  df-fz 9996  df-fzo 10129  df-fl 10256  df-mod 10309  df-seqfrec 10432  df-exp 10506  df-ihash 10740  df-cj 10835  df-re 10836  df-im 10837  df-rsqrt 10991  df-abs 10992  df-clim 11271  df-proddc 11543  df-dvds 11779  df-gcd 11927  df-prm 12091  df-phi 12194  df-pc 12268  df-lgs 14066
This theorem is referenced by:  lgsdirprm  14102
  Copyright terms: Public domain W3C validator