| (fillsgn(8, sgn(true ' + firstn(# bits0 % 8, bits0))) + bytes2bits(bits2bytes(restn(# bits0 % 8, bits0)))).first ∧ fillsgn(8, sgn(true ' + firstn(# bits0 % 8, bits0))) + bytes2bits(bits2bytes(restn(# bits0 % 8, bits0))) ≠ [], ~128 ≤ bits2int(true ' + firstn(# bits0 % 8, bits0)), bits2int(true ' + firstn(# bits0 % 8, bits0)) ≤ 127, 7 < # bits0, # bits0 % 8 ≤ 7, # bits0 % 8 < # bits0, 0 ≤ ~ bits2uint(bitsinvert(fillsgn(8, sgn(true ' + firstn(# bits0 % 8, bits0))) + bytes2bits(bits2bytes(restn(# bits0 % 8, bits0)))) +1) ⊦ bits0 = [], (# bits0 + 1) % 8 = 0 |
bits2uint((bitsinvert(fillsgn(8, sgn(true ' + firstn(# bits0 % 8, bits0)))) + bitsinvert(bytes2bits(bits2bytes(restn(# bits0 % 8, bits0)))))+1) = 0, (fillsgn(8, sgn(true ' + firstn(# bits0 % 8, bits0))) + bytes2bits(bits2bytes(restn(# bits0 % 8, bits0)))).first, ~128 ≤ bits2int(true ' + firstn(# bits0 % 8, bits0)), bits2int(true ' + firstn(# bits0 % 8, bits0)) ≤ 127, 7 < # bits0, # bits0 % 8 ≤ 7, # bits0 % 8 < # bits0 ⊦ bits0 = [], (# bits0 + 1) % 8 = 0, fillsgn(8, sgn(true ' + firstn(# bits0 % 8, bits0))) + bytes2bits(bits2bytes(restn(# bits0 % 8, bits0))) = []
Used simplifier rules: ⊦ bits2uint(bits) ≤ 0 ↔ bits2uint(bits) = 0;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + 0 = i;% ⊦ i ≤ ~ j ↔ i + j ≤ 0;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bitsinvert(bits + bits0) = bitsinvert(bits) + bitsinvert(bits0);