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