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