| (bytes2bits(bytes) + byte2bits(by)).first ⊦ bytes = [], bits2int(bytes2bits(bytes) + byte2bits(by)) = bits2int(bytes2bits(bytes)) * 256 + band(b2i(by), 255) |
⊦ bits.first ∧ bits ≠ [] → bits2int(bits) = ~ bits2uint(bitsinvert(bits) +1)
(bytes2bits(bytes) + byte2bits(by)).first ∧ bytes2bits(bytes) + byte2bits(by) ≠ [], (bytes2bits(bytes) + byte2bits(by)).first ⊦ bytes = [], ~ bits2uint(bitsinvert(bytes2bits(bytes) + byte2bits(by)) +1) = bits2int(bytes2bits(bytes)) * 256 + band(b2i(by), 255)
Used simplifier rules: bytes2bits-empty-01: ⊦ bytes2bits(bytes) = [] ↔ bytes = [];% ⊦ ¬ bits + bits0 ≠ [] ↔ bits = [] ∧ bits0 = [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1; Used terms: bytes2bits(bytes) + byte2bits(by)