| ⊦ bits0 = [], ~1 = 2 * bits2uint(bitsinvert(bits1)) + bits2int(bits0 + true ') ↔ ~1 = bits2int(bits0) + bits2uint(bitsinvert(bits1)) |
⊦ boolvar ∧ bits.first ∧ bits ≠ [] → bits2int(bits + boolvar ') = ~(bits2uint(bitsinvert(bits.rest)) * 2 + 1)
¬(true ∧ bits0.first ∧ bits0 ≠ []) ⊦ bits0 = [], ~1 = 2 * bits2uint(bitsinvert(bits1)) + bits2int(bits0 + true ') ↔ ~1 = bits2int(bits0) + bits2uint(bitsinvert(bits1))
true ∧ bits0.first ∧ bits0 ≠ [] ⊦ bits0 = [], ~1 = 2 * bits2uint(bitsinvert(bits1)) + ~(bits2uint(bitsinvert(bits0.rest)) * 2 + 1) ↔ ~1 = bits2int(bits0) + bits2uint(bitsinvert(bits1))
Used terms: true, bits0