| ⊦ ¬ false ∈ bits ∧ # bits0 ≤ # bits ∧ bits0.first ∧ bits0 ≠ [] → bitsand(bits0, bits) = fillsgn(# bits, bits0) |
⊦ bits ≠ [] ∧ bits0 ≠ [] → bitsand(bits, bits0) = bitsand(bits0, bits)
bits0 ≠ [] ∧ bits ≠ [] ⊦ ¬ false ∈ bits ∧ # bits0 ≤ # bits ∧ bits0.first ∧ bits0 ≠ [] → bitsand(bits, bits0) = fillsgn(# bits, bits0)
Used simplifier rules: ⊦ # bits ≤ n ∧ bits ≠ [] → fillsgn(n, bits) = mklist(bits.first, n - # bits) + bits;% ⊦ # [] = 0;% ⊦ m ≤ 0 ↔ m = 0;% ⊦ # bits = 0 ↔ bits = []; Used terms: bits, bits0