| # int2bits(j) ≤ i→n(i), 0 ≤ j, j < 2 ^ (i - 1), 0 < i ⊦ bits2int(mklist(false, i→n(i) - # int2bits(j)) + int2bits(j)) = j |
⊦ bits ≠ [] ∧ (bits.first ↔ boolvar) → bits2int(mklist(boolvar, n) + bits) = bits2int(bits)
Used simplifier rules: ⊦ i ≤ j → (¬ ¬ j < i ↔ false);% ⊦ int2bits(j).first ↔ j < 0;% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j;% ⊦ bits2int(int2bits(i)) = i;% ⊦ int2bits(j) ≠ []; Used terms: int2bits(j), i→n(i) - # int2bits(j), false