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