| 0 < j ∧ j ≠ 1, 0 ≤ i, i ≤ j, #(uint2bits(j / 2) + (j % 2 = 1)) < # uint2bits(i), 0 ≤ j, ∀ j0, i. i→n(j0) < i→n(j) → 0 ≤ j0 ∧ # uint2bits(j0) < # uint2bits(i) ∧ i ≤ j0 ∧ 0 ≤ i → false ⊦ |
0 ≤ j, 0 < j, 0 ≤ i, i ≤ j, # uint2bits(j / 2) + 1 < # uint2bits(i), ∀ j0, i. i→n(j0) < i→n(j) → 0 ≤ j0 ∧ # uint2bits(j0) < # uint2bits(i) ∧ i ≤ j0 ∧ 0 ≤ i → false ⊦ j = 1
Used simplifier rules: ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ # boolvar ' = 0 +1;% ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ bits + boolvar = bits + boolvar ';