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