| uint2bits(~ i) = false ' + true ' + bits, true ∈ bits, i < 0, true ∈ bitsinvert(bits) +1 ⊦ bits2uint(uint2bits(~ i)) + i = 0 |
⊦ 0 ≤ i → bits2uint(uint2bits(i)) = i
Used simplifier rules: ⊦ ~ i + i = 0;% ⊦ i ≤ ~ j ↔ i + j ≤ 0;% ⊦ i + 0 = i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ i < j → ¬ j < i; Used terms: ~ i