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