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