| # int2bits(i) < i→n(j), 0 ≤ i, # int2bits(i) < n ⊦ bits2int(firstn(n, mklist(false, i→n(j)) + mklist(false, n - # int2bits(i)) + int2bits(i))) = bits2int(firstn(# int2bits(i), mklist(false, i→n(j)))), j = 0 |
⊦ m ≤ n → firstn(m, mklist(boolvar, n)) = mklist(boolvar, m)
# int2bits(i) ≤ i→n(j), # int2bits(i) < i→n(j), 0 ≤ i, # int2bits(i) < n ⊦ bits2int(firstn(n, mklist(false, i→n(j)) + mklist(false, n - # int2bits(i)) + int2bits(i))) = bits2int(mklist(false, # int2bits(i))), j = 0
Used simplifier rules: ⊦ ¬ m ≤ n ↔ n < m;% ⊦ m < n → ¬ n < m; Used terms: i→n(j), false, # int2bits(i)