| 255 < i, i→n(j) < #(int2bytes(i / 256) + int2bytes(i % 256).last '), 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) + int2bytes(i % 256).last ') - i→n(j), int2bytes(i / 256) + int2bytes(i % 256).last ')), j = 0 |
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
Used simplifier rules: int2bytes-last-01: ⊦ int2bytes(i).last = i2b(i);%i0 ≠ 0, i0 < i ⊦ (* i) < j → (* i0) < j;% ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j; (forward)% ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward)% ⊦ n ≤ m → m + n0 - n = (m - n) + n0;% ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ ¬ m < n ↔ n ≤ m;% ⊦ m < n + 1 ↔ ¬ n < m;% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ # by ' = 0 +1;% ⊦ #(bytes + bytes0) = # bytes + # bytes0;