| int2bits(i % 2).butlast = [], i < 0, i < ~1 ⊦ int2bits((i - 1) / 2) + int2bits(i % 2) = [], i→n(j) + # int2bits(i % 2) = 0, bits2int(firstn(# int2bits((i - 1) / 2) + 1, mklist(true, i→n(j)) + int2bits((i - 1) / 2) + int2bits(i % 2).butlast)) = bits2int(firstn(# int2bits((i - 1) / 2), mklist(true, i→n(abs(j) - 1)) + int2bits((i - 1) / 2))), j = 0 |
int2bits(i % 2).butlast = [], i < ~1, i < 0 ⊦ i→n(j) + # int2bits(i % 2) = 0, int2bits((i - 1) / 2) + int2bits(i % 2) = [], j = 0, bits2int(firstn(# int2bits((i - 1) / 2) + 1, mklist(true, i→n(j)) + int2bits((i - 1) / 2))) = bits2int(firstn(# int2bits((i - 1) / 2), mklist(true, i→n(abs(j) - 1)) + int2bits((i - 1) / 2)))
Used simplifier rules: ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + [] = bits;