| ∀ n, m1. n * m0 + m0 = 2 * n + m1 * n + m1 + 1 ∧ (∀ n, m. n * m + m = (n * m1 + m1) + n → n = 0) → n = 0, n * m0 +1 + m0 +1 = 2 * n + m1 * n + m1 + 1, ∀ n, m. n * m + m = (n * m1 + m1) + n → n = 0 ⊦ n = 0 |
n + m1 * n + m1 = m0 * n + m0, ∀ n, m1. n * m0 + m0 = 2 * n + m1 * n + m1 + 1 ∧ (∀ n, m. n * m + m = (n * m1 + m1) + n → n = 0) → n = 0, ∀ n, m. n * m + m = (n * m1 + m1) + n → n = 0 ⊦ n = 0
Used simplifier rules: rsucc-01: ⊦ (m + 1) * n = m * n + n;%mult-a: ⊦ m0 * m * n = (m0 * m) * n;%mult-c: ⊦ m * n = n * m;%numeral-19: m2 ≠ 0 ⊦ (* m2) * m + n = m + n0 ↔ (m2 - 1) * m + n = n0;%one: ⊦ m0 * 1 = m0;%eq-01: ⊦ m + n = m + n0 ↔ n = n0; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%succ: ⊦ m +1 = m + 1; from specification nat-basic2