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