Proof of Theorem lgsdir2
| Step | Hyp | Ref
 | Expression | 
| 1 |   | 0cnd 8019 | 
. . . . . . 7
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐴) → 0 ∈
ℂ) | 
| 2 |   | 1cnd 8042 | 
. . . . . . . . 9
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 1 ∈
ℂ) | 
| 3 |   | neg1cn 9095 | 
. . . . . . . . . 10
⊢ -1 ∈
ℂ | 
| 4 | 3 | a1i 9 | 
. . . . . . . . 9
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → -1
∈ ℂ) | 
| 5 |   | simpr 110 | 
. . . . . . . . . . . . . 14
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 𝐵 ∈
ℤ) | 
| 6 |   | 8nn 9158 | 
. . . . . . . . . . . . . . 15
⊢ 8 ∈
ℕ | 
| 7 | 6 | a1i 9 | 
. . . . . . . . . . . . . 14
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 8 ∈
ℕ) | 
| 8 | 5, 7 | zmodcld 10437 | 
. . . . . . . . . . . . 13
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐵 mod 8) ∈
ℕ0) | 
| 9 | 8 | nn0zd 9446 | 
. . . . . . . . . . . 12
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐵 mod 8) ∈
ℤ) | 
| 10 |   | 1zzd 9353 | 
. . . . . . . . . . . 12
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 1 ∈
ℤ) | 
| 11 |   | zdceq 9401 | 
. . . . . . . . . . . 12
⊢ (((𝐵 mod 8) ∈ ℤ ∧ 1
∈ ℤ) → DECID (𝐵 mod 8) = 1) | 
| 12 | 9, 10, 11 | syl2anc 411 | 
. . . . . . . . . . 11
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
DECID (𝐵 mod
8) = 1) | 
| 13 |   | 7nn 9157 | 
. . . . . . . . . . . . . 14
⊢ 7 ∈
ℕ | 
| 14 | 13 | nnzi 9347 | 
. . . . . . . . . . . . 13
⊢ 7 ∈
ℤ | 
| 15 | 14 | a1i 9 | 
. . . . . . . . . . . 12
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 7 ∈
ℤ) | 
| 16 |   | zdceq 9401 | 
. . . . . . . . . . . 12
⊢ (((𝐵 mod 8) ∈ ℤ ∧ 7
∈ ℤ) → DECID (𝐵 mod 8) = 7) | 
| 17 | 9, 15, 16 | syl2anc 411 | 
. . . . . . . . . . 11
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
DECID (𝐵 mod
8) = 7) | 
| 18 |   | dcor 937 | 
. . . . . . . . . . 11
⊢
(DECID (𝐵 mod 8) = 1 → (DECID
(𝐵 mod 8) = 7 →
DECID ((𝐵
mod 8) = 1 ∨ (𝐵 mod 8) =
7))) | 
| 19 | 12, 17, 18 | sylc 62 | 
. . . . . . . . . 10
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
DECID ((𝐵
mod 8) = 1 ∨ (𝐵 mod 8) =
7)) | 
| 20 |   | elprg 3642 | 
. . . . . . . . . . . 12
⊢ ((𝐵 mod 8) ∈
ℕ0 → ((𝐵 mod 8) ∈ {1, 7} ↔ ((𝐵 mod 8) = 1 ∨ (𝐵 mod 8) = 7))) | 
| 21 | 8, 20 | syl 14 | 
. . . . . . . . . . 11
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → ((𝐵 mod 8) ∈ {1, 7} ↔
((𝐵 mod 8) = 1 ∨ (𝐵 mod 8) = 7))) | 
| 22 | 21 | dcbid 839 | 
. . . . . . . . . 10
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
(DECID (𝐵
mod 8) ∈ {1, 7} ↔ DECID ((𝐵 mod 8) = 1 ∨ (𝐵 mod 8) = 7))) | 
| 23 | 19, 22 | mpbird 167 | 
. . . . . . . . 9
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
DECID (𝐵 mod
8) ∈ {1, 7}) | 
| 24 | 2, 4, 23 | ifcldcd 3597 | 
. . . . . . . 8
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
if((𝐵 mod 8) ∈ {1, 7},
1, -1) ∈ ℂ) | 
| 25 | 24 | adantr 276 | 
. . . . . . 7
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐴) → if((𝐵 mod 8) ∈ {1, 7}, 1, -1)
∈ ℂ) | 
| 26 |   | 2nn 9152 | 
. . . . . . . . 9
⊢ 2 ∈
ℕ | 
| 27 | 26 | a1i 9 | 
. . . . . . . 8
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐴) → 2 ∈
ℕ) | 
| 28 |   | simplr 528 | 
. . . . . . . 8
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐴) → 𝐵 ∈ ℤ) | 
| 29 |   | dvdsdc 11963 | 
. . . . . . . 8
⊢ ((2
∈ ℕ ∧ 𝐵
∈ ℤ) → DECID 2 ∥ 𝐵) | 
| 30 | 27, 28, 29 | syl2anc 411 | 
. . . . . . 7
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐴) →
DECID 2 ∥ 𝐵) | 
| 31 | 1, 25, 30 | ifcldcd 3597 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐴) → if(2 ∥
𝐵, 0, if((𝐵 mod 8) ∈ {1, 7}, 1, -1)) ∈
ℂ) | 
| 32 | 31 | mul02d 8418 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐴) → (0 · if(2
∥ 𝐵, 0, if((𝐵 mod 8) ∈ {1, 7}, 1, -1)))
= 0) | 
| 33 |   | iftrue 3566 | 
. . . . . . 7
⊢ (2
∥ 𝐴 → if(2
∥ 𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1)) =
0) | 
| 34 | 33 | adantl 277 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐴) → if(2 ∥
𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1)) =
0) | 
| 35 | 34 | oveq1d 5937 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐴) → (if(2 ∥
𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1)) · if(2
∥ 𝐵, 0, if((𝐵 mod 8) ∈ {1, 7}, 1, -1)))
= (0 · if(2 ∥ 𝐵, 0, if((𝐵 mod 8) ∈ {1, 7}, 1,
-1)))) | 
| 36 |   | 2z 9354 | 
. . . . . . . 8
⊢ 2 ∈
ℤ | 
| 37 |   | dvdsmultr1 11996 | 
. . . . . . . 8
⊢ ((2
∈ ℤ ∧ 𝐴
∈ ℤ ∧ 𝐵
∈ ℤ) → (2 ∥ 𝐴 → 2 ∥ (𝐴 · 𝐵))) | 
| 38 | 36, 37 | mp3an1 1335 | 
. . . . . . 7
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (2
∥ 𝐴 → 2 ∥
(𝐴 · 𝐵))) | 
| 39 | 38 | imp 124 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐴) → 2 ∥ (𝐴 · 𝐵)) | 
| 40 | 39 | iftrued 3568 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐴) → if(2 ∥
(𝐴 · 𝐵), 0, if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1, -1)) =
0) | 
| 41 | 32, 35, 40 | 3eqtr4d 2239 | 
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐴) → (if(2 ∥
𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1)) · if(2
∥ 𝐵, 0, if((𝐵 mod 8) ∈ {1, 7}, 1, -1)))
= if(2 ∥ (𝐴 ·
𝐵), 0, if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1))) | 
| 42 |   | 0cnd 8019 | 
. . . . . . . 8
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 0 ∈
ℂ) | 
| 43 |   | simpl 109 | 
. . . . . . . . . . . . . 14
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 𝐴 ∈
ℤ) | 
| 44 | 43, 7 | zmodcld 10437 | 
. . . . . . . . . . . . 13
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 mod 8) ∈
ℕ0) | 
| 45 | 44 | nn0zd 9446 | 
. . . . . . . . . . . 12
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 mod 8) ∈
ℤ) | 
| 46 |   | zdceq 9401 | 
. . . . . . . . . . . 12
⊢ (((𝐴 mod 8) ∈ ℤ ∧ 1
∈ ℤ) → DECID (𝐴 mod 8) = 1) | 
| 47 | 45, 10, 46 | syl2anc 411 | 
. . . . . . . . . . 11
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
DECID (𝐴 mod
8) = 1) | 
| 48 |   | zdceq 9401 | 
. . . . . . . . . . . 12
⊢ (((𝐴 mod 8) ∈ ℤ ∧ 7
∈ ℤ) → DECID (𝐴 mod 8) = 7) | 
| 49 | 45, 15, 48 | syl2anc 411 | 
. . . . . . . . . . 11
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
DECID (𝐴 mod
8) = 7) | 
| 50 |   | dcor 937 | 
. . . . . . . . . . 11
⊢
(DECID (𝐴 mod 8) = 1 → (DECID
(𝐴 mod 8) = 7 →
DECID ((𝐴
mod 8) = 1 ∨ (𝐴 mod 8) =
7))) | 
| 51 | 47, 49, 50 | sylc 62 | 
. . . . . . . . . 10
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
DECID ((𝐴
mod 8) = 1 ∨ (𝐴 mod 8) =
7)) | 
| 52 |   | elprg 3642 | 
. . . . . . . . . . . 12
⊢ ((𝐴 mod 8) ∈
ℕ0 → ((𝐴 mod 8) ∈ {1, 7} ↔ ((𝐴 mod 8) = 1 ∨ (𝐴 mod 8) = 7))) | 
| 53 | 44, 52 | syl 14 | 
. . . . . . . . . . 11
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → ((𝐴 mod 8) ∈ {1, 7} ↔
((𝐴 mod 8) = 1 ∨ (𝐴 mod 8) = 7))) | 
| 54 | 53 | dcbid 839 | 
. . . . . . . . . 10
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
(DECID (𝐴
mod 8) ∈ {1, 7} ↔ DECID ((𝐴 mod 8) = 1 ∨ (𝐴 mod 8) = 7))) | 
| 55 | 51, 54 | mpbird 167 | 
. . . . . . . . 9
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
DECID (𝐴 mod
8) ∈ {1, 7}) | 
| 56 | 2, 4, 55 | ifcldcd 3597 | 
. . . . . . . 8
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
if((𝐴 mod 8) ∈ {1, 7},
1, -1) ∈ ℂ) | 
| 57 | 26 | a1i 9 | 
. . . . . . . . 9
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 2 ∈
ℕ) | 
| 58 |   | dvdsdc 11963 | 
. . . . . . . . 9
⊢ ((2
∈ ℕ ∧ 𝐴
∈ ℤ) → DECID 2 ∥ 𝐴) | 
| 59 | 57, 43, 58 | syl2anc 411 | 
. . . . . . . 8
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
DECID 2 ∥ 𝐴) | 
| 60 | 42, 56, 59 | ifcldcd 3597 | 
. . . . . . 7
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → if(2
∥ 𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1))
∈ ℂ) | 
| 61 | 60 | mul01d 8419 | 
. . . . . 6
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (if(2
∥ 𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1))
· 0) = 0) | 
| 62 | 61 | adantr 276 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐵) → (if(2 ∥
𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1)) · 0) =
0) | 
| 63 |   | iftrue 3566 | 
. . . . . . 7
⊢ (2
∥ 𝐵 → if(2
∥ 𝐵, 0, if((𝐵 mod 8) ∈ {1, 7}, 1, -1)) =
0) | 
| 64 | 63 | adantl 277 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐵) → if(2 ∥
𝐵, 0, if((𝐵 mod 8) ∈ {1, 7}, 1, -1)) =
0) | 
| 65 | 64 | oveq2d 5938 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐵) → (if(2 ∥
𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1)) · if(2
∥ 𝐵, 0, if((𝐵 mod 8) ∈ {1, 7}, 1, -1)))
= (if(2 ∥ 𝐴, 0,
if((𝐴 mod 8) ∈ {1, 7},
1, -1)) · 0)) | 
| 66 |   | dvdsmultr2 11998 | 
. . . . . . . 8
⊢ ((2
∈ ℤ ∧ 𝐴
∈ ℤ ∧ 𝐵
∈ ℤ) → (2 ∥ 𝐵 → 2 ∥ (𝐴 · 𝐵))) | 
| 67 | 36, 66 | mp3an1 1335 | 
. . . . . . 7
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (2
∥ 𝐵 → 2 ∥
(𝐴 · 𝐵))) | 
| 68 | 67 | imp 124 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐵) → 2 ∥ (𝐴 · 𝐵)) | 
| 69 | 68 | iftrued 3568 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐵) → if(2 ∥
(𝐴 · 𝐵), 0, if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1, -1)) =
0) | 
| 70 | 62, 65, 69 | 3eqtr4d 2239 | 
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 2 ∥
𝐵) → (if(2 ∥
𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1)) · if(2
∥ 𝐵, 0, if((𝐵 mod 8) ∈ {1, 7}, 1, -1)))
= if(2 ∥ (𝐴 ·
𝐵), 0, if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1))) | 
| 71 | 41, 70 | jaodan 798 | 
. . 3
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (2
∥ 𝐴 ∨ 2 ∥
𝐵)) → (if(2 ∥
𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1)) · if(2
∥ 𝐵, 0, if((𝐵 mod 8) ∈ {1, 7}, 1, -1)))
= if(2 ∥ (𝐴 ·
𝐵), 0, if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1))) | 
| 72 |   | ioran 753 | 
. . . 4
⊢ (¬ (2
∥ 𝐴 ∨ 2 ∥
𝐵) ↔ (¬ 2 ∥
𝐴 ∧ ¬ 2 ∥
𝐵)) | 
| 73 | 24 | ad2antrr 488 | 
. . . . . . . . 9
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐴 mod 8) ∈ {1, 7}) →
if((𝐵 mod 8) ∈ {1, 7},
1, -1) ∈ ℂ) | 
| 74 | 73 | mulid2d 8045 | 
. . . . . . . 8
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐴 mod 8) ∈ {1, 7}) → (1
· if((𝐵 mod 8)
∈ {1, 7}, 1, -1)) = if((𝐵 mod 8) ∈ {1, 7}, 1,
-1)) | 
| 75 |   | iftrue 3566 | 
. . . . . . . . . 10
⊢ ((𝐴 mod 8) ∈ {1, 7} →
if((𝐴 mod 8) ∈ {1, 7},
1, -1) = 1) | 
| 76 | 75 | adantl 277 | 
. . . . . . . . 9
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐴 mod 8) ∈ {1, 7}) →
if((𝐴 mod 8) ∈ {1, 7},
1, -1) = 1) | 
| 77 | 76 | oveq1d 5937 | 
. . . . . . . 8
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐴 mod 8) ∈ {1, 7}) →
(if((𝐴 mod 8) ∈ {1,
7}, 1, -1) · if((𝐵
mod 8) ∈ {1, 7}, 1, -1)) = (1 · if((𝐵 mod 8) ∈ {1, 7}, 1,
-1))) | 
| 78 |   | lgsdir2lem4 15272 | 
. . . . . . . . . 10
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (𝐴 mod 8) ∈ {1, 7}) →
(((𝐴 · 𝐵) mod 8) ∈ {1, 7} ↔
(𝐵 mod 8) ∈ {1,
7})) | 
| 79 | 78 | adantlr 477 | 
. . . . . . . . 9
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐴 mod 8) ∈ {1, 7}) →
(((𝐴 · 𝐵) mod 8) ∈ {1, 7} ↔
(𝐵 mod 8) ∈ {1,
7})) | 
| 80 | 79 | ifbid 3582 | 
. . . . . . . 8
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐴 mod 8) ∈ {1, 7}) →
if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1, -1) =
if((𝐵 mod 8) ∈ {1, 7},
1, -1)) | 
| 81 | 74, 77, 80 | 3eqtr4d 2239 | 
. . . . . . 7
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐴 mod 8) ∈ {1, 7}) →
(if((𝐴 mod 8) ∈ {1,
7}, 1, -1) · if((𝐵
mod 8) ∈ {1, 7}, 1, -1)) = if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1)) | 
| 82 | 56 | mulridd 8043 | 
. . . . . . . . 9
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
(if((𝐴 mod 8) ∈ {1,
7}, 1, -1) · 1) = if((𝐴 mod 8) ∈ {1, 7}, 1,
-1)) | 
| 83 | 82 | ad2antrr 488 | 
. . . . . . . 8
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐵 mod 8) ∈ {1, 7}) →
(if((𝐴 mod 8) ∈ {1,
7}, 1, -1) · 1) = if((𝐴 mod 8) ∈ {1, 7}, 1,
-1)) | 
| 84 |   | iftrue 3566 | 
. . . . . . . . . 10
⊢ ((𝐵 mod 8) ∈ {1, 7} →
if((𝐵 mod 8) ∈ {1, 7},
1, -1) = 1) | 
| 85 | 84 | adantl 277 | 
. . . . . . . . 9
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐵 mod 8) ∈ {1, 7}) →
if((𝐵 mod 8) ∈ {1, 7},
1, -1) = 1) | 
| 86 | 85 | oveq2d 5938 | 
. . . . . . . 8
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐵 mod 8) ∈ {1, 7}) →
(if((𝐴 mod 8) ∈ {1,
7}, 1, -1) · if((𝐵
mod 8) ∈ {1, 7}, 1, -1)) = (if((𝐴 mod 8) ∈ {1, 7}, 1, -1) ·
1)) | 
| 87 |   | zcn 9331 | 
. . . . . . . . . . . . . 14
⊢ (𝐴 ∈ ℤ → 𝐴 ∈
ℂ) | 
| 88 |   | zcn 9331 | 
. . . . . . . . . . . . . 14
⊢ (𝐵 ∈ ℤ → 𝐵 ∈
ℂ) | 
| 89 |   | mulcom 8008 | 
. . . . . . . . . . . . . 14
⊢ ((𝐴 ∈ ℂ ∧ 𝐵 ∈ ℂ) → (𝐴 · 𝐵) = (𝐵 · 𝐴)) | 
| 90 | 87, 88, 89 | syl2an 289 | 
. . . . . . . . . . . . 13
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 · 𝐵) = (𝐵 · 𝐴)) | 
| 91 | 90 | ad2antrr 488 | 
. . . . . . . . . . . 12
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐵 mod 8) ∈ {1, 7}) →
(𝐴 · 𝐵) = (𝐵 · 𝐴)) | 
| 92 | 91 | oveq1d 5937 | 
. . . . . . . . . . 11
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐵 mod 8) ∈ {1, 7}) →
((𝐴 · 𝐵) mod 8) = ((𝐵 · 𝐴) mod 8)) | 
| 93 | 92 | eleq1d 2265 | 
. . . . . . . . . 10
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐵 mod 8) ∈ {1, 7}) →
(((𝐴 · 𝐵) mod 8) ∈ {1, 7} ↔
((𝐵 · 𝐴) mod 8) ∈ {1,
7})) | 
| 94 |   | lgsdir2lem4 15272 | 
. . . . . . . . . . . 12
⊢ (((𝐵 ∈ ℤ ∧ 𝐴 ∈ ℤ) ∧ (𝐵 mod 8) ∈ {1, 7}) →
(((𝐵 · 𝐴) mod 8) ∈ {1, 7} ↔
(𝐴 mod 8) ∈ {1,
7})) | 
| 95 | 94 | ancom1s 569 | 
. . . . . . . . . . 11
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (𝐵 mod 8) ∈ {1, 7}) →
(((𝐵 · 𝐴) mod 8) ∈ {1, 7} ↔
(𝐴 mod 8) ∈ {1,
7})) | 
| 96 | 95 | adantlr 477 | 
. . . . . . . . . 10
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐵 mod 8) ∈ {1, 7}) →
(((𝐵 · 𝐴) mod 8) ∈ {1, 7} ↔
(𝐴 mod 8) ∈ {1,
7})) | 
| 97 | 93, 96 | bitrd 188 | 
. . . . . . . . 9
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐵 mod 8) ∈ {1, 7}) →
(((𝐴 · 𝐵) mod 8) ∈ {1, 7} ↔
(𝐴 mod 8) ∈ {1,
7})) | 
| 98 | 97 | ifbid 3582 | 
. . . . . . . 8
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐵 mod 8) ∈ {1, 7}) →
if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1, -1) =
if((𝐴 mod 8) ∈ {1, 7},
1, -1)) | 
| 99 | 83, 86, 98 | 3eqtr4d 2239 | 
. . . . . . 7
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (𝐵 mod 8) ∈ {1, 7}) →
(if((𝐴 mod 8) ∈ {1,
7}, 1, -1) · if((𝐵
mod 8) ∈ {1, 7}, 1, -1)) = if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1)) | 
| 100 | 81, 99 | jaodan 798 | 
. . . . . 6
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ ((𝐴 mod 8) ∈ {1, 7} ∨
(𝐵 mod 8) ∈ {1, 7}))
→ (if((𝐴 mod 8) ∈
{1, 7}, 1, -1) · if((𝐵 mod 8) ∈ {1, 7}, 1, -1)) = if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1)) | 
| 101 |   | ioran 753 | 
. . . . . . 7
⊢ (¬
((𝐴 mod 8) ∈ {1, 7}
∨ (𝐵 mod 8) ∈ {1,
7}) ↔ (¬ (𝐴 mod 8)
∈ {1, 7} ∧ ¬ (𝐵 mod 8) ∈ {1, 7})) | 
| 102 |   | neg1mulneg1e1 9203 | 
. . . . . . . 8
⊢ (-1
· -1) = 1 | 
| 103 |   | iffalse 3569 | 
. . . . . . . . . 10
⊢ (¬
(𝐴 mod 8) ∈ {1, 7}
→ if((𝐴 mod 8) ∈
{1, 7}, 1, -1) = -1) | 
| 104 |   | iffalse 3569 | 
. . . . . . . . . 10
⊢ (¬
(𝐵 mod 8) ∈ {1, 7}
→ if((𝐵 mod 8) ∈
{1, 7}, 1, -1) = -1) | 
| 105 | 103, 104 | oveqan12d 5941 | 
. . . . . . . . 9
⊢ ((¬
(𝐴 mod 8) ∈ {1, 7}
∧ ¬ (𝐵 mod 8)
∈ {1, 7}) → (if((𝐴 mod 8) ∈ {1, 7}, 1, -1) ·
if((𝐵 mod 8) ∈ {1, 7},
1, -1)) = (-1 · -1)) | 
| 106 | 105 | adantl 277 | 
. . . . . . . 8
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (¬
(𝐴 mod 8) ∈ {1, 7}
∧ ¬ (𝐵 mod 8)
∈ {1, 7})) → (if((𝐴 mod 8) ∈ {1, 7}, 1, -1) ·
if((𝐵 mod 8) ∈ {1, 7},
1, -1)) = (-1 · -1)) | 
| 107 |   | lgsdir2lem3 15271 | 
. . . . . . . . . . . . . 14
⊢ ((𝐴 ∈ ℤ ∧ ¬ 2
∥ 𝐴) → (𝐴 mod 8) ∈ ({1, 7} ∪ {3,
5})) | 
| 108 | 107 | ad2ant2r 509 | 
. . . . . . . . . . . . 13
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) → (𝐴 mod 8) ∈ ({1, 7} ∪ {3,
5})) | 
| 109 |   | elun 3304 | 
. . . . . . . . . . . . 13
⊢ ((𝐴 mod 8) ∈ ({1, 7} ∪ {3,
5}) ↔ ((𝐴 mod 8)
∈ {1, 7} ∨ (𝐴 mod
8) ∈ {3, 5})) | 
| 110 | 108, 109 | sylib 122 | 
. . . . . . . . . . . 12
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) → ((𝐴 mod 8) ∈ {1, 7} ∨
(𝐴 mod 8) ∈ {3,
5})) | 
| 111 | 110 | orcanai 929 | 
. . . . . . . . . . 11
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ ¬
(𝐴 mod 8) ∈ {1, 7})
→ (𝐴 mod 8) ∈ {3,
5}) | 
| 112 |   | lgsdir2lem3 15271 | 
. . . . . . . . . . . . . 14
⊢ ((𝐵 ∈ ℤ ∧ ¬ 2
∥ 𝐵) → (𝐵 mod 8) ∈ ({1, 7} ∪ {3,
5})) | 
| 113 | 112 | ad2ant2l 508 | 
. . . . . . . . . . . . 13
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) → (𝐵 mod 8) ∈ ({1, 7} ∪ {3,
5})) | 
| 114 |   | elun 3304 | 
. . . . . . . . . . . . 13
⊢ ((𝐵 mod 8) ∈ ({1, 7} ∪ {3,
5}) ↔ ((𝐵 mod 8)
∈ {1, 7} ∨ (𝐵 mod
8) ∈ {3, 5})) | 
| 115 | 113, 114 | sylib 122 | 
. . . . . . . . . . . 12
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) → ((𝐵 mod 8) ∈ {1, 7} ∨
(𝐵 mod 8) ∈ {3,
5})) | 
| 116 | 115 | orcanai 929 | 
. . . . . . . . . . 11
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ ¬
(𝐵 mod 8) ∈ {1, 7})
→ (𝐵 mod 8) ∈ {3,
5}) | 
| 117 | 111, 116 | anim12dan 600 | 
. . . . . . . . . 10
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (¬
(𝐴 mod 8) ∈ {1, 7}
∧ ¬ (𝐵 mod 8)
∈ {1, 7})) → ((𝐴
mod 8) ∈ {3, 5} ∧ (𝐵 mod 8) ∈ {3, 5})) | 
| 118 |   | lgsdir2lem5 15273 | 
. . . . . . . . . . 11
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ ((𝐴 mod 8) ∈ {3, 5} ∧
(𝐵 mod 8) ∈ {3, 5}))
→ ((𝐴 · 𝐵) mod 8) ∈ {1,
7}) | 
| 119 | 118 | adantlr 477 | 
. . . . . . . . . 10
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ ((𝐴 mod 8) ∈ {3, 5} ∧
(𝐵 mod 8) ∈ {3, 5}))
→ ((𝐴 · 𝐵) mod 8) ∈ {1,
7}) | 
| 120 | 117, 119 | syldan 282 | 
. . . . . . . . 9
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (¬
(𝐴 mod 8) ∈ {1, 7}
∧ ¬ (𝐵 mod 8)
∈ {1, 7})) → ((𝐴
· 𝐵) mod 8) ∈
{1, 7}) | 
| 121 | 120 | iftrued 3568 | 
. . . . . . . 8
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (¬
(𝐴 mod 8) ∈ {1, 7}
∧ ¬ (𝐵 mod 8)
∈ {1, 7})) → if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1, -1) =
1) | 
| 122 | 102, 106,
121 | 3eqtr4a 2255 | 
. . . . . . 7
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ (¬
(𝐴 mod 8) ∈ {1, 7}
∧ ¬ (𝐵 mod 8)
∈ {1, 7})) → (if((𝐴 mod 8) ∈ {1, 7}, 1, -1) ·
if((𝐵 mod 8) ∈ {1, 7},
1, -1)) = if(((𝐴 ·
𝐵) mod 8) ∈ {1, 7}, 1,
-1)) | 
| 123 | 101, 122 | sylan2b 287 | 
. . . . . 6
⊢ ((((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) ∧ ¬
((𝐴 mod 8) ∈ {1, 7}
∨ (𝐵 mod 8) ∈ {1,
7})) → (if((𝐴 mod 8)
∈ {1, 7}, 1, -1) · if((𝐵 mod 8) ∈ {1, 7}, 1, -1)) = if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1)) | 
| 124 |   | dcor 937 | 
. . . . . . . . 9
⊢
(DECID (𝐴 mod 8) ∈ {1, 7} →
(DECID (𝐵
mod 8) ∈ {1, 7} → DECID ((𝐴 mod 8) ∈ {1, 7} ∨ (𝐵 mod 8) ∈ {1,
7}))) | 
| 125 | 55, 23, 124 | sylc 62 | 
. . . . . . . 8
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
DECID ((𝐴
mod 8) ∈ {1, 7} ∨ (𝐵 mod 8) ∈ {1, 7})) | 
| 126 | 125 | adantr 276 | 
. . . . . . 7
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) →
DECID ((𝐴
mod 8) ∈ {1, 7} ∨ (𝐵 mod 8) ∈ {1, 7})) | 
| 127 |   | exmiddc 837 | 
. . . . . . 7
⊢
(DECID ((𝐴 mod 8) ∈ {1, 7} ∨ (𝐵 mod 8) ∈ {1, 7}) →
(((𝐴 mod 8) ∈ {1, 7}
∨ (𝐵 mod 8) ∈ {1,
7}) ∨ ¬ ((𝐴 mod 8)
∈ {1, 7} ∨ (𝐵 mod
8) ∈ {1, 7}))) | 
| 128 | 126, 127 | syl 14 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) → (((𝐴 mod 8) ∈ {1, 7} ∨
(𝐵 mod 8) ∈ {1, 7})
∨ ¬ ((𝐴 mod 8)
∈ {1, 7} ∨ (𝐵 mod
8) ∈ {1, 7}))) | 
| 129 | 100, 123,
128 | mpjaodan 799 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) →
(if((𝐴 mod 8) ∈ {1,
7}, 1, -1) · if((𝐵
mod 8) ∈ {1, 7}, 1, -1)) = if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1)) | 
| 130 |   | iffalse 3569 | 
. . . . . . 7
⊢ (¬ 2
∥ 𝐴 → if(2
∥ 𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1)) =
if((𝐴 mod 8) ∈ {1, 7},
1, -1)) | 
| 131 |   | iffalse 3569 | 
. . . . . . 7
⊢ (¬ 2
∥ 𝐵 → if(2
∥ 𝐵, 0, if((𝐵 mod 8) ∈ {1, 7}, 1, -1)) =
if((𝐵 mod 8) ∈ {1, 7},
1, -1)) | 
| 132 | 130, 131 | oveqan12d 5941 | 
. . . . . 6
⊢ ((¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵) → (if(2
∥ 𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1))
· if(2 ∥ 𝐵, 0,
if((𝐵 mod 8) ∈ {1, 7},
1, -1))) = (if((𝐴 mod 8)
∈ {1, 7}, 1, -1) · if((𝐵 mod 8) ∈ {1, 7}, 1,
-1))) | 
| 133 | 132 | adantl 277 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) → (if(2
∥ 𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1))
· if(2 ∥ 𝐵, 0,
if((𝐵 mod 8) ∈ {1, 7},
1, -1))) = (if((𝐴 mod 8)
∈ {1, 7}, 1, -1) · if((𝐵 mod 8) ∈ {1, 7}, 1,
-1))) | 
| 134 |   | 2prm 12295 | 
. . . . . . . . . 10
⊢ 2 ∈
ℙ | 
| 135 |   | euclemma 12314 | 
. . . . . . . . . 10
⊢ ((2
∈ ℙ ∧ 𝐴
∈ ℤ ∧ 𝐵
∈ ℤ) → (2 ∥ (𝐴 · 𝐵) ↔ (2 ∥ 𝐴 ∨ 2 ∥ 𝐵))) | 
| 136 | 134, 135 | mp3an1 1335 | 
. . . . . . . . 9
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (2
∥ (𝐴 · 𝐵) ↔ (2 ∥ 𝐴 ∨ 2 ∥ 𝐵))) | 
| 137 | 136 | notbid 668 | 
. . . . . . . 8
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (¬ 2
∥ (𝐴 · 𝐵) ↔ ¬ (2 ∥ 𝐴 ∨ 2 ∥ 𝐵))) | 
| 138 | 137 | biimpar 297 | 
. . . . . . 7
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ ¬ (2
∥ 𝐴 ∨ 2 ∥
𝐵)) → ¬ 2 ∥
(𝐴 · 𝐵)) | 
| 139 | 72, 138 | sylan2br 288 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) → ¬ 2
∥ (𝐴 · 𝐵)) | 
| 140 |   | iffalse 3569 | 
. . . . . 6
⊢ (¬ 2
∥ (𝐴 · 𝐵) → if(2 ∥ (𝐴 · 𝐵), 0, if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1, -1)) = if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1)) | 
| 141 | 139, 140 | syl 14 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) → if(2
∥ (𝐴 · 𝐵), 0, if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1, -1)) = if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1)) | 
| 142 | 129, 133,
141 | 3eqtr4d 2239 | 
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ (¬ 2
∥ 𝐴 ∧ ¬ 2
∥ 𝐵)) → (if(2
∥ 𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1))
· if(2 ∥ 𝐵, 0,
if((𝐵 mod 8) ∈ {1, 7},
1, -1))) = if(2 ∥ (𝐴
· 𝐵), 0, if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1))) | 
| 143 | 72, 142 | sylan2b 287 | 
. . 3
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ ¬ (2
∥ 𝐴 ∨ 2 ∥
𝐵)) → (if(2 ∥
𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1)) · if(2
∥ 𝐵, 0, if((𝐵 mod 8) ∈ {1, 7}, 1, -1)))
= if(2 ∥ (𝐴 ·
𝐵), 0, if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1))) | 
| 144 | 57, 5, 29 | syl2anc 411 | 
. . . . 5
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
DECID 2 ∥ 𝐵) | 
| 145 |   | dcor 937 | 
. . . . 5
⊢
(DECID 2 ∥ 𝐴 → (DECID 2 ∥
𝐵 →
DECID (2 ∥ 𝐴 ∨ 2 ∥ 𝐵))) | 
| 146 | 59, 144, 145 | sylc 62 | 
. . . 4
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
DECID (2 ∥ 𝐴 ∨ 2 ∥ 𝐵)) | 
| 147 |   | exmiddc 837 | 
. . . 4
⊢
(DECID (2 ∥ 𝐴 ∨ 2 ∥ 𝐵) → ((2 ∥ 𝐴 ∨ 2 ∥ 𝐵) ∨ ¬ (2 ∥ 𝐴 ∨ 2 ∥ 𝐵))) | 
| 148 | 146, 147 | syl 14 | 
. . 3
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → ((2
∥ 𝐴 ∨ 2 ∥
𝐵) ∨ ¬ (2 ∥
𝐴 ∨ 2 ∥ 𝐵))) | 
| 149 | 71, 143, 148 | mpjaodan 799 | 
. 2
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (if(2
∥ 𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1))
· if(2 ∥ 𝐵, 0,
if((𝐵 mod 8) ∈ {1, 7},
1, -1))) = if(2 ∥ (𝐴
· 𝐵), 0, if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1))) | 
| 150 |   | lgs2 15258 | 
. . 3
⊢ (𝐴 ∈ ℤ → (𝐴 /L 2) = if(2
∥ 𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1,
-1))) | 
| 151 |   | lgs2 15258 | 
. . 3
⊢ (𝐵 ∈ ℤ → (𝐵 /L 2) = if(2
∥ 𝐵, 0, if((𝐵 mod 8) ∈ {1, 7}, 1,
-1))) | 
| 152 | 150, 151 | oveqan12d 5941 | 
. 2
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → ((𝐴 /L 2)
· (𝐵
/L 2)) = (if(2 ∥ 𝐴, 0, if((𝐴 mod 8) ∈ {1, 7}, 1, -1)) · if(2
∥ 𝐵, 0, if((𝐵 mod 8) ∈ {1, 7}, 1,
-1)))) | 
| 153 |   | zmulcl 9379 | 
. . 3
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 · 𝐵) ∈ ℤ) | 
| 154 |   | lgs2 15258 | 
. . 3
⊢ ((𝐴 · 𝐵) ∈ ℤ → ((𝐴 · 𝐵) /L 2) = if(2 ∥
(𝐴 · 𝐵), 0, if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1))) | 
| 155 | 153, 154 | syl 14 | 
. 2
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → ((𝐴 · 𝐵) /L 2) = if(2 ∥
(𝐴 · 𝐵), 0, if(((𝐴 · 𝐵) mod 8) ∈ {1, 7}, 1,
-1))) | 
| 156 | 149, 152,
155 | 3eqtr4rd 2240 | 
1
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → ((𝐴 · 𝐵) /L 2) = ((𝐴 /L 2)
· (𝐵
/L 2))) |