| ∀ bits0, bits, bits2. # bits2 < # bits1 → true → sgn(bitsand(bits + false ' + bits0, false ' + bits2)) = sgn(bitsand(false ' + bits0, false ' + bits2)) ∨ true ∈ bits ⊦ bits1 = [], false ' + bits1 = true ', sgn(bitsand(bits + false ', false ' + bits1)) = false ', true ∈ bits |
⊦ ¬ true ∈ bits ∧ (# bits ≤ # bits0 ∨ bits0.first) ∧ bits ≠ [] ∧ bits0 ≠ [] → bitsand(bits, bits0) = bits
¬(¬ true ∈ bits + false ' ∧ (#(bits + false ') ≤ #(false ' + bits1) ∨ (false ' + bits1).first) ∧ bits + false ' ≠ [] ∧ false ' + bits1 ≠ []), ∀ bits0, bits, bits2. # bits2 < # bits1 → true → sgn(bitsand(bits + false ' + bits0, false ' + bits2)) = sgn(bitsand(false ' + bits0, false ' + bits2)) ∨ true ∈ bits ⊦ bits1 = [], false ' + bits1 = true ', sgn(bitsand(bits + false ', false ' + bits1)) = false ', true ∈ bits
Used simplifier rules: ⊦ ¬ true ∈ bits ∧ bits ≠ [] → sgn(bits) = false ';% ⊦ boolvar ' = boolvar0 ' ↔ boolvar ↔ boolvar0; Used terms: false ' + bits1, bits + false '