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