| ⊦ fillsgn((n + # bits0) + 1, boolvar ' + bits0) = boolvar ' + mklist(boolvar, n) + bits0, n = 0 |
⊦ # bits < n → fillsgn(n, boolvar ' + bits) = mklist(boolvar, n - # bits) + bits
Used simplifier rules: ⊦ ¬ m + n < m;% ⊦ m < n + 1 ↔ ¬ n < m;% ⊦ m + n - m = n;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;% ⊦ mklist(boolvar, m + n) = mklist(boolvar, m) + mklist(boolvar, n);% ⊦ mklist(boolvar, 1) = boolvar ';% ⊦ mklist(boolvar, n) + boolvar ' = boolvar ' + mklist(boolvar, n);% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + bits0 = bits + bits1 ↔ bits0 = bits1; Used terms: bits0, boolvar, (n + # bits0) + 1