| ¬ # int2bits(i) ≤ # mklist(true, i→n(j)), 0 ≤ 2 ^ (abs(j) - 1) + i, i < 0 ⊦ bits2int(firstn(# int2bits(i), mklist(true, i→n(j)) + int2bits(i))) = ~1 |
i→n(j) < # int2bits(i), i < 0, 0 ≤ 2 ^ (abs(j) - 1) + i ⊦ bits2int(firstn(# int2bits(i), mklist(true, i→n(j)) + int2bits(i))) = ~1
Used simplifier rules: ⊦ int2bits(j) ≠ [];% ⊦ # bits = 0 ↔ bits = [];% ⊦ m < n → n ≠ 0; (forward)% ⊦ ¬ m ≤ n ↔ n < m;% ⊦ # mklist(boolvar, n) = n;