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