| bitsinvert(bytes2bits(bytes)) + bitsinvert(byte2bits(by)) ≠ [], (bytes2bits(bytes) + byte2bits(by)).first ⊦ bytes2bits(bytes) + byte2bits(by) = [], bytes = [], (bits2uint(bitsinvert(bytes2bits(bytes)) + bitsinvert(byte2bits(by))) + 1) + bits2int(bytes2bits(bytes)) * 256 + band(b2i(by), 255) = 0 |
(bytes2bits(bytes) + byte2bits(by)).first ⊦ bitsinvert(bytes2bits(bytes)) + bitsinvert(byte2bits(by)) = [], bytes2bits(bytes) + byte2bits(by) = [], bytes = [], ~1 = bits2uint(bitsinvert(bytes2bits(bytes)) + bitsinvert(byte2bits(by))) + bits2int(bytes2bits(bytes)) * 256 + band(b2i(by), 255)
Used simplifier rules: ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ (* j) = i0 + (* j0) ↔ j - j0 = i0;