| bitsinvert(bits0).first ↔ ¬ boolvar, # sgn(bitsinvert(bits0)) = # sgn(bits0) ⊦ # sgn(bits0) = # sgn(boolvar ' + bits0), bits0 = [] |
bitsinvert(bits0) = boolvar0 + bits ∧ bitsinvert(bits0) ≠ [], boolvar0 ↔ ¬ boolvar, # sgn(bitsinvert(bits0)) = # sgn(bits0) ⊦ # sgn(bits0) = # sgn(boolvar ' + bits0), bits0 = []
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