| ∀ bits0, bits, bits2. # bits2 < # bits1 → true → bitsand(bits + true ' + bits0, false ' + bits2) = bitsand(true ' + bits0, false ' + bits2) ∨ false ∈ bits ⊦ bitsand(bits + true ', false ' + bits1) = false ' + bits1, false ∈ bits |
⊦ ¬ false ∈ bits ∧ # bits0 ≤ # bits ∧ ¬ bits0.first ∧ bits0 ≠ [] → bitsand(bits, bits0) = bits0
¬(¬ false ∈ bits + true ' ∧ #(false ' + bits1) ≤ #(bits + true ') ∧ ¬ (false ' + bits1).first ∧ false ' + bits1 ≠ []), ∀ bits0, bits, bits2. # bits2 < # bits1 → true → bitsand(bits + true ' + bits0, false ' + bits2) = bitsand(true ' + bits0, false ' + bits2) ∨ false ∈ bits ⊦ bitsand(bits + true ', false ' + bits1) = false ' + bits1, false ∈ bits
Used terms: false ' + bits1, bits + true '