| abs(j) = 1, i→n(j) = 1, i < ~128, ~256 < i, ~256 ≤ i, i < 0, ∀ i, j0. i→n(j0) < 1 → i→n(j0) < # int2bytes(i) → i >> 8 * abs(j0) = bytes2int(firstn(# int2bytes(i) - i→n(j0), int2bytes(i))) ⊦ (i / 256 - 1) >> 8 * (abs(j) - 1) = ~1, j = 0, i % 256 = 0 |
abs(j) = 1, i→n(j) = 1, i < ~128, ~256 < i, ~256 ≤ i, i < 0, ∀ i, j0. i→n(j0) < 1 → i→n(j0) < # int2bytes(i) → i >> 8 * abs(j0) = bytes2int(firstn(# int2bytes(i) - i→n(j0), int2bytes(i))) ⊦ j = 0, i % 256 = 0, i / 256 = 0
Used simplifier rules: ⊦ i - j = i0 ↔ i = i0 + j;% ⊦ i >> 0 = i;% ⊦ i = j → i - j = 0;