| ¬(bits ≠ [] ∧ bits0 = true '), # bits0 = 1, ∀ n, bits, bits1. # bits1 < 1 → true → bits = [] ∨ bits1 = [] ∨ fillsgn(n, bitsand(fillsgn(n, bits), bits1)) = fillsgn(n, bitsand(bits, bits1)) ⊦ fillsgn(n, bitsand(fillsgn(n, bits), bits0)) = fillsgn(n, bitsand(bits, bits0)), bits0 = [], bits = [], # bits = 1 |
∀ n, bits, bits1. # bits1 < 1 → true → bits = [] ∨ bits1 = [] ∨ fillsgn(n, bitsand(fillsgn(n, bits), bits1)) = fillsgn(n, bitsand(bits, bits1)) ⊦ # bits = 1, bits = [], fillsgn(n, bitsand(fillsgn(n, bits), false ')) = fillsgn(n, false ')
Used simplifier rules: and-zero-03: ⊦ bits ≠ [] → bitsand(bits, false ') = false ';% ⊦ boolvar ' ≠ [];% ⊦ boolvar ' = boolvar0 ' ↔ boolvar ↔ boolvar0;% ⊦ # boolvar ' = 0 +1;% ⊦ # bits = 1 ∧ bits ≠ true ' → bits = false '; (forward)