| (¬ boolvar1) ∈ bits0, ∀ bits, bits1. # bits1 < #(bits3 + boolvar0 ') → true → bits ≠ [] ∧ bits1 ≠ [] → bits2int(bitsor(sgn(bits), bits1)) = bits2int(bitsor(bits, bits1)) ⊦ bits3 = [], bits2int(bitsor(sgn(boolvar1 ' + bits0), bits3) + (boolvar ∨ boolvar0)') = bits2int(bitsor(boolvar1 ' + bits0, bits3) + (boolvar ∨ boolvar0)') |
boolvar1 ' + bits0 ≠ [] ∧ bits3 ≠ [] → bits2int(bitsor(sgn(boolvar1 ' + bits0), bits3)) = bits2int(bitsor(boolvar1 ' + bits0, 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 ' + bits0), bits3) + (boolvar ∨ boolvar0)') = bits2int(bitsor(boolvar1 ' + bits0, bits3) + (boolvar ∨ boolvar0)')
Used simplifier rules: ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ # boolvar ' = 0 +1;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ m < n + 1 ↔ ¬ n < m;% ⊦ ¬ n < n;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m; Used terms: boolvar1 ' + bits0, bits3