| i < 0 ∧ 8 ≤ 8 * abs(j), 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 - 255) / 256 >> (8 * abs(j) - 8) = bytes2int(firstn(# int2bytes(i) - i→n(j), int2bytes(i))), j = 0 |
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))) ⊦ j = 0, (i - 255) / 256 >> 8 * (abs(j) - 1) = bytes2int(firstn(# int2bytes(i) - i→n(j), int2bytes(i)))
Used simplifier rules: ⊦ 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;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ i * j - i = i * (j - 1);