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