| bits = boolvar0 + bits0, (¬ boolvar) ∈ bits ⊦ sgn(bits + boolvar ') = sgn(bits) + boolvar ', bits = [], (¬ boolvar0) ∈ bits0 |
⊦ sgn(boolvar0 ' + boolvar ') = sgn(boolvar0 ' + bits0) + boolvar ', (¬ boolvar0) ∈ bits0, ¬ (¬ boolvar) ∈ bits0 ∧ ¬(¬ boolvar ↔ boolvar0)
Used simplifier rules: sgn-append: ⊦ ¬ (¬ boolvar) ∈ bits → sgn(boolvar ' + bits + bits0) = sgn(boolvar ' + bits0);% ⊦ boolvar ∈ boolvar0 ' ↔ boolvar ↔ boolvar0;% ⊦ boolvar ∈ bits + bits0 ↔ ¬ ¬(boolvar ∈ bits ∨ boolvar ∈ bits0);% ⊦ boolvar ' + bits ≠ [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ boolvar + bits = boolvar ' + bits;