| j < 0, # uint2bits(~(j + 1)) < # uint2bits(~(i + 1)), i < 0, j < i, j < ~1 ⊦ j = 0 |
⊦ 0 ≤ i ∧ i ≤ j → ¬ # uint2bits(j) < # uint2bits(i)
Used simplifier rules: ⊦ i ≤ ~ j ↔ i + j ≤ 0;% ⊦ i + (* j) ≤ (* j0) ↔ i ≤ j0 - j;% ⊦ i ≤ ~1 ↔ i < 0;% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i < j → (¬ ¬ j ≤ i ↔ false);% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ ~ i ≤ j ↔ 0 ≤ i + j;% ⊦ i + ~ j = i - j;% ⊦ i - j + i = ~ j;% ⊦ i ≤ j - i0 ↔ i + i0 ≤ j;% ⊦ i + 0 = i;% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ i < j → ¬ j < i; Used terms: ~(i + 1), ~(j + 1)