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