| n0 = dist(n0 * m * m0, (m * n2) * n1), 1 = dist(m * m0, n * n1), gcd(m, n) = 1 ⊦ ∃ n1. m * n1 = n0 |
1 = dist(m * m0, n * n1), gcd(m, n) = 1, n0 = m * dist(n0 * m0, n2 * n1) ⊦ ∃ n1. m * n1 = n0
Used simplifier rules: dist-mult: ⊦ dist(m * n, m * n0) = m * dist(n, n0);%mult-c: ⊦ m * n = n * m; from specification nat-mult%mult-a: ⊦ m0 * m * n = (m0 * m) * n; from specification nat-mult