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