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