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