| bits2int(bitsor(sgn(boolvar1 ' + bits0), bits3)) = bits2int(bitsor(boolvar1 ' + bits0, bits3)), (¬ boolvar1) ∈ bits0, bitsor(boolvar1 ' + bits0, bits3).first, boolvar ∨ boolvar0, ∀ bits, bits1. # bits1 < #(bits3 + boolvar0 ') → true → bits ≠ [] ∧ bits1 ≠ [] → bits2int(bitsor(sgn(bits), bits1)) = bits2int(bitsor(bits, bits1)) ⊦ bitsor(boolvar1 ' + bits0, bits3) = [], bits3 = [], bits2int(bitsor(sgn(boolvar1 ' + bits0), bits3) + true ') = bits2int(bitsor(boolvar1 ' + bits0, bits3) + true '), ¬ boolvar ∧ ¬ boolvar0 |
⊦ boolvar ∧ bits.first ∧ false ∈ bits → bits2int(bits + boolvar ') = bits2int(bits) * 2 + 1
¬(true ∧ bitsor(boolvar1 ' + bits0, bits3).first ∧ false ∈ bitsor(boolvar1 ' + bits0, bits3)), bits2int(bitsor(sgn(boolvar1 ' + bits0), bits3)) = bits2int(bitsor(boolvar1 ' + bits0, bits3)), (¬ boolvar1) ∈ bits0, bitsor(boolvar1 ' + bits0, bits3).first, boolvar ∨ boolvar0, ∀ bits, bits1. # bits1 < #(bits3 + boolvar0 ') → true → bits ≠ [] ∧ bits1 ≠ [] → bits2int(bitsor(sgn(bits), bits1)) = bits2int(bitsor(bits, bits1)) ⊦ bitsor(boolvar1 ' + bits0, bits3) = [], bits3 = [], bits2int(bitsor(sgn(boolvar1 ' + bits0), bits3) + true ') = bits2int(bitsor(boolvar1 ' + bits0, bits3) + true '), ¬ boolvar ∧ ¬ boolvar0
true ∧ bitsor(boolvar1 ' + bits0, bits3).first ∧ false ∈ bitsor(boolvar1 ' + bits0, bits3), bits2int(bitsor(sgn(boolvar1 ' + bits0), bits3)) = bits2int(bitsor(boolvar1 ' + bits0, bits3)), (¬ boolvar1) ∈ bits0, bitsor(boolvar1 ' + bits0, bits3).first, boolvar ∨ boolvar0, ∀ bits, bits1. # bits1 < #(bits3 + boolvar0 ') → true → bits ≠ [] ∧ bits1 ≠ [] → bits2int(bitsor(sgn(bits), bits1)) = bits2int(bitsor(bits, bits1)) ⊦ bitsor(boolvar1 ' + bits0, bits3) = [], bits3 = [], bits2int(bitsor(sgn(boolvar1 ' + bits0), bits3) + true ') = bits2int(bitsor(boolvar1 ' + bits0, bits3)) * 2 + 1, ¬ boolvar ∧ ¬ boolvar0
Used terms: true, bitsor(boolvar1 ' + bits0, bits3)