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