| # bits1 = 2 + # bits, # bits1 ≤ # bits2 + # bitsand(false ' + true ' + bits, bits1), # bits3 ≤ m, bits3.first ⊦ m = 0, bits3 = [], mklist(false, m) + bitsand(bits1, false ' + true ' + bits) = lastn(2 + # bits + m, bits2 + mklist(false, m) + bitsand(false ' + true ' + bits, bits1)), bits1 = [], bits2 + mklist(false, m) = [], bits3 + bits1 = [] |
⊦ n ≤ # bits → lastn(n, bits0 + bits) = lastn(n, 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 ⊦ m = 0, bits3 = [], mklist(false, m) + bitsand(bits1, false ' + true ' + bits) = lastn(2 + # bits + m, bits2 + 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 ⊦ 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 = []
Used terms: mklist(false, m) + bitsand(false ' + true ' + bits, bits1), bits2, 2 + # bits + m