| ¬ boolvar, ∀ bits1. # bits1 < #(bits0 + boolvar ') → true → (bits2uint(bits1) ≤ 0 ↔ bits2uint(bits1) = 0) ⊦ bits2uint(bits0 + boolvar ') ≤ 0 ↔ bits2uint(bits0 + boolvar ') = 0 |
∀ bits1. # bits1 < #(bits0 + false ') → true → (bits2uint(bits1) ≤ 0 ↔ bits2uint(bits1) = 0) ⊦ bits2uint(bits0) ≤ 0 ↔ bits2uint(bits0) = 0
Used simplifier rules: bits2uint-zero: ⊦ bits2uint(bits + false ') = bits2uint(bits) * 2;% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ 2 * i = 0 ↔ i = 0;% ⊦ i * j = j * i;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ 0 < i → (i * j ≤ 0 ↔ j ≤ 0);% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;