| # bits = 1, ∀ bits1, bits0. # bits0 < 1 → # bits0 ≤ 1 + # bits1 → bits0 = [] ∨ bitsor(bits0, true ' + bits1) = bits0 ∨ false ∈ bits0 ⊦ bits1 = [], bits = [], bitsor(bits, true ' + bits1) = bits, false ∈ bits |
⊦ bits0 ≠ [] ∧ bits = true ' → bitsor(bits, bits0) = true '
Used simplifier rules: ⊦ ¬ bits + bits0 ≠ [] ↔ bits = [] ∧ bits0 = [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ # bits = 1 ∧ bits ≠ true ' → bits = false '; (forward)% ⊦ # boolvar ' = 0 +1;% ⊦ boolvar ' = boolvar0 ' ↔ boolvar ↔ boolvar0;% ⊦ boolvar ' ≠ [];% ⊦ boolvar ∈ boolvar0 ' ↔ boolvar ↔ boolvar0; Used terms: true ' + bits1, bits