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