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