| bytes2bits(bytes).first ⊦ bytes2bits(bytes) + bytes2bits(bytes0) = [], bytes0 = [], bytes = [], bits2uint((bitsinvert(bytes2bits(bytes)) + bitsinvert(bytes2bits(bytes0)))+1) + bits2int(bytes2bits(bytes)) * 256 ^ n→i(# bytes0) + band(bits2int(bytes2bits(bytes0)), 256 ^ n→i(# bytes0) - 1) = 0 |
⊦ bits.first ∧ bits ≠ [] → bits2int(bits) = ~ bits2uint(bitsinvert(bits) +1)
bytes2bits(bytes).first ∧ bytes2bits(bytes) ≠ [], bytes2bits(bytes).first ⊦ bytes2bits(bytes) + bytes2bits(bytes0) = [], bytes0 = [], bytes = [], bits2uint((bitsinvert(bytes2bits(bytes)) + bitsinvert(bytes2bits(bytes0)))+1) + ~ bits2uint(bitsinvert(bytes2bits(bytes)) +1) * 256 ^ n→i(# bytes0) + band(bits2int(bytes2bits(bytes0)), 256 ^ n→i(# bytes0) - 1) = 0
Used simplifier rules: bytes2bits-empty-01: ⊦ bytes2bits(bytes) = [] ↔ bytes = []; Used terms: bytes2bits(bytes)