| ⊦ bits2 + bits1 = [], bits0 = [], lastn(# bits1, fillsgn(# bits1, bitsand(sgn(bits1), bits0))) = lastn(# bits1, fillsgn(# bits1, bitsand(bits2 + bits1, bits0))) |
⊦ true ∈ bits ∧ false ∈ bits → (∃ boolvar, n, boolvar0, bits0. bits = mklist(boolvar, n) + (boolvar0 + bits0) ∧ sgn(bits) = boolvar + boolvar0 + bits0 ∧ ¬(boolvar ↔ boolvar0) ∧ n ≠ 0)
true ∈ bits1 ∧ false ∈ bits1 → (∃ boolvar, n, boolvar0, bits0. bits1 = mklist(boolvar, n) + (boolvar0 + bits0) ∧ sgn(bits1) = boolvar + boolvar0 + bits0 ∧ ¬(boolvar ↔ boolvar0) ∧ n ≠ 0) ⊦ bits2 + bits1 = [], bits0 = [], lastn(# bits1, fillsgn(# bits1, bitsand(sgn(bits1), bits0))) = lastn(# bits1, fillsgn(# bits1, bitsand(bits2 + bits1, bits0)))
Used terms: bits1