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

Theorem lgsdir2 13728
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 7913 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  0  e.  CC )
2 1cnd 7936 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  1  e.  CC )
3 neg1cn 8983 . . . . . . . . . 10  |-  -u 1  e.  CC
43a1i 9 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> 
-u 1  e.  CC )
5 simpr 109 . . . . . . . . . . . . . 14  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  B  e.  ZZ )
6 8nn 9045 . . . . . . . . . . . . . . 15  |-  8  e.  NN
76a1i 9 . . . . . . . . . . . . . 14  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  8  e.  NN )
85, 7zmodcld 10301 . . . . . . . . . . . . 13  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( B  mod  8
)  e.  NN0 )
98nn0zd 9332 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( B  mod  8
)  e.  ZZ )
10 1zzd 9239 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  1  e.  ZZ )
11 zdceq 9287 . . . . . . . . . . . 12  |-  ( ( ( B  mod  8
)  e.  ZZ  /\  1  e.  ZZ )  -> DECID  ( B  mod  8 )  =  1 )
129, 10, 11syl2anc 409 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( B  mod  8 )  =  1 )
13 7nn 9044 . . . . . . . . . . . . . 14  |-  7  e.  NN
1413nnzi 9233 . . . . . . . . . . . . 13  |-  7  e.  ZZ
1514a1i 9 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  7  e.  ZZ )
16 zdceq 9287 . . . . . . . . . . . 12  |-  ( ( ( B  mod  8
)  e.  ZZ  /\  7  e.  ZZ )  -> DECID  ( B  mod  8 )  =  7 )
179, 15, 16syl2anc 409 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( B  mod  8 )  =  7 )
18 dcor 930 . . . . . . . . . . 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 3603 . . . . . . . . . . . 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 833 . . . . . . . . . 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 166 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( B  mod  8 )  e.  { 1 ,  7 } )
242, 4, 23ifcldcd 3561 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  if ( ( B  mod  8 )  e. 
{ 1 ,  7 } ,  1 , 
-u 1 )  e.  CC )
2524adantr 274 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  if (
( B  mod  8
)  e.  { 1 ,  7 } , 
1 ,  -u 1
)  e.  CC )
26 2nn 9039 . . . . . . . . 9  |-  2  e.  NN
2726a1i 9 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  2  e.  NN )
28 simplr 525 . . . . . . . 8  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  B  e.  ZZ )
29 dvdsdc 11760 . . . . . . . 8  |-  ( ( 2  e.  NN  /\  B  e.  ZZ )  -> DECID  2 
||  B )
3027, 28, 29syl2anc 409 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  -> DECID  2  ||  B )
311, 25, 30ifcldcd 3561 . . . . . 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 8311 . . . . 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 3531 . . . . . . 7  |-  ( 2 
||  A  ->  if ( 2  ||  A ,  0 ,  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  0 )
3433adantl 275 . . . . . 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 5868 . . . . 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 9240 . . . . . . . 8  |-  2  e.  ZZ
37 dvdsmultr1 11793 . . . . . . . 8  |-  ( ( 2  e.  ZZ  /\  A  e.  ZZ  /\  B  e.  ZZ )  ->  (
2  ||  A  ->  2 
||  ( A  x.  B ) ) )
3836, 37mp3an1 1319 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( 2  ||  A  ->  2  ||  ( A  x.  B ) ) )
3938imp 123 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  A
)  ->  2  ||  ( A  x.  B
) )
4039iftrued 3533 . . . . 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 2213 . . . 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 7913 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  0  e.  CC )
43 simpl 108 . . . . . . . . . . . . . 14  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  A  e.  ZZ )
4443, 7zmodcld 10301 . . . . . . . . . . . . 13  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  mod  8
)  e.  NN0 )
4544nn0zd 9332 . . . . . . . . . . . 12  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  mod  8
)  e.  ZZ )
46 zdceq 9287 . . . . . . . . . . . 12  |-  ( ( ( A  mod  8
)  e.  ZZ  /\  1  e.  ZZ )  -> DECID  ( A  mod  8 )  =  1 )
4745, 10, 46syl2anc 409 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( A  mod  8 )  =  1 )
48 zdceq 9287 . . . . . . . . . . . 12  |-  ( ( ( A  mod  8
)  e.  ZZ  /\  7  e.  ZZ )  -> DECID  ( A  mod  8 )  =  7 )
4945, 15, 48syl2anc 409 . . . . . . . . . . 11  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( A  mod  8 )  =  7 )
50 dcor 930 . . . . . . . . . . 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 3603 . . . . . . . . . . . 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 833 . . . . . . . . . 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 166 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  ( A  mod  8 )  e.  { 1 ,  7 } )
562, 4, 55ifcldcd 3561 . . . . . . . 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 11760 . . . . . . . . 9  |-  ( ( 2  e.  NN  /\  A  e.  ZZ )  -> DECID  2 
||  A )
5957, 43, 58syl2anc 409 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  2 
||  A )
6042, 56, 59ifcldcd 3561 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  if ( 2  ||  A ,  0 ,  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  e.  CC )
6160mul01d 8312 . . . . . 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 274 . . . . 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 3531 . . . . . . 7  |-  ( 2 
||  B  ->  if ( 2  ||  B ,  0 ,  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 ) )  =  0 )
6463adantl 275 . . . . . 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 5869 . . . . 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 11795 . . . . . . . 8  |-  ( ( 2  e.  ZZ  /\  A  e.  ZZ  /\  B  e.  ZZ )  ->  (
2  ||  B  ->  2 
||  ( A  x.  B ) ) )
6736, 66mp3an1 1319 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( 2  ||  B  ->  2  ||  ( A  x.  B ) ) )
6867imp 123 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  2  ||  B
)  ->  2  ||  ( A  x.  B
) )
6968iftrued 3533 . . . . 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 2213 . . . 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 792 . . 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 747 . . . 4  |-  ( -.  ( 2  ||  A  \/  2  ||  B )  <-> 
( -.  2  ||  A  /\  -.  2  ||  B ) )
7324ad2antrr 485 . . . . . . . . 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 7938 . . . . . . . 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 3531 . . . . . . . . . 10  |-  ( ( A  mod  8 )  e.  { 1 ,  7 }  ->  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  1 )
7675adantl 275 . . . . . . . . 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 5868 . . . . . . . 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 13726 . . . . . . . . . 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 474 . . . . . . . . 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 3547 . . . . . . . 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 2213 . . . . . . 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 7937 . . . . . . . . 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 485 . . . . . . . 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 3531 . . . . . . . . . 10  |-  ( ( B  mod  8 )  e.  { 1 ,  7 }  ->  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  1 )
8584adantl 275 . . . . . . . . 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 5869 . . . . . . . 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 9217 . . . . . . . . . . . . . 14  |-  ( A  e.  ZZ  ->  A  e.  CC )
88 zcn 9217 . . . . . . . . . . . . . 14  |-  ( B  e.  ZZ  ->  B  e.  CC )
89 mulcom 7903 . . . . . . . . . . . . . 14  |-  ( ( A  e.  CC  /\  B  e.  CC )  ->  ( A  x.  B
)  =  ( B  x.  A ) )
9087, 88, 89syl2an 287 . . . . . . . . . . . . 13  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  x.  B
)  =  ( B  x.  A ) )
9190ad2antrr 485 . . . . . . . . . . . 12  |-  ( ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  /\  ( B  mod  8 )  e. 
{ 1 ,  7 } )  ->  ( A  x.  B )  =  ( B  x.  A ) )
9291oveq1d 5868 . . . . . . . . . . 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 2239 . . . . . . . . . 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 13726 . . . . . . . . . . . 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 564 . . . . . . . . . . 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 474 . . . . . . . . . 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 187 . . . . . . . . 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 3547 . . . . . . . 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 2213 . . . . . . 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 792 . . . . . 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 747 . . . . . . 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 9090 . . . . . . . 8  |-  ( -u
1  x.  -u 1
)  =  1
103 iffalse 3534 . . . . . . . . . 10  |-  ( -.  ( A  mod  8
)  e.  { 1 ,  7 }  ->  if ( ( A  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  -u
1 )
104 iffalse 3534 . . . . . . . . . 10  |-  ( -.  ( B  mod  8
)  e.  { 1 ,  7 }  ->  if ( ( B  mod  8 )  e.  {
1 ,  7 } ,  1 ,  -u
1 )  =  -u
1 )
105103, 104oveqan12d 5872 . . . . . . . . 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 275 . . . . . . . 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 13725 . . . . . . . . . . . . . 14  |-  ( ( A  e.  ZZ  /\  -.  2  ||  A )  ->  ( A  mod  8 )  e.  ( { 1 ,  7 }  u.  { 3 ,  5 } ) )
108107ad2ant2r 506 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  -> 
( A  mod  8
)  e.  ( { 1 ,  7 }  u.  { 3 ,  5 } ) )
109 elun 3268 . . . . . . . . . . . . 13  |-  ( ( A  mod  8 )  e.  ( { 1 ,  7 }  u.  { 3 ,  5 } )  <->  ( ( A  mod  8 )  e. 
{ 1 ,  7 }  \/  ( A  mod  8 )  e. 
{ 3 ,  5 } ) )
110108, 109sylib 121 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  -> 
( ( A  mod  8 )  e.  {
1 ,  7 }  \/  ( A  mod  8 )  e.  {
3 ,  5 } ) )
111110orcanai 923 . . . . . . . . . . 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 13725 . . . . . . . . . . . . . 14  |-  ( ( B  e.  ZZ  /\  -.  2  ||  B )  ->  ( B  mod  8 )  e.  ( { 1 ,  7 }  u.  { 3 ,  5 } ) )
113112ad2ant2l 505 . . . . . . . . . . . . 13  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  -> 
( B  mod  8
)  e.  ( { 1 ,  7 }  u.  { 3 ,  5 } ) )
114 elun 3268 . . . . . . . . . . . . 13  |-  ( ( B  mod  8 )  e.  ( { 1 ,  7 }  u.  { 3 ,  5 } )  <->  ( ( B  mod  8 )  e. 
{ 1 ,  7 }  \/  ( B  mod  8 )  e. 
{ 3 ,  5 } ) )
115113, 114sylib 121 . . . . . . . . . . . 12  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  -> 
( ( B  mod  8 )  e.  {
1 ,  7 }  \/  ( B  mod  8 )  e.  {
3 ,  5 } ) )
116115orcanai 923 . . . . . . . . . . 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 595 . . . . . . . . . 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 13727 . . . . . . . . . . 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 474 . . . . . . . . . 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 280 . . . . . . . . 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 3533 . . . . . . . 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 2229 . . . . . . 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 285 . . . . . 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 930 . . . . . . . . 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 274 . . . . . . 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 831 . . . . . . 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 793 . . . . 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 3534 . . . . . . 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 3534 . . . . . . 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 5872 . . . . . 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 275 . . . . 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 12081 . . . . . . . . . 10  |-  2  e.  Prime
135 euclemma 12100 . . . . . . . . . 10  |-  ( ( 2  e.  Prime  /\  A  e.  ZZ  /\  B  e.  ZZ )  ->  (
2  ||  ( A  x.  B )  <->  ( 2 
||  A  \/  2 
||  B ) ) )
136134, 135mp3an1 1319 . . . . . . . . 9  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( 2  ||  ( A  x.  B )  <->  ( 2  ||  A  \/  2  ||  B ) ) )
137136notbid 662 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( -.  2  ||  ( A  x.  B
)  <->  -.  ( 2 
||  A  \/  2 
||  B ) ) )
138137biimpar 295 . . . . . . 7  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  -.  ( 2 
||  A  \/  2 
||  B ) )  ->  -.  2  ||  ( A  x.  B
) )
13972, 138sylan2br 286 . . . . . 6  |-  ( ( ( A  e.  ZZ  /\  B  e.  ZZ )  /\  ( -.  2  ||  A  /\  -.  2  ||  B ) )  ->  -.  2  ||  ( A  x.  B ) )
140 iffalse 3534 . . . . . 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 2213 . . . 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 285 . . 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 409 . . . . 5  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  -> DECID  2 
||  B )
145 dcor 930 . . . . 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 831 . . . 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 793 . 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 13712 . . 3  |-  ( A  e.  ZZ  ->  ( A  /L 2 )  =  if ( 2 
||  A ,  0 ,  if ( ( A  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )
151 lgs2 13712 . . 3  |-  ( B  e.  ZZ  ->  ( B  /L 2 )  =  if ( 2 
||  B ,  0 ,  if ( ( B  mod  8 )  e.  { 1 ,  7 } ,  1 ,  -u 1 ) ) )
152150, 151oveqan12d 5872 . 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 9265 . . 3  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  x.  B
)  e.  ZZ )
154 lgs2 13712 . . 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 2214 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 103    <-> wb 104    \/ wo 703  DECID wdc 829    = wceq 1348    e. wcel 2141    u. cun 3119   ifcif 3526   {cpr 3584   class class class wbr 3989  (class class class)co 5853   CCcc 7772   0cc0 7774   1c1 7775    x. cmul 7779   -ucneg 8091   NNcn 8878   2c2 8929   3c3 8930   5c5 8932   7c7 8934   8c8 8935   NN0cn0 9135   ZZcz 9212    mod cmo 10278    || cdvds 11749   Primecprime 12061    /Lclgs 13692
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 609  ax-in2 610  ax-io 704  ax-5 1440  ax-7 1441  ax-gen 1442  ax-ie1 1486  ax-ie2 1487  ax-8 1497  ax-10 1498  ax-11 1499  ax-i12 1500  ax-bndl 1502  ax-4 1503  ax-17 1519  ax-i9 1523  ax-ial 1527  ax-i5r 1528  ax-13 2143  ax-14 2144  ax-ext 2152  ax-coll 4104  ax-sep 4107  ax-nul 4115  ax-pow 4160  ax-pr 4194  ax-un 4418  ax-setind 4521  ax-iinf 4572  ax-cnex 7865  ax-resscn 7866  ax-1cn 7867  ax-1re 7868  ax-icn 7869  ax-addcl 7870  ax-addrcl 7871  ax-mulcl 7872  ax-mulrcl 7873  ax-addcom 7874  ax-mulcom 7875  ax-addass 7876  ax-mulass 7877  ax-distr 7878  ax-i2m1 7879  ax-0lt1 7880  ax-1rid 7881  ax-0id 7882  ax-rnegex 7883  ax-precex 7884  ax-cnre 7885  ax-pre-ltirr 7886  ax-pre-ltwlin 7887  ax-pre-lttrn 7888  ax-pre-apti 7889  ax-pre-ltadd 7890  ax-pre-mulgt0 7891  ax-pre-mulext 7892  ax-arch 7893  ax-caucvg 7894
This theorem depends on definitions:  df-bi 116  df-stab 826  df-dc 830  df-3or 974  df-3an 975  df-tru 1351  df-fal 1354  df-xor 1371  df-nf 1454  df-sb 1756  df-eu 2022  df-mo 2023  df-clab 2157  df-cleq 2163  df-clel 2166  df-nfc 2301  df-ne 2341  df-nel 2436  df-ral 2453  df-rex 2454  df-reu 2455  df-rmo 2456  df-rab 2457  df-v 2732  df-sbc 2956  df-csb 3050  df-dif 3123  df-un 3125  df-in 3127  df-ss 3134  df-nul 3415  df-if 3527  df-pw 3568  df-sn 3589  df-pr 3590  df-op 3592  df-uni 3797  df-int 3832  df-iun 3875  df-br 3990  df-opab 4051  df-mpt 4052  df-tr 4088  df-id 4278  df-po 4281  df-iso 4282  df-iord 4351  df-on 4353  df-ilim 4354  df-suc 4356  df-iom 4575  df-xp 4617  df-rel 4618  df-cnv 4619  df-co 4620  df-dm 4621  df-rn 4622  df-res 4623  df-ima 4624  df-iota 5160  df-fun 5200  df-fn 5201  df-f 5202  df-f1 5203  df-fo 5204  df-f1o 5205  df-fv 5206  df-isom 5207  df-riota 5809  df-ov 5856  df-oprab 5857  df-mpo 5858  df-1st 6119  df-2nd 6120  df-recs 6284  df-irdg 6349  df-frec 6370  df-1o 6395  df-2o 6396  df-oadd 6399  df-er 6513  df-en 6719  df-dom 6720  df-fin 6721  df-sup 6961  df-inf 6962  df-pnf 7956  df-mnf 7957  df-xr 7958  df-ltxr 7959  df-le 7960  df-sub 8092  df-neg 8093  df-reap 8494  df-ap 8501  df-div 8590  df-inn 8879  df-2 8937  df-3 8938  df-4 8939  df-5 8940  df-6 8941  df-7 8942  df-8 8943  df-9 8944  df-n0 9136  df-z 9213  df-uz 9488  df-q 9579  df-rp 9611  df-fz 9966  df-fzo 10099  df-fl 10226  df-mod 10279  df-seqfrec 10402  df-exp 10476  df-ihash 10710  df-cj 10806  df-re 10807  df-im 10808  df-rsqrt 10962  df-abs 10963  df-clim 11242  df-proddc 11514  df-dvds 11750  df-gcd 11898  df-prm 12062  df-phi 12165  df-pc 12239  df-lgs 13693
This theorem is referenced by:  lgsdirprm  13729
  Copyright terms: Public domain W3C validator