| i1 * j < 0, 0 < j, i1 < 0 ⊦ rational(~(i1 * i), abs(i1 * j)) = rational(i, j), i1 = 0 |
0 < j, i1 < 0 ⊦ i1 = 0, rational(~(i1 * i), ~(i1 * j)) = rational(i, j)
Used simplifier rules: ⊦ i < 0 ∧ 0 ≤ j → i < j;% ⊦ 0 < i → (i * j < 0 ↔ j < 0);% ⊦ i * j = j * i;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ ~ i * j = ~(i * j);% ⊦ 0 < j → abs(j) = j;% ⊦ i < 0 → abs(i) = ~ i;% ⊦ abs(i * j) = abs(i) * abs(j);