| 0 ≤ j, 0 ≤ i, 0 < j, ∀ j, i0. i→n(i0) < i→n(i) → 0 ≤ i0 ∧ 0 ≤ j → i0 >> j = i0 / 2 ^ j ⊦ i→n(i / 2) < i→n(i), i / 2 >> (j - 1) = i / 2 ^ j |
Used simplifier rules: shiftright-zero: ⊦ 0 >> j = 0;%j ≠ 0 ⊦ 0 / j = 0;% ⊦ 0 ≤ j → 2 ^ j ≠ 0;% ⊦ i ≤ j → (j ≤ i ↔ i = j);% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + 0 = i;% ⊦ i ≤ ~ j ↔ i + j ≤ 0;% ⊦ i * j = j * i;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ i * ~1 = ~ i;% ⊦ (* i1) * j ≤ j ↔ 0 ≤ (1 - i1) * j;% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ 0 < j ∧ 0 ≤ i → (i / (* j) < j0 ↔ i < j * j0);% ⊦ 0 ≤ i → abs(i) = i;%j ≠ 0 ⊦ abs(i / j) = abs(i) / abs(j);% ⊦ i→n(i) < i→n(j) ↔ abs(i) < abs(j);