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