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