| # mklist(false, # bits2) < n, 1 + # bits2 < n, ∀ n, bits, bits1. # bits1 < #(false + bits2) → true → bits = [] ∨ bits1 = [] ∨ fillsgn(n, bitsand(fillsgn(n, bits), bits1)) = fillsgn(n, bitsand(bits, bits1)) ⊦ mklist(false, n - # mklist(false, # bits2)) + mklist(false, # bits2) = mklist(false, n) |
1 + # bits2 < n, # bits2 < n, ∀ n, bits, bits1. # bits1 < #(false + bits2) → true → bits = [] ∨ bits1 = [] ∨ fillsgn(n, bitsand(fillsgn(n, bits), bits1)) = fillsgn(n, bitsand(bits, bits1)) ⊦ mklist(false, n - # bits2) + mklist(false, # bits2) = mklist(false, n)
Used simplifier rules: ⊦ # mklist(boolvar, n) = n;