| bits0 = boolvar0 + bits, 1 + # bits0 < # sgn(boolvar ' + bits0), # sgn(bits0) ≤ # bits0 ⊦ boolvar0 ↔ boolvar, bits0 = [] |
# sgn(boolvar0 ' + bits) ≤ 1 + # bits, 2 + # bits < # sgn(boolvar ' + boolvar0 ' + bits) ⊦ boolvar0 ↔ boolvar
Used simplifier rules: sgn-not-empty-01: ⊦ sgn(boolvar ' + bits) ≠ [];% ⊦ # bits = 0 ↔ bits = [];% ⊦ m < n → n ≠ 0; (forward)% ⊦ # boolvar ' = 0 +1;% ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ boolvar ' + bits ≠ [];% ⊦ boolvar + bits = boolvar ' + bits;