| ¬ # mklist(false, i→n(j)) ≤ # int2bits(i), # int2bits(i) < n, 0 ≤ i ⊦ bits2int(firstn(n, mklist(false, i→n(j)) + mklist(false, n - # int2bits(i)) + int2bits(i))) = bits2int(firstn(# int2bits(i), mklist(false, i→n(j)) + int2bits(i))) |
# 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)) + int2bits(i))), j = 0
Used simplifier rules: ⊦ i→n(i) = 0 ↔ i = 0;% ⊦ m < n → n ≠ 0; (forward)% ⊦ ¬ m ≤ n ↔ n < m;% ⊦ # mklist(boolvar, n) = n;