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

Theorem lgsdir2 13985
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 7925 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  0  e.  CC )
2 1cnd 7948 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  1  e.  CC )
3 neg1cn 8995 . . . . . . . . . 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 9057 . . . . . . . . . . . . . . 15  |-  8  e.  NN
76a1i 9 . . . . . . . . . . . . . 14  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  8  e.  NN )
85, 7zmodcld 10313 . . . . . . . . . . . . 13  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( B  mod  8
)  e.  NN0 )
98nn0zd 9344 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( B  mod  8
)  e.  ZZ )
10 1zzd 9251 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  1  e.  ZZ )
11 zdceq 9299 . . . . . . . . . . . 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 9056 . . . . . . . . . . . . . 14  |-  7  e.  NN
1413nnzi 9245 . . . . . . . . . . . . 13  |-  7  e.  ZZ
1514a1i 9 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  7  e.  ZZ )
16 zdceq 9299 . . . . . . . . . . . 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 3609 . . . . . . . . . . . 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 3567 . . . . . . . 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 9051 . . . . . . . . 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 11771 . . . . . . . 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 3567 . . . . . 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 8323 . . . . 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 3537 . . . . . . 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 5880 . . . . 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 9252 . . . . . . . 8  |-  2  e.  ZZ
37 dvdsmultr1 11804 . . . . . . . 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 3539 . . . . 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 2218 . . . 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 7925 . . . . . . . 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 10313 . . . . . . . . . . . . 13  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  mod  8
)  e.  NN0 )
4544nn0zd 9344 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  mod  8
)  e.  ZZ )
46 zdceq 9299 . . . . . . . . . . . 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 9299 . . . . . . . . . . . 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 3609 . . . . . . . . . . . 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 3567 . . . . . . . 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 11771 . . . . . . . . 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 3567 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  if ( 2  ||  A ,  0 ,  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  e.  CC )
6160mul01d 8324 . . . . . 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 3537 . . . . . . 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 5881 . . . . 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 11806 . . . . . . . 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 3539 . . . . 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 2218 . . . 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 7950 . . . . . . . 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 3537 . . . . . . . . . 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 5880 . . . . . . . 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 13983 . . . . . . . . . 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 3553 . . . . . . . 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 2218 . . . . . . 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 7949 . . . . . . . . 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 3537 . . . . . . . . . 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 5881 . . . . . . . 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 9229 . . . . . . . . . . . . . 14  |-  ( A  e.  ZZ  ->  A  e.  CC )
88 zcn 9229 . . . . . . . . . . . . . 14  |-  ( B  e.  ZZ  ->  B  e.  CC )
89 mulcom 7915 . . . . . . . . . . . . . 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 5880 . . . . . . . . . . 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 2244 . . . . . . . . . 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 13983 . . . . . . . . . . . 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 3553 . . . . . . . 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 2218 . . . . . . 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 9102 . . . . . . . 8  |-  ( -u
1  x.  -u 1
)  =  1
103 iffalse 3540 . . . . . . . . . 10  |-  ( -.  ( A  mod  8
)  e.  { 1 ,  7 }  ->  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  -u
1 )
104 iffalse 3540 . . . . . . . . . 10  |-  ( -.  ( B  mod  8
)  e.  { 1 ,  7 }  ->  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  -u
1 )
105103, 104oveqan12d 5884 . . . . . . . . 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 13982 . . . . . . . . . . . . . 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 3274 . . . . . . . . . . . . 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 13982 . . . . . . . . . . . . . 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 3274 . . . . . . . . . . . . 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 13984 . . . . . . . . . . 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 3539 . . . . . . . 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 2234 . . . . . . 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 3540 . . . . . . 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 3540 . . . . . . 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 5884 . . . . . 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 12092 . . . . . . . . . 10  |-  2  e.  Prime
135 euclemma 12111 . . . . . . . . . 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 3540 . . . . . 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 2218 . . . 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 13969 . . 3  |-  ( A  e.  ZZ  ->  ( A  /L 2 )  =  if ( 2 
||  A ,  0 ,  if ( ( A  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )
151 lgs2 13969 . . 3  |-  ( B  e.  ZZ  ->  ( B  /L 2 )  =  if ( 2 
||  B ,  0 ,  if ( ( B  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )
152150, 151oveqan12d 5884 . 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 9277 . . 3  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  x.  B
)  e.  ZZ )
154 lgs2 13969 . . 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 2219 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 2146    u. cun 3125   ifcif 3532   {cpr 3590   class class class wbr 3998  (class class class)co 5865   CCcc 7784   0cc0 7786   1c1 7787    x. cmul 7791   -ucneg 8103   NNcn 8890   2c2 8941   3c3 8942   5c5 8944   7c7 8946   8c8 8947   NN0cn0 9147   ZZcz 9224    mod cmo 10290    || cdvds 11760   Primecprime 12072    /Lclgs 13949
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 1445  ax-7 1446  ax-gen 1447  ax-ie1 1491  ax-ie2 1492  ax-8 1502  ax-10 1503  ax-11 1504  ax-i12 1505  ax-bndl 1507  ax-4 1508  ax-17 1524  ax-i9 1528  ax-ial 1532  ax-i5r 1533  ax-13 2148  ax-14 2149  ax-ext 2157  ax-coll 4113  ax-sep 4116  ax-nul 4124  ax-pow 4169  ax-pr 4203  ax-un 4427  ax-setind 4530  ax-iinf 4581  ax-cnex 7877  ax-resscn 7878  ax-1cn 7879  ax-1re 7880  ax-icn 7881  ax-addcl 7882  ax-addrcl 7883  ax-mulcl 7884  ax-mulrcl 7885  ax-addcom 7886  ax-mulcom 7887  ax-addass 7888  ax-mulass 7889  ax-distr 7890  ax-i2m1 7891  ax-0lt1 7892  ax-1rid 7893  ax-0id 7894  ax-rnegex 7895  ax-precex 7896  ax-cnre 7897  ax-pre-ltirr 7898  ax-pre-ltwlin 7899  ax-pre-lttrn 7900  ax-pre-apti 7901  ax-pre-ltadd 7902  ax-pre-mulgt0 7903  ax-pre-mulext 7904  ax-arch 7905  ax-caucvg 7906
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 1459  df-sb 1761  df-eu 2027  df-mo 2028  df-clab 2162  df-cleq 2168  df-clel 2171  df-nfc 2306  df-ne 2346  df-nel 2441  df-ral 2458  df-rex 2459  df-reu 2460  df-rmo 2461  df-rab 2462  df-v 2737  df-sbc 2961  df-csb 3056  df-dif 3129  df-un 3131  df-in 3133  df-ss 3140  df-nul 3421  df-if 3533  df-pw 3574  df-sn 3595  df-pr 3596  df-op 3598  df-uni 3806  df-int 3841  df-iun 3884  df-br 3999  df-opab 4060  df-mpt 4061  df-tr 4097  df-id 4287  df-po 4290  df-iso 4291  df-iord 4360  df-on 4362  df-ilim 4363  df-suc 4365  df-iom 4584  df-xp 4626  df-rel 4627  df-cnv 4628  df-co 4629  df-dm 4630  df-rn 4631  df-res 4632  df-ima 4633  df-iota 5170  df-fun 5210  df-fn 5211  df-f 5212  df-f1 5213  df-fo 5214  df-f1o 5215  df-fv 5216  df-isom 5217  df-riota 5821  df-ov 5868  df-oprab 5869  df-mpo 5870  df-1st 6131  df-2nd 6132  df-recs 6296  df-irdg 6361  df-frec 6382  df-1o 6407  df-2o 6408  df-oadd 6411  df-er 6525  df-en 6731  df-dom 6732  df-fin 6733  df-sup 6973  df-inf 6974  df-pnf 7968  df-mnf 7969  df-xr 7970  df-ltxr 7971  df-le 7972  df-sub 8104  df-neg 8105  df-reap 8506  df-ap 8513  df-div 8602  df-inn 8891  df-2 8949  df-3 8950  df-4 8951  df-5 8952  df-6 8953  df-7 8954  df-8 8955  df-9 8956  df-n0 9148  df-z 9225  df-uz 9500  df-q 9591  df-rp 9623  df-fz 9978  df-fzo 10111  df-fl 10238  df-mod 10291  df-seqfrec 10414  df-exp 10488  df-ihash 10722  df-cj 10817  df-re 10818  df-im 10819  df-rsqrt 10973  df-abs 10974  df-clim 11253  df-proddc 11525  df-dvds 11761  df-gcd 11909  df-prm 12073  df-phi 12176  df-pc 12250  df-lgs 13950
This theorem is referenced by:  lgsdirprm  13986
  Copyright terms: Public domain W3C validator