| 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))) ⊦ i→n(abs(j) - 1) < # int2bytes(i / 256), 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, # int2bytes(i / 256) ≤ i→n(abs(j) - 1), i→n(j) ≤ # int2bytes(i / 256), i < ~256, i < 0, abs(j) ≤ abs(abs(j) - 1), ∀ 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))) ⊦ i / 256 >> 8 * (abs(j) - 1) = bytes2int(firstn((# int2bytes(i / 256) - i→n(j)) + 1, int2bytes(i / 256) + i2b(0) ')), j = 0
Used simplifier rules: ⊦ i→n(i) ≤ i→n(j) ↔ abs(i) ≤ abs(j);% ⊦ n ≤ n0 ∧ n0 ≤ n1 → n ≤ n1; (forward)% ⊦ ¬ m < n ↔ n ≤ m;