| true ∈ bits ∧ false ∈ bits → (∃ boolvar, n, boolvar0, bits0. bits = mklist(boolvar, n) + (boolvar0 + bits0) ∧ sgn(bits) = boolvar + boolvar0 + bits0 ∧ ¬(boolvar ↔ boolvar0) ∧ n ≠ 0) ⊦ bits = [], bits0 = [], boolvar ∈ bitsor(sgn(bits), bits0) ↔ boolvar ∈ bitsor(bits, bits0) |
true ∈ bits ∧ false ∈ bits → bits = mklist(boolvar0, n) + boolvar1 ' + bits1 ∧ sgn(mklist(boolvar0, n) + boolvar1 ' + bits1) = boolvar0 ' + boolvar1 ' + bits1 ∧ ¬(boolvar0 ↔ boolvar1) ∧ n ≠ 0 ⊦ bits = [], bits0 = [], boolvar ∈ bitsor(sgn(bits), bits0) ↔ boolvar ∈ bitsor(bits, bits0)
Used simplifier rules: ⊦ boolvar + bits = boolvar ' + bits;