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