| ∀ n, i. n→i(m0) ≤ n→i(n) + i ∧ n + i→n(i) < m0 ∧ 0 ≤ i → m0 = 0, n→i(m0 +1) ≤ n→i(n) + i, n + i→n(i) < m0 +1, 0 ≤ i ⊦ m0 +1 = 0 |
0 ≤ i, n→i(m0) < n→i(n) + i, n + i→n(i) ≤ m0, 0 < n→i(n) + i, (∃ n, i. n→i(m0) ≤ n→i(n) + i ∧ n + i→n(i) < m0 ∧ 0 ≤ i) → m0 = 0 ⊦
Used simplifier rules: succ-01: ⊦ n→i(m + 1) = n→i(m) + 1;%pos-int: ⊦ n→i(m) < j → 0 < j;%lels: ⊦ ¬ m < n ↔ n ≤ m; from specification nat%s: ⊦ m < n + 1 ↔ ¬ n < m; from specification nat-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%succ-01: ⊦ i + 1 ≤ j ↔ i < j; from specification int-abs%c: ⊦ m + n = n + m; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%oz: ⊦ m + 1 ≠ 0; from specification nat-basic2%succ: ⊦ m +1 = m + 1; from specification nat-basic2