| ∀ boolvar. boolvar ∈ bitsinvert(bits0) ↔ (¬ boolvar) ∈ bits0 ⊦ boolvar0 ∈ bitsinvert(boolvar + bits0) ↔ (¬ boolvar0) ∈ boolvar + bits0 |
∀ boolvar. boolvar ∈ bitsinvert(bits0) ↔ (¬ boolvar) ∈ bits0 ⊦ boolvar0 ∈ bitsinvert(bits0) ∨ (boolvar0 ↔ ¬ boolvar) ↔ (¬ boolvar0 ↔ boolvar) ∨ (¬ boolvar0) ∈ bits0
Used simplifier rules: inv-append: ⊦ bitsinvert(bits + bits0) = bitsinvert(bits) + bitsinvert(bits0);%inv-one: ⊦ bitsinvert(boolvar ') = (¬ boolvar)';%⊦ ¬ boolvar ∈ boolvar0 ' + bits ↔ ¬(boolvar ↔ boolvar0) ∧ ¬ boolvar ∈ bits;% ⊦ boolvar ∈ boolvar0 ' ↔ boolvar ↔ boolvar0;% ⊦ boolvar ∈ bits + bits0 ↔ ¬ ¬(boolvar ∈ bits ∨ boolvar ∈ bits0);% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ boolvar + bits = boolvar ' + bits;