| ∀ n, bits, bits1. # bits1 < #(false + bits2) → true → bits = [] ∨ bits1 = [] ∨ fillsgn(n, bitsand(fillsgn(n, bits), bits1)) = fillsgn(n, bitsand(bits, bits1)) ⊦ fillsgn(n0 + # bits2, false ' + bits2) = mklist(false, n0) + bits2, n0 = 0, n0 = 1, bits2 = [] |
⊦ # bits < n → fillsgn(n, boolvar ' + bits) = mklist(boolvar, n - # bits) + bits
Used simplifier rules: ⊦ m + n ≤ m ↔ n = 0;% ⊦ ¬ m < n ↔ n ≤ m;% ⊦ m + n - m = n;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;% ⊦ bits + bits0 = bits + bits1 ↔ bits0 = bits1;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1; Used terms: bits2, false, n0 + # bits2