| int2bytes(i >> 8) + i2b(i) ' = [] ∨ 0 ≤ b2i((int2bytes(i >> 8) + i2b(i) ').first), i < 0, i >> 8 < 0, i < ~128, # int2bytes(i >> 8) + 1 < n, # int2bytes(i >> 8) < n ⊦ n = # int2bytes(i >> 8) + 1, fillsgn(n, int2bytes(i >> 8) + i2b(i) ') = (mklist(i2b(~1), n - 1 - # int2bytes(i >> 8)) + int2bytes(i >> 8)) + i2b(i) ' |
0 ≤ b2i((int2bytes(i >> 8) + i2b(i) ').first), # int2bytes(i >> 8) < n, # int2bytes(i >> 8) + 1 < n, i < ~128, i >> 8 < 0, i < 0 ⊦ fillsgn(n, int2bytes(i >> 8) + i2b(i) ') = (mklist(i2b(~1), n - 1 - # int2bytes(i >> 8)) + int2bytes(i >> 8)) + i2b(i) ', n = # int2bytes(i >> 8) + 1
Used simplifier rules: int2bytes-empty: ⊦ int2bytes(i) ≠ [];% ⊦ i < 0 ∧ 0 ≤ j → i < j;% ⊦ i < j ∧ j ≤ j0 → i < j0; (forward)% ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward)% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ ¬ bytes + bytes0 ≠ [] ↔ bytes = [] ∧ bytes0 = [];