| ¬(0 ≤ i ∧ 8 ≤ 8 * abs(j)), i→n(j) < # int2bytes(i), ∀ i, j0. i→n(j0) < i→n(j) → i→n(j0) < # int2bytes(i) → i >> 8 * abs(j0) = bytes2int(firstn(# int2bytes(i) - i→n(j0), int2bytes(i))) ⊦ i >> 8 * abs(j) = bytes2int(firstn(# int2bytes(i) - i→n(j), int2bytes(i))) |
i→n(j) < # int2bytes(i), i < 0, ∀ i, j0. i→n(j0) < i→n(j) → i→n(j0) < # int2bytes(i) → i >> 8 * abs(j0) = bytes2int(firstn(# int2bytes(i) - i→n(j0), int2bytes(i))) ⊦ i >> 8 * abs(j) = bytes2int(firstn(# int2bytes(i) - i→n(j), int2bytes(i))), j = 0
Used simplifier rules: int2int: ⊦ bytes2int(int2bytes(i)) = i;% ⊦ j < i ∧ i ≤ 0 → j < 0; (forward)% ⊦ firstn(# bytes, bytes) = bytes;% ⊦ m - 0 = m;% ⊦ i >> 0 = i;% ⊦ i * j = j * i;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ 0 < abs(i) ↔ i ≠ 0;% ⊦ 1 ≤ i ↔ 0 < i;% ⊦ 0 < i ∧ 0 ≤ j → ((* j) ≤ (* i) * i0 ↔ (i + j - 1) / i ≤ i0);% ⊦ ¬ i ≤ j ↔ j < i;