| sgn(boolvar ' + boolvar2 ' + bits) = boolvar0 ' + boolvar0 ', ∀ boolvar1. sgn(boolvar2 ' + bits) ≠ boolvar1 ' + boolvar1 ' ∨ ¬(boolvar1 ↔ boolvar2) ∧ ¬ boolvar1 ∈ bits ⊦ boolvar2 ↔ boolvar, ¬(boolvar0 ↔ boolvar) ∧ ¬ boolvar0 ∈ bits ∧ ¬(boolvar0 ↔ boolvar2) |
Used simplifier rules: sgn-base-02: ⊦ sgn(false ' + true ' + bits) = false ' + true ' + bits;%sgn-base-01: ⊦ sgn(true ' + false ' + bits) = true ' + false ' + bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;%⊦ boolvar ' + bits = boolvar0 ' + bits0 ↔ (boolvar ↔ boolvar0) ∧ bits = bits0;% ⊦ boolvar ' = boolvar0 ' + bits ↔ (boolvar ↔ boolvar0) ∧ bits = [];