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