| bitsor(true ' + bits, bits0) = false ' + bits1, ∀ bits1, bits, bits2. # bits2 < # bits0 → bitsor(true ' + bits, bits2) = false ' + bits1 → bits2 = [] ⊦ bits0 = [] |
⊦ 1 < # bits ∧ 1 < # bits0 → bitsor(bits, bits0) = bitsor(bits.butlast, bits0.butlast) + (bits.last ∨ bits0.last)
¬(1 < #(true ' + bits) ∧ 1 < # bits0), bitsor(true ' + bits, bits0) = false ' + bits1, ∀ bits1, bits, bits2. # bits2 < # bits0 → bitsor(true ' + bits, bits2) = false ' + bits1 → bits2 = [] ⊦ bits0 = []
1 < #(true ' + bits) ∧ 1 < # bits0, bitsor((true ' + bits).butlast, bits0.butlast) + ((true ' + bits).last ∨ bits0.last) = false ' + bits1, ∀ bits1, bits, bits2. # bits2 < # bits0 → bitsor(true ' + bits, bits2) = false ' + bits1 → bits2 = [] ⊦ bits0 = []
Used terms: bits0, true ' + bits