| j2 < 0, 0 < j1, j2 < 0 ⊦ j2 = 0, rational(i1, j1) * rational(~ i2, abs(j2)) = rational(i1 * i2, j1 * j2) |
0 < j1, 0 < j2 ⊦ rational(i1, j1) * rational(i2, j2) = rational(i1 * i2, j1 * j2)
0 < j1 ∧ 0 < abs(j2), j2 < 0, 0 < j1, j2 < 0 ⊦ j2 = 0, rational(i1 * ~ i2, j1 * abs(j2)) = rational(i1 * i2, j1 * j2)
Used simplifier rules: neg-neg: ⊦ j ≠ 0 → rational(~ i, ~ j) = rational(i, j);% ⊦ i < 0 → abs(i) = ~ i;% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i < j → (¬ ¬ j ≤ i ↔ false);% ⊦ 0 < ~ i ↔ i < 0;% ⊦ i ≠ j → (i ≤ j ↔ i < j);% ⊦ i < j → ¬ j < i; Used terms: abs(j2), ~ i2, j1, i1