| false ∈ int2bits(j).rest ↔ ¬(∃ i. j = 2 ^ i - 1), int2bits(j) = boolvar ' + bits, boolvar ∈ int2bits(j) ⊦ false ∈ bits, ∃ i. 2 ^ i = j + 1 |
int2bits(j) = boolvar ' + bits, false ∈ int2bits(j).rest ↔ (∀ i. 2 ^ i ≠ j + 1), boolvar ∈ int2bits(j) ⊦ false ∈ bits, ∃ i. 2 ^ i = j + 1
Used simplifier rules: ⊦ i - j = i0 ↔ i = i0 + j;