| ¬ boolvar, ∀ boolvar. bitsinvert(mklist(boolvar, m)) = mklist(¬ boolvar, m) ⊦ bitsinvert(boolvar ' + mklist(boolvar, m)) = (¬ boolvar)' + mklist(¬ boolvar, m) |
∀ boolvar. bitsinvert(mklist(boolvar, m)) = mklist(¬ boolvar, m) ⊦ bitsinvert(mklist(false, m)) = mklist(true, m)
Used simplifier rules: invert-zero: ⊦ bitsinvert(false ' + bits) = true + bitsinvert(bits);% ⊦ bits + bits0 = bits + bits1 ↔ bits0 = bits1;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ boolvar + bits = boolvar ' + bits;