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