| # int2bits(j) < i→n(i), 1 < i0, 0 < i0, 0 < i, i < i0, i ≤ i0 ⊦ mklist(¬ 0 ≤ j, i→n(i) - # int2bits(j)) + int2bits(j) = [], i = 0, i0 = 0, bits2int(lastn(i→n(i), fillsgn(i→n(i0), int2bits(j)))) = bits2int (lastn (i→n(i0), mklist((mklist(¬ 0 ≤ j, i→n(i) - # int2bits(j)) + int2bits(j)).first, i→n(i0) - i→n(i)) + mklist(¬ 0 ≤ j, i→n(i) - # int2bits(j)) + int2bits(j))) |
⊦ n ≠ 0 → ((mklist(boolvar, n) + bits).first ↔ boolvar)
i→n(i) - # int2bits(j) ≠ 0, # int2bits(j) < i→n(i), 1 < i0, 0 < i0, 0 < i, i < i0, i ≤ i0 ⊦ mklist(¬ 0 ≤ j, i→n(i) - # int2bits(j)) + int2bits(j) = [], i = 0, i0 = 0, bits2int(lastn(i→n(i), fillsgn(i→n(i0), int2bits(j)))) = bits2int(lastn(i→n(i0), mklist(¬ 0 ≤ j, i→n(i0) - i→n(i)) + mklist(¬ 0 ≤ j, i→n(i) - # int2bits(j)) + int2bits(j)))
Used simplifier rules: ⊦ n < m → m - n ≠ 0; Used terms: int2bits(j), i→n(i) - # int2bits(j), ¬ 0 ≤ j