| ∀ n1, m1, n2. n1 * m1 + n1 * n2 < n0 * (n4 + n) + n0 * n → true → gcd(n1 * m1, n1 * n2) = n1 * gcd(m1, n2) ⊦ gcd(n0 * n4, n0 * n) = n0 * gcd(n4, n), n0 = 0 |
Used simplifier rules: gcd-zero-02: ⊦ gcd(n, 0) = n;%gcd-a: ⊦ gcd(m, gcd(n, n0)) = gcd(gcd(m, n), n0);%dist: ⊦ m0 * (m + n) = m0 * m + m0 * n; from specification nat-mult%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%mult-a: ⊦ m0 * m * n = (m0 * m) * n; from specification nat-mult%mult-c: ⊦ m * n = n * m; from specification nat-mult%two-02: ⊦ m + m = 2 * m; from specification nat-mult%l: ⊦ m + n < m + n0 ↔ n < n0; from specification nat-basic2%ls: ⊦ m0 * m < m0 * n ↔ m0 ≠ 0 ∧ m < n; from specification nat-mult%lels: ⊦ ¬ m < n ↔ n ≤ m; from specification nat%twole: ⊦ 2 * n ≤ n ↔ n = 0; from specification nat-mult%mult-base: ⊦ m * 0 = 0; from specification nat-mult%eq: ⊦ m0 ≠ 0 → (m * m0 = n * m0 ↔ m = n); from specification nat-mult Used terms: n0, n4, n