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