| bits2 = boolvar1 + bits0, ∀ bits, bits1. # bits1 < #(bits3 + boolvar0 ') → true → bits ≠ [] ∧ bits1 ≠ [] → bits2int(bitsor(sgn(bits), bits1)) = bits2int(bitsor(bits, bits1)) ⊦ bits2int(bitsor(sgn(bits2 + boolvar '), bits3 + boolvar0 ')) = bits2int(bitsor(bits2, bits3) + (boolvar ∨ boolvar0)'), bits2 = [], bits3 = [], (¬ boolvar1) ∈ bits0 |
∀ bits, bits1. # bits1 < #(bits3 + boolvar0 ') → true → bits ≠ [] ∧ bits1 ≠ [] → bits2int(bitsor(sgn(bits), bits1)) = bits2int(bitsor(bits, bits1)) ⊦ bits3 = [], bits2int(bitsor(sgn(boolvar1 ' + boolvar '), bits3 + boolvar0 ')) = bits2int(bitsor(boolvar1 ' + bits0, bits3) + (boolvar ∨ boolvar0)'), (¬ boolvar1) ∈ bits0
Used simplifier rules: ⊦ boolvar ' + bits ≠ [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;%⊦ ¬ (¬ boolvar) ∈ bits → sgn(boolvar ' + bits + bits0) = sgn(boolvar ' + bits0);% ⊦ boolvar + bits = boolvar ' + bits;