| bits3 ≠ [] ∧ true ' = true ', # bits0 = # bits2 ⊦ bits3 + bits0 = [], bits2int((true ' + bitsor(bits0, bits2)) + bits1) = bits2int(true ' + bits1), # bits3 = 1, bits2 = [], bits0 = [], bits3 = [], false ∈ bits3, false ∈ bits0 |
# bits0 = # bits2 ⊦ # bits3 = 1, bits2 = [], bits0 = [], bits3 = [], bits3 + bits0 = [], bits2int(true ' + bits0 + bits1) = bits2int(true ' + bits1), false ∈ bits3, false ∈ bits0
Used simplifier rules: bitsor-ones-samelen: ⊦ ¬ false ∈ bits ∧ # bits = # bits0 ∧ bits ≠ [] ∧ bits0 ≠ [] → bitsor(bits, bits0) = bits;