| ⊦ i < ~(2 ^ (abs(j) - 1)) ∧ j ≠ 0 → i >> j = (i - (2 ^ abs(j) - 1)) / 2 ^ abs(j) |
i + 2 ^ (abs(j) - 1) < 0 ⊦ j = 0, i >> j = (i + 1 - 2 ^ abs(j)) / 2 ^ abs(j)
Used simplifier rules: ⊦ j < i ∧ i ≤ 0 → j < 0; (forward)% ⊦ i < ~ j ↔ i + j < 0;% ⊦ i - (j - j0) = i + j0 - j;