| boolvar, boolvar ' +1 + bitsinvert(bits0) = boolvar0 ' + bits, true ∈ bits ⊦ boolvar0 ↔ boolvar, false ∈ bits0, ¬ (¬ boolvar0) ∈ bits0 ∧ ¬ boolvar0 ∈ boolvar ' +1 |
true ' +1 + bitsinvert(bits0) = false ' + bits, true ∈ bits ⊦ false ∈ bits0, ¬ false ∈ true ' +1 ∧ ¬ true ∈ bits0, ¬ true ∈ bits0 ∧ ¬ false ∈ true ' +1
Used simplifier rules: inv-in-01: ⊦ false ∈ bitsinvert(bits) ↔ true ∈ bits;% ⊦ boolvar ∈ bits + bits0 ↔ ¬ ¬(boolvar ∈ bits ∨ boolvar ∈ bits0);% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ boolvar ' + bits = bits0 → boolvar ∈ bits0; (forward)