| ¬(¬ true ∈ bits ∧ ¬ (false ' + bits1).first ∧ # bits ≤ #(false ' + bits1) ∧ bits ≠ [] ∧ false ' + bits1 ≠ []) ⊦ bits = [], ¬ boolvar ∨ true ∈ bits1 ↔ boolvar ∈ bitsor(bits, false ' + bits1), true ∈ bits |
1 + # bits1 < # bits ⊦ ¬ boolvar ∨ true ∈ bits1 ↔ boolvar ∈ bitsor(bits, false ' + bits1), bits = [], true ∈ bits
Used simplifier rules: ⊦ # bits = 0 ↔ bits = [];% ⊦ m < n → n ≠ 0; (forward)% ⊦ boolvar ' ≠ [];% ⊦ ¬ bits + bits0 ≠ [] ↔ bits = [] ∧ bits0 = [];% ⊦ ¬ m ≤ n ↔ n < m;% ⊦ # boolvar ' = 0 +1;% ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ (boolvar ' + bits).first ↔ boolvar;