| uint2bits(~ i) = false ' + (false ' + bitsinvert(bits)) + true ', bitsinvert(uint2bits(~ i)) +1 = true ' + (true ' + bits) + true ', false ∈ uint2bits(~ i), i < ~1, i < 0, false ∈ bits ⊦ false ∈ sgn(true ' + bits).rest |
⊦ 0 ≤ i → uint2bits(i) ≠ false ' + false ' + bits
Used simplifier rules: ⊦ i ≤ ~ j ↔ i + j ≤ 0;% ⊦ i + 0 = i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ i < 0 ∧ 0 ≤ j → i ≤ j;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1; Used terms: bitsinvert(bits) + true ', ~ i