| # sgn(bitsinvert(bits0)) = # sgn(bits0) ⊦ # sgn((¬ boolvar)' + bitsinvert(bits0)) = # sgn(boolvar ' + bits0), bits0 = [], bitsinvert(bits0).first ↔ ¬ boolvar |
bitsinvert(bits0) = boolvar0 + bits ∧ bitsinvert(bits0) ≠ [], # sgn(bitsinvert(bits0)) = # sgn(bits0) ⊦ # sgn((¬ boolvar)' + bitsinvert(bits0)) = # sgn(boolvar ' + bits0), bits0 = [], boolvar0 ↔ ¬ boolvar
Used simplifier rules: inv-empty: ⊦ bitsinvert(bits) = [] ↔ bits = [];%bits ≠ [] ⊦ (boolvar ↔ bits.first) ∧ bits0 = bits.rest ↔ bits = boolvar + bits0; (elim) Used terms: bitsinvert(bits0), boolvar0, bits