| ∀ bits1, bits0. # bits0 < #(bits2 + true ') → true → bits0 = [] ∨ bitsor(bits0, false ' + bits1) = bits0 ∨ false ∈ bits0 ⊦ bits1 = [], bits2 = [], bitsor(bits2, false ' + bits1.butlast) = bits2, false ∈ bits2 |
bits1 = bits + boolvar ', ∀ bits1, bits0. # bits0 < #(bits2 + true ') → true → bits0 = [] ∨ bitsor(bits0, false ' + bits1) = bits0 ∨ false ∈ bits0 ⊦ bits1 = [], bits2 = [], bitsor(bits2, false ' + bits) = bits2, false ∈ bits2
Used simplifier rules: bits ≠ [] ⊦ (boolvar ↔ bits.last) ∧ bits0 = bits.butlast ↔ bits = bits0 + boolvar '; (elim) Used terms: bits1, boolvar, bits