| # bits2bytes(bits) < n ∧ bytes2int(bits2bytes(bits)) < 0, # bits ≤ 8 * (n - 1) ⊦ bits = [], n = 0, mklist(i2b(~1), n - # bits2bytes(bits)) + bits2bytes(bits) = bits2bytes(fillsgn(n * 8, bits)) |
bits.first, # bits2bytes(bits) < n, # bits ≤ 8 * (n - 1) ⊦ mklist(i2b(~1), n - # bits2bytes(bits)) + bits2bytes(bits) = bits2bytes(fillsgn(n * 8, bits)), bits = []
Used simplifier rules: bits2int-neg: ⊦ bits ≠ [] → (bytes2int(bits2bytes(bits)) < 0 ↔ bits.first);% ⊦ m < n → n ≠ 0; (forward)% ⊦ m < n → n ≠ 0;