| 0 ≤ i * 256 + j0 + 255, s2i(sho) = 256 * (i * 256 + j0 - 1), j0 ≤ 0, abs(j0 - 1) < 256, ~255 ≤ i * 256 + j0, abs(j0) < 256, i < 0, i * 256 + j0 < 0 ⊦ i = ~1 |
0 ≤ i * 256 + j0 + 255, s2i(sho) = 256 * (i * 256 + j0 - 1), j0 ≤ 0, abs(j0 - 1) < 256, ~255 ≤ i * 256 + j0, abs(j0) < 256, i < 0, i * 256 + j0 < 0 ⊦ 0 < i * 256 + j0 + 256, i = ~1
Used simplifier rules: ⊦ i * j + i = i * (j + 1);% ⊦ i * j * j0 = (i * j) * j0;% ⊦ i * j = j * i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ (* j) ≤ i0 + (* j0) ↔ j - j0 ≤ i0;%i0 ≠ 0, i0 ≤ i ⊦ (* i) ≤ j → (* i0) ≤ j;% ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward)% ⊦ i ≤ j ∧ j < j0 → i < j0; (forward)% ⊦ i < i + j ↔ 0 < j;% ⊦ 0 < i → (0 < i * j ↔ 0 < j);% ⊦ (* j) < i0 + (* j0) ↔ j - j0 < i0;% ⊦ ~1 < i ↔ 0 ≤ i;% ⊦ i < j → (¬ ¬ j ≤ i ↔ false); Used formulas: 0 < i * 256 + j0 + 256