| 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 = [] |
n = # fillsgn(n, bits), true ∈ bits, # bits < n ⊦ bits = [], bits0 = [], lastn(n, fillsgn(n, bits0)) = lastn(n, fillsgn(n, bitsand(bits, bits0))), false ∈ bits
Used simplifier rules: and-onel-01: ⊦ bits ≠ [] → bitsand(true ', bits) = bits;% ⊦ ¬ false ∈ bits ∧ bits ≠ [] → sgn(bits) = true ';