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