| 2 * m0 = m * 2 * m1 + m ⊦ 2 * (m0 - m * m1) = m |
2 * m0 = m * 2 * m1 + m, m0 = n0 + m * m1, m * m1 ≤ m0 ⊦ 2 * n0 = m
Used simplifier rules: ⊦ m ≤ n ↔ ¬ n < m; (ss)%mult-a: ⊦ m0 * m * n = (m0 * m) * n; from specification nat-mult%mult-c: ⊦ m * n = n * m; from specification nat-mult%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic% ⊦ 2 * m = 2 * n + m0 → ¬ m < n; (s)%n ≤ m ⊦ n0 = m - n ↔ m = n0 + n; (elim) Used terms: m0, m * m1, n