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