| ⊦ i < 0 ∧ lastn(m, int2bits(i)).first ∧ m ≤ # int2bits(i) ∧ m ≠ 0 ∧ ~ i ≠ 2 ^ n→i(m) → bits2int(lastn(m, int2bits(i))) = i % 2 ^ n→i(m) |
i < 0, lastn(m, int2bits(i)).first, m ≤ # int2bits(i) ⊦ m = 0, bits2int(lastn(m, int2bits(i))) = i % 2 ^ n→i(m), i + 2 ^ n→i(m) = 0
Used simplifier rules: ⊦ ~ i = j ↔ i + j = 0;