| n0 + # bits2 + # bits = # fillsgn(n0 + # bits2 + # bits, mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1)), # bits = 2 + # bits1, n0 + # bits2 + # bits = # fillsgn(n0 + # bits2 + # bits, (mklist(true, n) + mklist(true, # bits2)) + true ' + false ' + bits1), sgn((mklist(true, n) + mklist(true, # bits2)) + true ' + false ' + bits1) = true ' + false ' + bits1, bits2.first, 2 + # bits1 + n < n0 + # bits ⊦ mklist(true, n0) + bits2 + bitsand(bits, true ' + false ' + bits1) = fillsgn(n0 + # bits2 + # bits, mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1)), bits2 = [], bits2 + bitsand(bits, true ' + false ' + bits1) = [], bits = [], bits2 + bits = [], n = 0 |
⊦ # bits ≤ n ∧ bits ≠ [] → fillsgn(n, bits) = mklist(bits.first, n - # bits) + bits
¬ ( #(mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1)) ≤ n0 + # bits2 + # bits ∧ mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1) ≠ []), n0 + # bits2 + # bits = # fillsgn(n0 + # bits2 + # bits, mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1)), # bits = 2 + # bits1, n0 + # bits2 + # bits = # fillsgn(n0 + # bits2 + # bits, (mklist(true, n) + mklist(true, # bits2)) + true ' + false ' + bits1), sgn((mklist(true, n) + mklist(true, # bits2)) + true ' + false ' + bits1) = true ' + false ' + bits1, bits2.first, 2 + # bits1 + n < n0 + # bits ⊦ mklist(true, n0) + bits2 + bitsand(bits, true ' + false ' + bits1) = fillsgn(n0 + # bits2 + # bits, mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1)), bits2 = [], bits2 + bitsand(bits, true ' + false ' + bits1) = [], bits = [], bits2 + bits = [], n = 0
#(mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1)) ≤ n0 + # bits2 + # bits ∧ mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1) ≠ [], n0 + # bits2 + # bits = # ( mklist ((mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1)).first, n0 + # bits2 + # bits - #(mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1))) + mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1)), # bits = 2 + # bits1, n0 + # bits2 + # bits = # fillsgn(n0 + # bits2 + # bits, (mklist(true, n) + mklist(true, # bits2)) + true ' + false ' + bits1), sgn((mklist(true, n) + mklist(true, # bits2)) + true ' + false ' + bits1) = true ' + false ' + bits1, bits2.first, 2 + # bits1 + n < n0 + # bits ⊦ mklist(true, n0) + bits2 + bitsand(bits, true ' + false ' + bits1) = mklist ((mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1)).first, n0 + # bits2 + # bits - #(mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1))) + mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1), bits2 = [], bits2 + bitsand(bits, true ' + false ' + bits1) = [], bits = [], bits2 + bits = [], n = 0
Used terms: mklist(true, n) + bits2 + bitsand(bits, true ' + false ' + bits1), n0 + # bits2 + # bits