| ¬ (boolvar0 ' + bits1).first ∧ boolvar0 ' + bits1 ≠ [] ⊦ bits0 = [], bits2int((boolvar0 ' + bits1) + boolvar ') = bits2int(bits0 + boolvar ') ↔ bits2uint((boolvar0 ' + bits1).rest) = bits2int(bits0), boolvar ∧ ¬ boolvar0, boolvar0 ∧ boolvar |
⊦ bits0 = [], bits2uint(bits1) * 2 = bits2int(bits0 + false ') ↔ bits2uint(bits1) = bits2int(bits0)
Used simplifier rules: bits2int-pos: ⊦ bits2int(false ' + bits) = bits2uint(bits);%bits2uint-zero: ⊦ bits2uint(bits + false ') = bits2uint(bits) * 2;% ⊦ (boolvar ' + bits).first ↔ boolvar;% ⊦ boolvar ' + bits ≠ [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ (boolvar ' + bits).rest = bits;