| ¬(# bits0 ≤ # bits1 ∧ bits0 ≠ [] ∧ bits0.first) ⊦ bits1 = [], bits2 + bits1 = [], bits0 = [], bits1 = lastn(# bits1, fillsgn(# bits1, bitsand(bits2 + bits1, bits0))), true ∈ bits1, ¬ # bits1 < # bits0 ∧ ¬ bits0.first |
⊦ bits1 = [], bits2 + bits1 = [], bits0 = [], bits1 = lastn(# bits1, fillsgn(# bits1, bitsand(bits2 + bits1, bits0))), true ∈ bits1, ¬ # bits1 < # bits0 ∧ ¬ bits0.first, ¬ # bits1 < # bits0 ∧ bits0.first
Used simplifier rules: ⊦ ¬ m ≤ n ↔ n < m;