| ~128 ≤ bits2int(true ' + firstn(# bits0 % 8, bits0)), bits2int(true ' + firstn(# bits0 % 8, bits0)) ≤ 127, 7 < # bits0, # bits0 % 8 ≤ 7, # bits0 % 8 < # bits0, 0 ≤ bits2int(fillsgn(8, sgn(true ' + firstn(# bits0 % 8, bits0))) + bytes2bits(bits2bytes(restn(# bits0 % 8, bits0)))) ⊦ bits0 = [], (# bits0 + 1) % 8 = 0 |
⊦ bits.first ∧ bits ≠ [] → bits2int(bits) = ~ bits2uint(bitsinvert(bits) +1)
¬ ( (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 ≤ bits2int(fillsgn(8, sgn(true ' + firstn(# bits0 % 8, bits0))) + bytes2bits(bits2bytes(restn(# bits0 % 8, bits0)))) ⊦ bits0 = [], (# bits0 + 1) % 8 = 0
(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
Used terms: fillsgn(8, sgn(true ' + firstn(# bits0 % 8, bits0))) + bytes2bits(bits2bytes(restn(# bits0 % 8, bits0)))