| ¬(sgn(boolvar ' + bits) ≠ [] ∧ # sgn(boolvar ' + bits) < 2 + # bits), fillsgn(1 + # bits, sgn(boolvar ' + bits)) = boolvar ' + bits ⊦ fillsgn(2 + # bits, sgn(boolvar ' + bits)) = boolvar ' + boolvar ' + bits |
fillsgn(1 + # bits, sgn(boolvar ' + bits)) = boolvar ' + bits, 2 + # bits ≤ # sgn(boolvar ' + bits) ⊦
Used simplifier rules: sgn-not-empty-01: ⊦ sgn(boolvar ' + bits) ≠ [];%fillsgn-longer: ⊦ n ≤ # bits → fillsgn(n, bits) = bits;%sgn-notsame-01: ⊦ sgn(bits) ≠ boolvar ' + boolvar ' + bits0;% ⊦ ¬ m < n ↔ n ≤ m;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;