| i0 < 0, rational(i, j) / rational(~ i0, j0) = rational(i * j0, j * ~ i0), 0 < j, 0 < j0, i < 0 ⊦ i = 0, rational(i, j) / rational(i0, j0) = rational(i * j0, j * i0), i0 = 0, rational(~ i0, j0) = 0r |
rational(i, j) / ~ rational(i0, j0) = rational(i * j0, ~(i0 * j)), 0 < j, 0 < j0, i < 0, i0 < 0 ⊦ i = 0, rational(i, j) / rational(i0, j0) = rational(i * j0, j * i0), i0 = 0, ~ rational(i0, j0) = 0r
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);