| # int2bits(i) < n, 0 ≤ i ⊦ bits2int(firstn(n, mklist(false, i→n(j)) + mklist(false, n - # int2bits(i)) + int2bits(i))) = bits2int(firstn(# int2bits(i), mklist(false, i→n(j)) + int2bits(i))) |
⊦ # bits ≤ n → firstn(n, bits + bits0) = bits + firstn(n - # bits, bits0)
¬ # mklist(false, i→n(j)) ≤ # int2bits(i), # int2bits(i) < n, 0 ≤ i ⊦ bits2int(firstn(n, mklist(false, i→n(j)) + mklist(false, n - # int2bits(i)) + int2bits(i))) = bits2int(firstn(# int2bits(i), mklist(false, i→n(j)) + int2bits(i)))
# mklist(false, i→n(j)) ≤ # int2bits(i), # int2bits(i) < n, 0 ≤ i ⊦ bits2int(firstn(n, mklist(false, i→n(j)) + mklist(false, n - # int2bits(i)) + int2bits(i))) = bits2int(mklist(false, i→n(j)) + firstn(# int2bits(i) - # mklist(false, i→n(j)), int2bits(i)))
Used terms: int2bits(i), mklist(false, i→n(j)), # int2bits(i)