| # bits0 ≤ # bits1, bits0.first ⊦ bits2 = [], bits2 + bits1 = [], lastn(# bits1, fillsgn(# bits1, bitsand(bits1, bits0))) = lastn(# bits1, fillsgn(# bits1, bits2 + bitsand(bits1, bits0))), bits0 = [] |
bits0 = boolvar + bits, # bits0 ≤ # bits1, boolvar ⊦ bits2 = [], bits2 + bits1 = [], lastn(# bits1, fillsgn(# bits1, bitsand(bits1, bits0))) = lastn(# bits1, fillsgn(# bits1, bits2 + bitsand(bits1, bits0))), bits0 = []
Used simplifier rules: ⊦ bits ≠ [] → ( (boolvar ↔ bits.first) ∧ bits0 = bits.rest ↔ bits = boolvar + bits0); (elim) Used terms: bits0, boolvar, bits