| ⊦ (∀ 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 ' |
∀ bits. ¬ # bits0 < # bits → (false ' + bitsinvert((false ' + bitsinvert(bits))+1))+1 = false ' + true ' + bits ⊦ (false ' + bitsinvert((false ' + bitsinvert(bits0))+1))+1 = false ' + true ' + bits0
Used simplifier rules: succ-rec: ⊦ (bits + true ')+1 = bits +1 + false;%inv-last: ⊦ bitsinvert(bits + boolvar ') = bitsinvert(bits) + (¬ boolvar)';% ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m < n + 1 ↔ ¬ n < m;% ⊦ # boolvar ' = 0 +1;% ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ bits + bits0 = bits1 + bits0 ↔ bits = bits1;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + boolvar = bits + boolvar ';