| # bits1 ≤ # bits0, # bits1 ≤ # bits0 + n0 ⊦ # bits1 = # bits0, n0 = 0, sgn(bitsand(mklist(boolvar, n0) + boolvar ' + bits0, false ' + bits1)) = sgn(bitsand(boolvar ' + bits0, false ' + bits1)) |
# bits1 < # bits0, # bits1 ≤ # bits0 + n0 ⊦ sgn(bitsand(mklist(boolvar, n0) + boolvar ' + bits0, false ' + bits1)) = sgn(bitsand(boolvar ' + bits0, false ' + bits1)), n0 = 0, # bits1 = # bits0, bits0 = []
Used simplifier rules: ⊦ # bits = 0 ↔ bits = [];% ⊦ m < n → n ≠ 0; (forward)% ⊦ m ≠ n → (m ≤ n ↔ m < n);