| 0 < i, i0 < 0 ⊦ i = 0, gcd(i / gcd(i, i0), rational(i, i0).denom) = 1 |
⊦ i ≠ 0 ∧ j ≠ 0 → rational(i, j).denom = abs(j) / gcd(i, j)
Used simplifier rules: denominator-zero-den: ⊦ i ≠ 0 → rational(i, 0).denom = 1;% ⊦ gcd(i, 1) = 1;%i ≠ 0 ⊦ i / i = 1;% ⊦ 0 < j → abs(j) = j;% ⊦ gcd(i, 0) = abs(i);% ⊦ i < 0 → abs(i) = ~ i;% ⊦ gcd(i, j) = 0 ↔ i = 0 ∧ j = 0;%j ≠ 0 ⊦ ~ i / j = ~(i / j);% ⊦ gcd(~ i, j) = gcd(i, j);% ⊦ i ≠ 0 → gcd(i / gcd(i, j), j / gcd(i, j)) = 1;% ⊦ gcd(i, j) = gcd(j, i); Used terms: i0, i