| b2i(int2bytes(i).rest.first) < 0 → 2 ^ ((n→i(# int2bytes(i).rest.rest) + 1) * 8 - 1) ≤ bytes2int(i2b(0) ' + int2bytes(i).rest.first ' + int2bytes(i).rest.rest), int2bytes(i).first = i2b(0), i < 2 ^ (8 * n→i(# int2bytes(i) - 1)), 2 ≤ # int2bytes(i), 0 ≤ i ⊦ int2bytes(i).rest = [], # int2bytes(i) = n ↔ ¬ i < 2 ^ ((n→i(n) - 1) * 8 - 1) ∧ ¬ 2 ^ ((n→i(n) - 1) * 8) ≤ i ∧ n ≠ 0 |
int2bytes(i).first = i2b(0), i < 2 ^ (8 * n→i(# int2bytes(i) - 1)), 2 ≤ # int2bytes(i), 0 ≤ i, ¬ 0 ≤ b2i(int2bytes(i).rest.first) → 2 ^ (8 * (1 + n→i(# int2bytes(i).rest - 1)) - 1) ≤ bytes2int(i2b(0) ' + int2bytes(i).rest) ⊦ int2bytes(i).rest = [], # int2bytes(i) = n ↔ ¬ i < 2 ^ ((n→i(n) - 1) * 8 - 1) ∧ ¬ 2 ^ ((n→i(n) - 1) * 8) ≤ i ∧ n ≠ 0
Used simplifier rules: ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ bytes ≠ [] → bytes.first ' + bytes.rest = bytes;% ⊦ n -1 = n - 1;% ⊦ bytes ≠ [] → # bytes.rest = (# bytes)-1;% ⊦ ¬ i < j ↔ j ≤ i;