| ¬(# bits % 8 = 0 ∧ mklist(false, n * 8 - # bits) ≠ [] ∧ bits ≠ []), # bits ≤ n * 8, # bits2bytes(bits) < n, # bits ≤ 8 * (n - 1) ⊦ bits = [], mklist(i2b(0), n - # bits2bytes(bits)) + bits2bytes(bits) = bits2bytes(mklist(false, n * 8 - # bits) + bits), bits.first |
# bits ≤ n * 8, # bits2bytes(bits) < n, # bits ≤ 8 * (n - 1) ⊦ bits = [], mklist(i2b(0), n - # bits2bytes(bits)) + bits2bytes(bits) = bits2bytes(mklist(false, n * 8 - # bits) + bits), bits.first, # bits % 8 = 0 ∧ n * 8 ≠ # bits
Used simplifier rules: ⊦ m ≤ n → (n - m = 0 ↔ n = m);% ⊦ mklist(boolvar, m) = [] ↔ m = 0;