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