| # int2bits(i) ≠ 0 ∧ mklist(false, i→n(j)) + int2bits(i) ≠ [], i < 0, (mklist(false, i→n(j)) + int2bits(i)).first ⊦ j = 0, bits2int(firstn(# int2bits(i), mklist(false, i→n(j)) + int2bits(i))) = bits2uint(firstn(# int2bits(i), mklist(false, i→n(j)) + int2bits(i))) |
i < 0, (mklist(false, i→n(j)) + int2bits(i)).first ⊦ j = 0, bits2int(firstn(# int2bits(i), mklist(false, i→n(j)) + int2bits(i))) = bits2uint(firstn(# int2bits(i), mklist(false, i→n(j)) + int2bits(i))), mklist(false, i→n(j)) + int2bits(i) = []
Used simplifier rules: ⊦ int2bits(j) ≠ [];% ⊦ # bits = 0 ↔ bits = [];