Proof of Theorem modmkpkne
| Step | Hyp | Ref
| Expression |
| 1 | | zsubcl 12581 |
. . . 4
⊢ ((𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (𝑌 − 𝐾) ∈ ℤ) |
| 2 | 1 | 3adant1 1130 |
. . 3
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (𝑌 − 𝐾) ∈ ℤ) |
| 3 | | zaddcl 12579 |
. . . 4
⊢ ((𝑋 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (𝑋 + 𝐾) ∈ ℤ) |
| 4 | 3 | 3adant2 1131 |
. . 3
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (𝑋 + 𝐾) ∈ ℤ) |
| 5 | | simpl 482 |
. . 3
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → 𝑁 ∈
ℕ) |
| 6 | | difmod0 16263 |
. . 3
⊢ (((𝑌 − 𝐾) ∈ ℤ ∧ (𝑋 + 𝐾) ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((((𝑌 − 𝐾) − (𝑋 + 𝐾)) mod 𝑁) = 0 ↔ ((𝑌 − 𝐾) mod 𝑁) = ((𝑋 + 𝐾) mod 𝑁))) |
| 7 | 2, 4, 5, 6 | syl2an23an 1425 |
. 2
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) →
((((𝑌 − 𝐾) − (𝑋 + 𝐾)) mod 𝑁) = 0 ↔ ((𝑌 − 𝐾) mod 𝑁) = ((𝑋 + 𝐾) mod 𝑁))) |
| 8 | | zcn 12540 |
. . . . . . . . . 10
⊢ (𝑌 ∈ ℤ → 𝑌 ∈
ℂ) |
| 9 | 8 | 3ad2ant2 1134 |
. . . . . . . . 9
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → 𝑌 ∈
ℂ) |
| 10 | | zcn 12540 |
. . . . . . . . . 10
⊢ (𝐾 ∈ ℤ → 𝐾 ∈
ℂ) |
| 11 | 10 | 3ad2ant3 1135 |
. . . . . . . . 9
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → 𝐾 ∈
ℂ) |
| 12 | | zcn 12540 |
. . . . . . . . . 10
⊢ (𝑋 ∈ ℤ → 𝑋 ∈
ℂ) |
| 13 | 12 | 3ad2ant1 1133 |
. . . . . . . . 9
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → 𝑋 ∈
ℂ) |
| 14 | 9, 11, 13, 11 | subsubadd23 11591 |
. . . . . . . 8
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → ((𝑌 − 𝐾) − (𝑋 + 𝐾)) = ((𝑌 − 𝑋) − (𝐾 + 𝐾))) |
| 15 | 10 | 2timesd 12431 |
. . . . . . . . . . 11
⊢ (𝐾 ∈ ℤ → (2
· 𝐾) = (𝐾 + 𝐾)) |
| 16 | 15 | eqcomd 2736 |
. . . . . . . . . 10
⊢ (𝐾 ∈ ℤ → (𝐾 + 𝐾) = (2 · 𝐾)) |
| 17 | 16 | 3ad2ant3 1135 |
. . . . . . . . 9
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (𝐾 + 𝐾) = (2 · 𝐾)) |
| 18 | 17 | oveq2d 7405 |
. . . . . . . 8
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → ((𝑌 − 𝑋) − (𝐾 + 𝐾)) = ((𝑌 − 𝑋) − (2 · 𝐾))) |
| 19 | 14, 18 | eqtrd 2765 |
. . . . . . 7
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → ((𝑌 − 𝐾) − (𝑋 + 𝐾)) = ((𝑌 − 𝑋) − (2 · 𝐾))) |
| 20 | 19 | adantl 481 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → ((𝑌 − 𝐾) − (𝑋 + 𝐾)) = ((𝑌 − 𝑋) − (2 · 𝐾))) |
| 21 | 20 | oveq1d 7404 |
. . . . 5
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) →
(((𝑌 − 𝐾) − (𝑋 + 𝐾)) mod 𝑁) = (((𝑌 − 𝑋) − (2 · 𝐾)) mod 𝑁)) |
| 22 | 21 | eqeq1d 2732 |
. . . 4
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) →
((((𝑌 − 𝐾) − (𝑋 + 𝐾)) mod 𝑁) = 0 ↔ (((𝑌 − 𝑋) − (2 · 𝐾)) mod 𝑁) = 0)) |
| 23 | | zsubcl 12581 |
. . . . . . 7
⊢ ((𝑌 ∈ ℤ ∧ 𝑋 ∈ ℤ) → (𝑌 − 𝑋) ∈ ℤ) |
| 24 | 23 | ancoms 458 |
. . . . . 6
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ) → (𝑌 − 𝑋) ∈ ℤ) |
| 25 | 24 | 3adant3 1132 |
. . . . 5
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (𝑌 − 𝑋) ∈ ℤ) |
| 26 | | 2z 12571 |
. . . . . . . 8
⊢ 2 ∈
ℤ |
| 27 | 26 | a1i 11 |
. . . . . . 7
⊢ (𝐾 ∈ ℤ → 2 ∈
ℤ) |
| 28 | | id 22 |
. . . . . . 7
⊢ (𝐾 ∈ ℤ → 𝐾 ∈
ℤ) |
| 29 | 27, 28 | zmulcld 12650 |
. . . . . 6
⊢ (𝐾 ∈ ℤ → (2
· 𝐾) ∈
ℤ) |
| 30 | 29 | 3ad2ant3 1135 |
. . . . 5
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (2
· 𝐾) ∈
ℤ) |
| 31 | | difmod0 16263 |
. . . . 5
⊢ (((𝑌 − 𝑋) ∈ ℤ ∧ (2 · 𝐾) ∈ ℤ ∧ 𝑁 ∈ ℕ) →
((((𝑌 − 𝑋) − (2 · 𝐾)) mod 𝑁) = 0 ↔ ((𝑌 − 𝑋) mod 𝑁) = ((2 · 𝐾) mod 𝑁))) |
| 32 | 25, 30, 5, 31 | syl2an23an 1425 |
. . . 4
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) →
((((𝑌 − 𝑋) − (2 · 𝐾)) mod 𝑁) = 0 ↔ ((𝑌 − 𝑋) mod 𝑁) = ((2 · 𝐾) mod 𝑁))) |
| 33 | 22, 32 | bitrd 279 |
. . 3
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) →
((((𝑌 − 𝐾) − (𝑋 + 𝐾)) mod 𝑁) = 0 ↔ ((𝑌 − 𝑋) mod 𝑁) = ((2 · 𝐾) mod 𝑁))) |
| 34 | 9 | adantl 481 |
. . . . . . . . . . 11
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → 𝑌 ∈
ℂ) |
| 35 | 11 | adantl 481 |
. . . . . . . . . . 11
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → 𝐾 ∈
ℂ) |
| 36 | 13 | adantl 481 |
. . . . . . . . . . 11
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → 𝑋 ∈
ℂ) |
| 37 | 34, 35, 36, 35 | addsubsub23 11592 |
. . . . . . . . . 10
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → ((𝑌 + 𝐾) − (𝑋 − 𝐾)) = ((𝑌 − 𝑋) + (𝐾 + 𝐾))) |
| 38 | 17 | adantl 481 |
. . . . . . . . . . 11
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → (𝐾 + 𝐾) = (2 · 𝐾)) |
| 39 | 38 | oveq2d 7405 |
. . . . . . . . . 10
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → ((𝑌 − 𝑋) + (𝐾 + 𝐾)) = ((𝑌 − 𝑋) + (2 · 𝐾))) |
| 40 | 37, 39 | eqtrd 2765 |
. . . . . . . . 9
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → ((𝑌 + 𝐾) − (𝑋 − 𝐾)) = ((𝑌 − 𝑋) + (2 · 𝐾))) |
| 41 | 40 | oveq1d 7404 |
. . . . . . . 8
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) →
(((𝑌 + 𝐾) − (𝑋 − 𝐾)) mod 𝑁) = (((𝑌 − 𝑋) + (2 · 𝐾)) mod 𝑁)) |
| 42 | 41 | eqeq1d 2732 |
. . . . . . 7
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) →
((((𝑌 + 𝐾) − (𝑋 − 𝐾)) mod 𝑁) = 0 ↔ (((𝑌 − 𝑋) + (2 · 𝐾)) mod 𝑁) = 0)) |
| 43 | | summodnegmod 16262 |
. . . . . . . 8
⊢ (((𝑌 − 𝑋) ∈ ℤ ∧ (2 · 𝐾) ∈ ℤ ∧ 𝑁 ∈ ℕ) →
((((𝑌 − 𝑋) + (2 · 𝐾)) mod 𝑁) = 0 ↔ ((𝑌 − 𝑋) mod 𝑁) = (-(2 · 𝐾) mod 𝑁))) |
| 44 | 25, 30, 5, 43 | syl2an23an 1425 |
. . . . . . 7
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) →
((((𝑌 − 𝑋) + (2 · 𝐾)) mod 𝑁) = 0 ↔ ((𝑌 − 𝑋) mod 𝑁) = (-(2 · 𝐾) mod 𝑁))) |
| 45 | 42, 44 | bitrd 279 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) →
((((𝑌 + 𝐾) − (𝑋 − 𝐾)) mod 𝑁) = 0 ↔ ((𝑌 − 𝑋) mod 𝑁) = (-(2 · 𝐾) mod 𝑁))) |
| 46 | 45 | adantr 480 |
. . . . 5
⊢ (((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) ∧ ((𝑌 − 𝑋) mod 𝑁) = ((2 · 𝐾) mod 𝑁)) → ((((𝑌 + 𝐾) − (𝑋 − 𝐾)) mod 𝑁) = 0 ↔ ((𝑌 − 𝑋) mod 𝑁) = (-(2 · 𝐾) mod 𝑁))) |
| 47 | | zaddcl 12579 |
. . . . . . . 8
⊢ ((𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (𝑌 + 𝐾) ∈ ℤ) |
| 48 | 47 | 3adant1 1130 |
. . . . . . 7
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (𝑌 + 𝐾) ∈ ℤ) |
| 49 | | zsubcl 12581 |
. . . . . . . 8
⊢ ((𝑋 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (𝑋 − 𝐾) ∈ ℤ) |
| 50 | 49 | 3adant2 1131 |
. . . . . . 7
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (𝑋 − 𝐾) ∈ ℤ) |
| 51 | | difmod0 16263 |
. . . . . . 7
⊢ (((𝑌 + 𝐾) ∈ ℤ ∧ (𝑋 − 𝐾) ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((((𝑌 + 𝐾) − (𝑋 − 𝐾)) mod 𝑁) = 0 ↔ ((𝑌 + 𝐾) mod 𝑁) = ((𝑋 − 𝐾) mod 𝑁))) |
| 52 | 48, 50, 5, 51 | syl2an23an 1425 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) →
((((𝑌 + 𝐾) − (𝑋 − 𝐾)) mod 𝑁) = 0 ↔ ((𝑌 + 𝐾) mod 𝑁) = ((𝑋 − 𝐾) mod 𝑁))) |
| 53 | 52 | adantr 480 |
. . . . 5
⊢ (((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) ∧ ((𝑌 − 𝑋) mod 𝑁) = ((2 · 𝐾) mod 𝑁)) → ((((𝑌 + 𝐾) − (𝑋 − 𝐾)) mod 𝑁) = 0 ↔ ((𝑌 + 𝐾) mod 𝑁) = ((𝑋 − 𝐾) mod 𝑁))) |
| 54 | | eqeq1 2734 |
. . . . . 6
⊢ (((𝑌 − 𝑋) mod 𝑁) = ((2 · 𝐾) mod 𝑁) → (((𝑌 − 𝑋) mod 𝑁) = (-(2 · 𝐾) mod 𝑁) ↔ ((2 · 𝐾) mod 𝑁) = (-(2 · 𝐾) mod 𝑁))) |
| 55 | | 2t2e4 12351 |
. . . . . . . . . . . . . 14
⊢ (2
· 2) = 4 |
| 56 | 55 | eqcomi 2739 |
. . . . . . . . . . . . 13
⊢ 4 = (2
· 2) |
| 57 | 56 | oveq1i 7399 |
. . . . . . . . . . . 12
⊢ (4
· 𝐾) = ((2 ·
2) · 𝐾) |
| 58 | | 2cnd 12265 |
. . . . . . . . . . . . . 14
⊢ (𝐾 ∈ ℤ → 2 ∈
ℂ) |
| 59 | 58, 58, 10 | mulassd 11203 |
. . . . . . . . . . . . 13
⊢ (𝐾 ∈ ℤ → ((2
· 2) · 𝐾) =
(2 · (2 · 𝐾))) |
| 60 | 29 | zcnd 12645 |
. . . . . . . . . . . . . 14
⊢ (𝐾 ∈ ℤ → (2
· 𝐾) ∈
ℂ) |
| 61 | 60 | 2timesd 12431 |
. . . . . . . . . . . . 13
⊢ (𝐾 ∈ ℤ → (2
· (2 · 𝐾)) =
((2 · 𝐾) + (2
· 𝐾))) |
| 62 | 59, 61 | eqtrd 2765 |
. . . . . . . . . . . 12
⊢ (𝐾 ∈ ℤ → ((2
· 2) · 𝐾) =
((2 · 𝐾) + (2
· 𝐾))) |
| 63 | 57, 62 | eqtrid 2777 |
. . . . . . . . . . 11
⊢ (𝐾 ∈ ℤ → (4
· 𝐾) = ((2 ·
𝐾) + (2 · 𝐾))) |
| 64 | 63 | 3ad2ant3 1135 |
. . . . . . . . . 10
⊢ ((𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ) → (4
· 𝐾) = ((2 ·
𝐾) + (2 · 𝐾))) |
| 65 | 64 | adantl 481 |
. . . . . . . . 9
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → (4
· 𝐾) = ((2 ·
𝐾) + (2 · 𝐾))) |
| 66 | 65 | oveq1d 7404 |
. . . . . . . 8
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → ((4
· 𝐾) mod 𝑁) = (((2 · 𝐾) + (2 · 𝐾)) mod 𝑁)) |
| 67 | 66 | eqeq1d 2732 |
. . . . . . 7
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → (((4
· 𝐾) mod 𝑁) = 0 ↔ (((2 · 𝐾) + (2 · 𝐾)) mod 𝑁) = 0)) |
| 68 | | summodnegmod 16262 |
. . . . . . . 8
⊢ (((2
· 𝐾) ∈ ℤ
∧ (2 · 𝐾) ∈
ℤ ∧ 𝑁 ∈
ℕ) → ((((2 · 𝐾) + (2 · 𝐾)) mod 𝑁) = 0 ↔ ((2 · 𝐾) mod 𝑁) = (-(2 · 𝐾) mod 𝑁))) |
| 69 | 30, 30, 5, 68 | syl2an23an 1425 |
. . . . . . 7
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → ((((2
· 𝐾) + (2 ·
𝐾)) mod 𝑁) = 0 ↔ ((2 · 𝐾) mod 𝑁) = (-(2 · 𝐾) mod 𝑁))) |
| 70 | 67, 69 | bitr2d 280 |
. . . . . 6
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) → (((2
· 𝐾) mod 𝑁) = (-(2 · 𝐾) mod 𝑁) ↔ ((4 · 𝐾) mod 𝑁) = 0)) |
| 71 | 54, 70 | sylan9bbr 510 |
. . . . 5
⊢ (((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) ∧ ((𝑌 − 𝑋) mod 𝑁) = ((2 · 𝐾) mod 𝑁)) → (((𝑌 − 𝑋) mod 𝑁) = (-(2 · 𝐾) mod 𝑁) ↔ ((4 · 𝐾) mod 𝑁) = 0)) |
| 72 | 46, 53, 71 | 3bitr3d 309 |
. . . 4
⊢ (((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) ∧ ((𝑌 − 𝑋) mod 𝑁) = ((2 · 𝐾) mod 𝑁)) → (((𝑌 + 𝐾) mod 𝑁) = ((𝑋 − 𝐾) mod 𝑁) ↔ ((4 · 𝐾) mod 𝑁) = 0)) |
| 73 | 72 | ex 412 |
. . 3
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) →
(((𝑌 − 𝑋) mod 𝑁) = ((2 · 𝐾) mod 𝑁) → (((𝑌 + 𝐾) mod 𝑁) = ((𝑋 − 𝐾) mod 𝑁) ↔ ((4 · 𝐾) mod 𝑁) = 0))) |
| 74 | 33, 73 | sylbid 240 |
. 2
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) →
((((𝑌 − 𝐾) − (𝑋 + 𝐾)) mod 𝑁) = 0 → (((𝑌 + 𝐾) mod 𝑁) = ((𝑋 − 𝐾) mod 𝑁) ↔ ((4 · 𝐾) mod 𝑁) = 0))) |
| 75 | 7, 74 | sylbird 260 |
1
⊢ ((𝑁 ∈ ℕ ∧ (𝑋 ∈ ℤ ∧ 𝑌 ∈ ℤ ∧ 𝐾 ∈ ℤ)) →
(((𝑌 − 𝐾) mod 𝑁) = ((𝑋 + 𝐾) mod 𝑁) → (((𝑌 + 𝐾) mod 𝑁) = ((𝑋 − 𝐾) mod 𝑁) ↔ ((4 · 𝐾) mod 𝑁) = 0))) |