| false ∈ bits, true ∈ bits ⊦ sgn(bits + bits0) = sgn(bits) + bits0 |
∀ bits1. false ∈ bits0 ∧ true ∈ bits0 → sgn(bits0 + bits1) = sgn(bits0) + bits1 ⊦ false ∈ boolvar + bits0 ∧ true ∈ boolvar + bits0 → sgn((boolvar + bits0) + bits1) = sgn(boolvar + bits0) + bits1
Used simplifier rules: sgn-empty: ⊦ sgn([]) = [];%bitlist freely generated by [], +;;% ⊦ [] + bits = bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ ¬ boolvar ∈ [];