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