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

Theorem lgsdir2 15149
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 8012 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  0  e.  CC )
2 1cnd 8035 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  1  e.  CC )
3 neg1cn 9087 . . . . . . . . . 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 9149 . . . . . . . . . . . . . . 15  |-  8  e.  NN
76a1i 9 . . . . . . . . . . . . . 14  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  8  e.  NN )
85, 7zmodcld 10416 . . . . . . . . . . . . 13  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( B  mod  8
)  e.  NN0 )
98nn0zd 9437 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( B  mod  8
)  e.  ZZ )
10 1zzd 9344 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  1  e.  ZZ )
11 zdceq 9392 . . . . . . . . . . . 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 9148 . . . . . . . . . . . . . 14  |-  7  e.  NN
1413nnzi 9338 . . . . . . . . . . . . 13  |-  7  e.  ZZ
1514a1i 9 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  7  e.  ZZ )
16 zdceq 9392 . . . . . . . . . . . 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 937 . . . . . . . . . . 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 3638 . . . . . . . . . . . 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 839 . . . . . . . . . 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 3593 . . . . . . . 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 9143 . . . . . . . . 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 11941 . . . . . . . 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 3593 . . . . . 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 8411 . . . . 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 3562 . . . . . . 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 5933 . . . . 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 9345 . . . . . . . 8  |-  2  e.  ZZ
37 dvdsmultr1 11974 . . . . . . . 8  |-  ( ( 2  e.  ZZ  /\  A  e.  ZZ  /\  B  e.  ZZ )  ->  (
2  ||  A  ->  2 
||  ( A  x.  B ) ) )
3836, 37mp3an1 1335 . . . . . . 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 3564 . . . . 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 2236 . . . 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 8012 . . . . . . . 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 10416 . . . . . . . . . . . . 13  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  mod  8
)  e.  NN0 )
4544nn0zd 9437 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  mod  8
)  e.  ZZ )
46 zdceq 9392 . . . . . . . . . . . 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 9392 . . . . . . . . . . . 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 937 . . . . . . . . . . 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 3638 . . . . . . . . . . . 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 839 . . . . . . . . . 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 3593 . . . . . . . 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 11941 . . . . . . . . 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 3593 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  if ( 2  ||  A ,  0 ,  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  e.  CC )
6160mul01d 8412 . . . . . 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 3562 . . . . . . 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 5934 . . . . 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 11976 . . . . . . . 8  |-  ( ( 2  e.  ZZ  /\  A  e.  ZZ  /\  B  e.  ZZ )  ->  (
2  ||  B  ->  2 
||  ( A  x.  B ) ) )
6736, 66mp3an1 1335 . . . . . . 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 3564 . . . . 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 2236 . . . 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 798 . . 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 753 . . . 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 8038 . . . . . . . 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 3562 . . . . . . . . . 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 5933 . . . . . . . 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 15147 . . . . . . . . . 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 3578 . . . . . . . 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 2236 . . . . . . 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 ) )
8256mulridd 8036 . . . . . . . . 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 3562 . . . . . . . . . 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 5934 . . . . . . . 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 9322 . . . . . . . . . . . . . 14  |-  ( A  e.  ZZ  ->  A  e.  CC )
88 zcn 9322 . . . . . . . . . . . . . 14  |-  ( B  e.  ZZ  ->  B  e.  CC )
89 mulcom 8001 . . . . . . . . . . . . . 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 5933 . . . . . . . . . . 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 2262 . . . . . . . . . 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 15147 . . . . . . . . . . . 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 3578 . . . . . . . 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 2236 . . . . . . 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 798 . . . . . 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 753 . . . . . . 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 9194 . . . . . . . 8  |-  ( -u
1  x.  -u 1
)  =  1
103 iffalse 3565 . . . . . . . . . 10  |-  ( -.  ( A  mod  8
)  e.  { 1 ,  7 }  ->  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  -u
1 )
104 iffalse 3565 . . . . . . . . . 10  |-  ( -.  ( B  mod  8
)  e.  { 1 ,  7 }  ->  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  -u
1 )
105103, 104oveqan12d 5937 . . . . . . . . 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 15146 . . . . . . . . . . . . . 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 3300 . . . . . . . . . . . . 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 929 . . . . . . . . . . 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 15146 . . . . . . . . . . . . . 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 3300 . . . . . . . . . . . . 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 929 . . . . . . . . . . 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 15148 . . . . . . . . . . 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 3564 . . . . . . . 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 2252 . . . . . . 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 937 . . . . . . . . 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 837 . . . . . . 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 799 . . . . 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 3565 . . . . . . 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 3565 . . . . . . 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 5937 . . . . . 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 12265 . . . . . . . . . 10  |-  2  e.  Prime
135 euclemma 12284 . . . . . . . . . 10  |-  ( ( 2  e.  Prime  /\  A  e.  ZZ  /\  B  e.  ZZ )  ->  (
2  ||  ( A  x.  B )  <->  ( 2 
||  A  \/  2 
||  B ) ) )
136134, 135mp3an1 1335 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( 2  ||  ( A  x.  B )  <->  ( 2  ||  A  \/  2  ||  B ) ) )
137136notbid 668 . . . . . . . 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 3565 . . . . . 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 2236 . . . 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 937 . . . . 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 837 . . . 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 799 . 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 15133 . . 3  |-  ( A  e.  ZZ  ->  ( A  /L 2 )  =  if ( 2 
||  A ,  0 ,  if ( ( A  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )
151 lgs2 15133 . . 3  |-  ( B  e.  ZZ  ->  ( B  /L 2 )  =  if ( 2 
||  B ,  0 ,  if ( ( B  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )
152150, 151oveqan12d 5937 . 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 9370 . . 3  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  x.  B
)  e.  ZZ )
154 lgs2 15133 . . 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 2237 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 709  DECID wdc 835    = wceq 1364    e. wcel 2164    u. cun 3151   ifcif 3557   {cpr 3619   class class class wbr 4029  (class class class)co 5918   CCcc 7870   0cc0 7872   1c1 7873    x. cmul 7877   -ucneg 8191   NNcn 8982   2c2 9033   3c3 9034   5c5 9036   7c7 9038   8c8 9039   NN0cn0 9240   ZZcz 9317    mod cmo 10393    || cdvds 11930   Primecprime 12245    /Lclgs 15113
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 615  ax-in2 616  ax-io 710  ax-5 1458  ax-7 1459  ax-gen 1460  ax-ie1 1504  ax-ie2 1505  ax-8 1515  ax-10 1516  ax-11 1517  ax-i12 1518  ax-bndl 1520  ax-4 1521  ax-17 1537  ax-i9 1541  ax-ial 1545  ax-i5r 1546  ax-13 2166  ax-14 2167  ax-ext 2175  ax-coll 4144  ax-sep 4147  ax-nul 4155  ax-pow 4203  ax-pr 4238  ax-un 4464  ax-setind 4569  ax-iinf 4620  ax-cnex 7963  ax-resscn 7964  ax-1cn 7965  ax-1re 7966  ax-icn 7967  ax-addcl 7968  ax-addrcl 7969  ax-mulcl 7970  ax-mulrcl 7971  ax-addcom 7972  ax-mulcom 7973  ax-addass 7974  ax-mulass 7975  ax-distr 7976  ax-i2m1 7977  ax-0lt1 7978  ax-1rid 7979  ax-0id 7980  ax-rnegex 7981  ax-precex 7982  ax-cnre 7983  ax-pre-ltirr 7984  ax-pre-ltwlin 7985  ax-pre-lttrn 7986  ax-pre-apti 7987  ax-pre-ltadd 7988  ax-pre-mulgt0 7989  ax-pre-mulext 7990  ax-arch 7991  ax-caucvg 7992
This theorem depends on definitions:  df-bi 117  df-stab 832  df-dc 836  df-3or 981  df-3an 982  df-tru 1367  df-fal 1370  df-xor 1387  df-nf 1472  df-sb 1774  df-eu 2045  df-mo 2046  df-clab 2180  df-cleq 2186  df-clel 2189  df-nfc 2325  df-ne 2365  df-nel 2460  df-ral 2477  df-rex 2478  df-reu 2479  df-rmo 2480  df-rab 2481  df-v 2762  df-sbc 2986  df-csb 3081  df-dif 3155  df-un 3157  df-in 3159  df-ss 3166  df-nul 3447  df-if 3558  df-pw 3603  df-sn 3624  df-pr 3625  df-op 3627  df-uni 3836  df-int 3871  df-iun 3914  df-br 4030  df-opab 4091  df-mpt 4092  df-tr 4128  df-id 4324  df-po 4327  df-iso 4328  df-iord 4397  df-on 4399  df-ilim 4400  df-suc 4402  df-iom 4623  df-xp 4665  df-rel 4666  df-cnv 4667  df-co 4668  df-dm 4669  df-rn 4670  df-res 4671  df-ima 4672  df-iota 5215  df-fun 5256  df-fn 5257  df-f 5258  df-f1 5259  df-fo 5260  df-f1o 5261  df-fv 5262  df-isom 5263  df-riota 5873  df-ov 5921  df-oprab 5922  df-mpo 5923  df-1st 6193  df-2nd 6194  df-recs 6358  df-irdg 6423  df-frec 6444  df-1o 6469  df-2o 6470  df-oadd 6473  df-er 6587  df-en 6795  df-dom 6796  df-fin 6797  df-sup 7043  df-inf 7044  df-pnf 8056  df-mnf 8057  df-xr 8058  df-ltxr 8059  df-le 8060  df-sub 8192  df-neg 8193  df-reap 8594  df-ap 8601  df-div 8692  df-inn 8983  df-2 9041  df-3 9042  df-4 9043  df-5 9044  df-6 9045  df-7 9046  df-8 9047  df-9 9048  df-n0 9241  df-z 9318  df-uz 9593  df-q 9685  df-rp 9720  df-fz 10075  df-fzo 10209  df-fl 10339  df-mod 10394  df-seqfrec 10519  df-exp 10610  df-ihash 10847  df-cj 10986  df-re 10987  df-im 10988  df-rsqrt 11142  df-abs 11143  df-clim 11422  df-proddc 11694  df-dvds 11931  df-gcd 12080  df-prm 12246  df-phi 12349  df-pc 12423  df-lgs 15114
This theorem is referenced by:  lgsdirprm  15150
  Copyright terms: Public domain W3C validator