| boolvar, sgn(boolvar ' + bits0) = false ', sgn(bits0) = false ' ∧ true ∈ bits0 → bits0 = [] ⊦ bits0.first, ¬ true ∈ bits0 ∧ ¬ boolvar |
sgn(true ' + bits0) = false ', true ∈ bits0 ⊦ bits0 = [], sgn(bits0) = false ', bits0.first
Used simplifier rules: sgn-one: ⊦ sgn(boolvar ') = boolvar ';%sgn-base-04: ⊦ ¬ boolvar ∈ bits → sgn(boolvar ' + bits) = boolvar ' + bits;% ⊦ boolvar ' = boolvar0 ' + bits ↔ (boolvar ↔ boolvar0) ∧ bits = [];% ⊦ boolvar ' = boolvar0 ' ↔ boolvar ↔ boolvar0;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + [] = bits;