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