| # bits1 = 2 + # bits, # bits1 ≤ # bits2 + # bitsand(false ' + true ' + bits, bits1), # bits3 ≤ m, bits3.first, # bits1 ≤ # bitsand(false ' + true ' + bits, bits1) ⊦ m = 0, bits3 = [], mklist(false, m) + bitsand(bits1, false ' + true ' + bits) = lastn(2 + # bits + m, mklist(false, m) + bitsand(false ' + true ' + bits, bits1)), bits1 = [], bits2 + mklist(false, m) = [], bits3 + bits1 = [] |
⊦ n = # bits → lastn(n, bits) = bits
2 + # bits + m ≠ #(mklist(false, m) + bitsand(false ' + true ' + bits, bits1)), # bits1 = 2 + # bits, # bits1 ≤ # bits2 + # bitsand(false ' + true ' + bits, bits1), # bits3 ≤ m, bits3.first, # bits1 ≤ # bitsand(false ' + true ' + bits, bits1) ⊦ m = 0, bits3 = [], mklist(false, m) + bitsand(bits1, false ' + true ' + bits) = lastn(2 + # bits + m, mklist(false, m) + bitsand(false ' + true ' + bits, bits1)), bits1 = [], bits2 + mklist(false, m) = [], bits3 + bits1 = []
2 + # bits + m = #(mklist(false, m) + bitsand(false ' + true ' + bits, bits1)), # bits1 = 2 + # bits, # bits1 ≤ # bits2 + # bitsand(false ' + true ' + bits, bits1), # bits3 ≤ m, bits3.first, # bits1 ≤ # bitsand(false ' + true ' + bits, bits1) ⊦ m = 0, bits3 = [], mklist(false, m) + bitsand(bits1, false ' + true ' + bits) = mklist(false, m) + bitsand(false ' + true ' + bits, bits1), bits1 = [], bits2 + mklist(false, m) = [], bits3 + bits1 = []
Used terms: mklist(false, m) + bitsand(false ' + true ' + bits, bits1), 2 + # bits + m