| ¬ abs(i) < abs(2 ^ (8 * abs(j))), 0 ≤ 2 ^ (8 * abs(j)) + i, i < 0, 2 ^ (8 * abs(j) - 1) + i < 0 ⊦ int2bytes(i).first = i2b(~1), i / 2 ^ (8 * abs(j)) = 0, j = 0, i % 2 ^ (8 * abs(j)) = 0 |
0 = 2 ^ (8 * abs(j)) + i, 2 ^ (8 * abs(j) - 1) + i < 0, i < 0 ⊦ i % 2 ^ (8 * abs(j)) = 0, j = 0, i / 2 ^ (8 * abs(j)) = 0, int2bytes(i).first = i2b(~1)
Used simplifier rules: ⊦ j ≤ i ∧ i ≤ 0 → j ≤ 0; (forward)% ⊦ i ≤ j → (j ≤ i ↔ i = j);% ⊦ i + j = j + i;% ⊦ i * j = j * i;% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ ~ i < j ↔ 0 < j + i;% ⊦ abs(2 ^ i) = 2 ^ i;% ⊦ i < 0 → abs(i) = ~ i;