| true ∈ bits ⊦ bitsinvert(bitsinvert(bits) +1) +1 = bits |
⊦ true ∈ bits ↔ (∃ bits0, bits1. bitsinvert(bits) +1 = bitsinvert(bits0) + true ' + bits1 ∧ ¬ true ∈ bits1 ∧ bits = bits0 + true ' + bits1)
Used simplifier rules: inv-append: ⊦ bitsinvert(bits + bits0) = bitsinvert(bits) + bitsinvert(bits0);%invert-one: ⊦ bitsinvert(true ' + bits) = false + bitsinvert(bits);%succ-prefix: ⊦ (bits + false ' + bits0)+1 = bits + (false ' + bits0)+1;%succ-zeros: ⊦ ¬ true ∈ bits0 → (bits + bitsinvert(bits0))+1 = bits +1 + bits0;%succ-one: ⊦ false ' +1 = true ';%inv-inv: ⊦ bitsinvert(bitsinvert(bits)) = bits;% ⊦ boolvar + bits = boolvar ' + bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + bits0 = bits + bits1 ↔ bits0 = bits1; Used terms: bits