| bits ≠ [] → (∃ bits0, boolvar. bits = bits0 + boolvar '), ∀ bits0. # bits0 < # bits → true → (bits0 +1 = true ' ↔ bits0 = false ' ∨ bits0 = []) ⊦ bits +1 = true ' ↔ bits = false ' ∨ bits = [] |
(bits0 + boolvar ')+1 = true ', ∀ bits1. # bits1 < #(bits0 + boolvar ') → true → (bits1 +1 = true ' ↔ bits1 = false ' ∨ bits1 = []) ⊦ bits0 + boolvar ' = false '
Used simplifier rules: succ-empty: ⊦ [] +1 = true ';%succ-one: ⊦ false ' +1 = true ';% ⊦ boolvar ∈ boolvar0 ' ↔ boolvar ↔ boolvar0;% ⊦ boolvar ∈ bits + bits0 ↔ ¬ ¬(boolvar ∈ bits ∨ boolvar ∈ bits0);% ⊦ bits + boolvar ' ≠ [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + boolvar ' = bits0 → boolvar ∈ bits0; (forward)% ⊦ boolvar ' ≠ [];% ⊦ boolvar ' = boolvar0 ' ↔ boolvar ↔ boolvar0;