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