| ⊦ i = i >> 0 |
⊦ i >> j = bits2int(sublist(0, # int2bits(i), mklist(int2bits(i).first, i→n(j)) + int2bits(i)))
Used simplifier rules: ⊦ int2bits(j).first ↔ j < 0;% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ mklist(boolvar, 0) = [];% ⊦ [] + bits = bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ sublist(0, # bits, bits) = bits;% ⊦ bits2int(int2bits(i)) = i; Used terms: 0, i