| ~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)))) ⊦ (fillsgn(8, sgn(true ' + firstn(# bits0 % 8, bits0))) + bytes2bits(bits2bytes(restn(# bits0 % 8, bits0)))).first, bits0 = [], (# bits0 + 1) % 8 = 0 |
⊦ bits ≠ [] → ((bits + bits0).first ↔ bits.first)
fillsgn(8, sgn(true ' + firstn(# 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)))) ⊦ fillsgn(8, sgn(true ' + firstn(# bits0 % 8, bits0))).first, bits0 = [], (# bits0 + 1) % 8 = 0
Used simplifier rules: ⊦ fillsgn(n, bits) = [] ↔ bits = [] ∧ n = 0;% ⊦ sgn(boolvar ' + bits) ≠ [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1; Used terms: bytes2bits(bits2bytes(restn(# bits0 % 8, bits0))), fillsgn(8, sgn(true ' + firstn(# bits0 % 8, bits0)))