| ∃ bits0, bits1. bits = bits0 + true ' + bits1 ∧ ¬ true ∈ bits1 ⊦ ∃ bits0, bits1. bitsinvert(bits) +1 = bitsinvert(bits0) + true ' + bits1 ∧ ¬ true ∈ bits1 ∧ bits = bits0 + true ' + bits1 |
⊦ true ∈ bits0, ∃ bits, bits2. ¬ true ∈ bits2 ∧ bits1 + true ' + bits0 = bits + true ' + bits2 ∧ bitsinvert(bits1) + true ' + bits0 = bitsinvert(bits) + true ' + bits2
Used simplifier rules: inv-append: ⊦ bitsinvert(bits + bits0) = bitsinvert(bits) + bitsinvert(bits0);%inv-one-01: ⊦ bitsinvert(true ') = false ';%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 ';% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;