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