| ∀ bits1. # bits1 < #(bits0 + boolvar ') → true → (false ' + bitsinvert((false ' + bitsinvert(bits1))+1))+1 = false ' + true ' + bits1 ⊦ (false ' + bitsinvert((false ' + bitsinvert(bits0) + (¬ boolvar)')+1))+1 = false ' + true ' + bits0 + boolvar ' |
⊦ (∀ bits1. # bits1 < #(bits0 + false ') → true → (false ' + bitsinvert((false ' + bitsinvert(bits1))+1))+1 = false ' + true ' + bits1) → (false ' + bitsinvert((false ' + bitsinvert(bits0) + (¬ false)')+1))+1 = false ' + true ' + bits0 + false '
Used simplifier rules: succ-zero: ⊦ (bits + false ')+1 = bits + true;%inv-last: ⊦ bitsinvert(bits + boolvar ') = bitsinvert(bits) + (¬ boolvar)';%inv-append: ⊦ bitsinvert(bits + bits0) = bitsinvert(bits) + bitsinvert(bits0);%inv-false: ⊦ bitsinvert(false ') = true ';%inv-inv: ⊦ bitsinvert(bitsinvert(bits)) = bits;%bool freely generated by true, false;;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + boolvar = bits + boolvar ';% ⊦ bits + bits0 = bits + bits1 ↔ bits0 = bits1;