| ⊦ bits ≠ [] ∧ bits.first → bits2uint(bitsinvert(bits)) = ~ bits2int(bits) - 1 |
bits.first ⊦ bits = [], ~1 = bits2int(bits) + bits2uint(bitsinvert(bits))
Used simplifier rules: ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ (* j) = i0 + (* j0) ↔ j - j0 = i0;% ⊦ ~ i = j ↔ i + j = 0;% ⊦ ~ i - j = ~(i + j);