| bitsinvert(int2bits(j)) ≠ [] ⊦ j < 0 → bits2uint(bitsinvert(int2bits(j)) +1) = ~ j |
⊦ bits ≠ [] ∧ bits.first → bits2uint(bitsinvert(bits) +1) = ~ bits2int(bits)
Used simplifier rules: int2bits-not-empty: ⊦ int2bits(j) ≠ [];%int2bits-first-01: ⊦ j < 0 → int2bits(j).first;%int2int-inj: ⊦ bits2int(int2bits(i)) = i;% ⊦ ~ i = ~ j ↔ i = j;% ⊦ ~ i = j ↔ i + j = 0;% ⊦ bitsinvert(bits) = [] ↔ bits = []; Used terms: int2bits(j)