| sgn(boolvar ' + bits0) = boolvar0 ' + boolvar0 ' + bits1, ∀ boolvar, bits1. sgn(bits0) ≠ boolvar ' + boolvar ' + bits1 ⊦ ¬ boolvar0 ∈ bits0 ∧ ¬(boolvar0 ↔ boolvar) |
bits ≠ [], bits.first ↔ boolvar ⊦ sgn(boolvar ' + bits) = sgn(bits)
¬(bits0 ≠ [] ∧ (bits0.first ↔ boolvar)), sgn(boolvar ' + bits0) = boolvar0 ' + boolvar0 ' + bits1, ∀ boolvar, bits1. sgn(bits0) ≠ boolvar ' + boolvar ' + bits1 ⊦ ¬ boolvar0 ∈ bits0 ∧ ¬(boolvar0 ↔ boolvar)
bits0 ≠ [] ∧ (bits0.first ↔ boolvar), sgn(bits0) = boolvar0 ' + boolvar0 ' + bits1, ∀ boolvar, bits1. sgn(bits0) ≠ boolvar ' + boolvar ' + bits1 ⊦ ¬ boolvar0 ∈ bits0 ∧ ¬(boolvar0 ↔ boolvar)
Used terms: bits0, boolvar