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