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