| n + i→n(i) < m0 +1, 0 ≤ i, n→i(m0 +1) ≤ n→i(n) + i, ∀ n, i. ¬(n + i→n(i) < m0 ∧ n→i(m0) ≤ n→i(n) + i ∧ 0 ≤ i) ⊦ |
n→i(m0) < n→i(n) + i, 0 < n→i(n) + i, 0 ≤ i, n + i→n(i) ≤ m0, ∀ n0, i0. ¬ n0 + i→n(i0) < m0 ∨ ¬ n→i(m0) ≤ n→i(n0) + i0 ∨ ¬ 0 ≤ i0 ⊦
Used simplifier rules: n2i-add: ⊦ n→i(m + n) = n→i(m) + n→i(n);%pos-int: ⊦ n→i(m) < j → 0 < j;% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m < n + 1 ↔ ¬ n < m; (s)%add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2% ⊦ i + 1 ≤ j ↔ i < j; (s)%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ m +1 = m + 1; (s)