| ⊦ j = 0, n = 0, bits2int(sublist(0, # fillsgn(n, int2bits(~1)), mklist(false, i→n(j)) + fillsgn(n, int2bits(~1)))) = bits2int(sublist(0, # int2bits(2 ^ n→i(n) - 1), mklist(int2bits(2 ^ n→i(n) - 1).first, i→n(j)) + int2bits(2 ^ n→i(n) - 1))) |
⊦ j = 0, n = 0, bits2int(sublist(0, # fillsgn(n, int2bits(~1)), mklist(false, i→n(j)) + fillsgn(n, int2bits(~1)))) = bits2int(sublist(0, 1 + n, mklist(false, i→n(j)) + false ' + mklist(true, n)))
Used simplifier rules: ⊦ (boolvar ' + bits).first ↔ boolvar;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ # mklist(boolvar, n) = n;% ⊦ # boolvar ' = 0 +1;% ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ i→n(n→i(n)) = n;%0 ≤ i ⊦ int2bits(2 ^ i - 1) = false ' + mklist(true, i→n(i));% ⊦ 0 ≤ n→i(n);