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