| bits0 = bits0.first + [], 1 ≤ # bits, ∀ bits, bits1. # bits1 < 1 → # bits1 ≤ # bits → bits = [] ∨ bits1 = [] ∨ bitsxor(bits, bits1) = bits ∨ true ∈ bits1 ⊦ bits = [], bits0 = [], bitsxor(bits, bits0) = bits, true ∈ bits0 |
bits0 = bits0.first ', 1 ≤ # bits, ∀ bits, bits1. # bits1 < 1 → # bits1 ≤ # bits → bits = [] ∨ bits1 = [] ∨ bitsxor(bits, bits1) = bits ∨ true ∈ bits1 ⊦ bits = [], bits0 = [], bitsxor(bits, bits0) = bits, true ∈ bits0
Used simplifier rules: ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + [] = bits;% ⊦ boolvar + bits = boolvar ' + bits;