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