| ¬(0 < i ∧ j < 0), j < 0 ⊦ i = 0, j = 0, rational(i, j).num + rational(~ i, j).num = 0 |
j < 0, i < 0 ⊦ i = 0, j = 0, rational(~ i, j).num = i / gcd(i, j)
Used simplifier rules: numerator-neg2: ⊦ i < 0 ∧ j < 0 → rational(i, j).num = abs(i) / gcd(i, j);% ⊦ j < i ∧ i ≤ 0 → j < 0; (forward)% ⊦ i + 0 = i;% ⊦ i - j = i0 ↔ i = i0 + j;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + ~ j = i - j;%j ≠ 0 ⊦ ~ i / j = ~(i / j);% ⊦ gcd(i, j) = 0 ↔ i = 0 ∧ j = 0;% ⊦ i < 0 → abs(i) = ~ i;% ⊦ i < j → ¬ j < i;% ⊦ i ≠ j → (i ≤ j ↔ i < j);% ⊦ ¬ i < j ↔ j ≤ i;