| # int2bits((i - 1) / 2) + 1 = # int2bits(j), i0 + 2 ^ n→i(# int2bits(j)) ≤ 0, j ≤ 0, bits2int(bitsand(int2bits((i - 1) / 2) + (~1 = i % 2)', int2bits(j))) < i0, i < 0, ∀ i0, j, i1. i→n(i1) < i→n(i) → # int2bits(i1) = # int2bits(j) ∧ bits2int(bitsand(int2bits(i1), int2bits(j))) < i0 ∧ i1 ≤ 0 ∧ j ≤ 0 ∧ i0 + 2 ^ n→i(# int2bits(j)) ≤ 0 → false ⊦ i = ~1 |
i = i2 + 1, # int2bits(i2 / 2) + 1 = # int2bits(j), i0 + 2 ^ n→i(# int2bits(j)) ≤ 0, j ≤ 0, bits2int(bitsand(int2bits(i2 / 2) + (~1 = i % 2)', int2bits(j))) < i0, i < 0, ∀ i0, j, i1. i→n(i1) < i→n(i) → # int2bits(i1) = # int2bits(j) ∧ bits2int(bitsand(int2bits(i1), int2bits(j))) < i0 ∧ i1 ≤ 0 ∧ j ≤ 0 ∧ i0 + 2 ^ n→i(# int2bits(j)) ≤ 0 → false ⊦ i = ~1
Used simplifier rules: ⊦ i0 = i - j ↔ i = i0 + j; (elim) Used terms: i, 1, i2