| uint2bits(~ i) = false ' + true ', i < ~1, i < 0 ⊦ |
⊦ ¬ false ∈ bits ∧ 0 ≤ i → (uint2bits(i) = boolvar ' + bits ↔ ¬ boolvar ∧ i = 2 ^ n→i(# bits) - 1)
Used simplifier rules: ⊦ # boolvar ' = 0 +1;% ⊦ ~ i = j ↔ i + j = 0;% ⊦ (* j) = i0 + (* j0) ↔ j - j0 = i0;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ i ≤ ~ j ↔ i + j ≤ 0;% ⊦ i + 0 = i;% ⊦ i < 0 ∧ 0 ≤ j → i ≤ j;% ⊦ boolvar ∈ boolvar0 ' ↔ boolvar ↔ boolvar0; Used terms: true ', false, ~ i