| bitsinvert(sgn(boolvar0 ' + bits)) = sgn((¬ boolvar0)' + bitsinvert(bits)) ⊦ boolvar0 ↔ boolvar, bitsinvert(sgn(boolvar ' + boolvar0 ' + bits)) = sgn((¬ boolvar)' + (¬ boolvar0)' + bitsinvert(bits)) |
Used simplifier rules: sgn-base-02: ⊦ sgn(false ' + true ' + bits) = false ' + true ' + bits;%invert-zero: ⊦ bitsinvert(false ' + bits) = true + bitsinvert(bits);%invert-one: ⊦ bitsinvert(true ' + bits) = false + bitsinvert(bits);%sgn-base-01: ⊦ sgn(true ' + false ' + bits) = true ' + false ' + bits;%sgn-base-01: ⊦ sgn(true ' + false ' + bits) = true ' + false ' + bits;%invert-one: ⊦ bitsinvert(true ' + bits) = false + bitsinvert(bits);%invert-zero: ⊦ bitsinvert(false ' + bits) = true + bitsinvert(bits);%sgn-base-02: ⊦ sgn(false ' + true ' + bits) = false ' + true ' + bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ boolvar + bits = boolvar ' + bits;% ⊦ bits + bits0 = bits + bits1 ↔ bits0 = bits1;