| bits = boolvar + bits0, # bits < # bits1 ⊦ bits1 = [], sgn(bitsand(lastn(# bits1, mklist(boolvar, # bits1 - # bits) + bits), false ' + bits1)) = sgn(bitsand(bits, false ' + bits1)), bits = [] |
1 + # bits0 < # bits1 ⊦ bits1 = [], sgn(bitsand(lastn(# bits1, mklist(boolvar, # bits1 - 1 + # bits0) + boolvar ' + bits0), false ' + bits1)) = sgn(bitsand(boolvar ' + bits0, false ' + bits1))
Used simplifier rules: ⊦ boolvar ' + bits ≠ [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ # boolvar ' = 0 +1;% ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ boolvar + bits = boolvar ' + bits;