| ∀ bits2, bits0, bits1. # bits2 < # bits → true → bits2 = [] ∨ bits0 = [] ∨ bits1 = [] ∨ bitsand(bits2, bitsand(bits0, bits1)) = bitsand(bitsand(bits2, bits0), bits1) ⊦ bits = [], bits1 = [], bitsand(bits, bitsand(bits0.first ', bits1)) = bitsand(bitsand(bits, bits0.first '), bits1) |
⊦ bits0 ≠ [] ∧ bits = true ' → bitsand(bits, bits0) = bits0
Used simplifier rules: and-zero-02: ⊦ bits ≠ [] → bitsand(false ', bits) = false ';%and-zero-03: ⊦ bits ≠ [] → bitsand(bits, false ') = false ';%and-oner-01: ⊦ bits ≠ [] → bitsand(bits, true ') = bits;% ⊦ boolvar ' = boolvar0 ' ↔ boolvar ↔ boolvar0; Used terms: bits1, bits0.first '