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