| ri * ri = rational(j, 1) ⊦ ∃ i. j = i * i |
ri ≠ 0r ⊦ ∃ i, j. ri = rational(i, j) ∧ ri.num = i ∧ ri.denom = j ∧ 0 < j ∧ gcd(i, j) = 1
∃ i, j. ri = rational(i, j) ∧ ri.num = i ∧ ri.denom = j ∧ 0 < j ∧ gcd(i, j) = 1, ri * ri = rational(j, 1) ⊦ ∃ i. j = i * i
Used simplifier rules: zero-def: ⊦ 0r = rational(0, 1);%int-mult: ⊦ rational(i, 1) * rational(j, 1) = rational(i * j, 1);%mult-ass: ⊦ (ri * rj) * rj1 = ri * rj * rj1;%mult-comm: ⊦ ri * rj = rj * ri;%equal-same: ⊦ 0 < j → (rational(i, j) = rational(i0, j) ↔ i = i0);% ⊦ i * i = 0 ↔ i = 0;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ i * j = j * i; Used terms: ri