| 0 < j ⊦ rational(i, j).num + rational(0r.num * rational(i, j).denom - 0r.denom * rational(i, j).num, 0r.denom * rational(i, j).denom).num = 0 ∧ rational(i, j).denom = rational(0r.num * rational(i, j).denom - 0r.denom * rational(i, j).num, 0r.denom * rational(i, j).denom).denom |
0 < j ⊦ rational(~ rational(i, j).num, rational(i, j).denom).num + rational(i, j).num = 0 ∧ rational(i, j).denom = rational(~ rational(i, j).num, rational(i, j).denom).denom
Used simplifier rules: zero-def: ⊦ 0r = rational(0, 1);%numerator-zero: ⊦ rational(0, j).num = 0;%denominator-zero: ⊦ rational(0, j).denom = 1;% ⊦ 0 - i = ~ i;% ⊦ 1 * i = i;% ⊦ i * j = j * i;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ i * 0 = 0;