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