| boolvar0 ' + bits ≠ [] ∧ ((boolvar0 ' + bits).first ↔ ¬ boolvar), fillsgn(1 + # bits, sgn(boolvar0 ' + bits)) = boolvar0 ' + bits ⊦ boolvar0 ↔ boolvar, fillsgn(2 + # bits, boolvar ' + boolvar0 ' + bits) = boolvar ' + boolvar0 ' + bits |
fillsgn(1 + # bits, sgn(boolvar0 ' + bits)) = boolvar0 ' + bits, boolvar0 → ¬ boolvar ⊦ boolvar0 ↔ boolvar, fillsgn(2 + # bits, boolvar ' + boolvar0 ' + bits) = boolvar ' + boolvar0 ' + bits
Used simplifier rules: ⊦ boolvar ' + bits ≠ [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ (boolvar ' + bits).first ↔ boolvar;