| n0 = m, ii(0) = 0, m ≤ n0, ∀ m. m < n0 → ii(m + 1) = ii(m) + # lf(m) ∧ (nf from ii(m)) to # lf(m) = lf(m) ∧ (∀ m0. m0 ≤ m → ii(m0) ≤ ii(m)) ⊦ (m = n0 ⊃ ii(n0) + # lf(n0);ii(m + 1)) = (m = n0 + 1 ⊃ ii(n0) + # lf(n0);ii(m)) + # lf(m) ∧ ((λ n. (n < ii(n0) + # lf(n0) ∧ ¬ n < ii(n0) ⊃ lf(n0)[n - ii(n0)];nf(n))) from (m = n0 + 1 ⊃ ii(n0) + # lf(n0);ii(m))) to # lf(m) = lf(m) ∧ (m0 ≤ m → (m0 = n0 + 1 ⊃ ii(n0) + # lf(n0);ii(m0)) ≤ (m = n0 + 1 ⊃ ii(n0) + # lf(n0);ii(m))) |
ii(0) = 0, ∀ m0. m0 < m → ii(m0 + 1) = ii(m0) + # lf(m0) ∧ (nf from ii(m0)) to # lf(m0) = lf(m0) ∧ (∀ m1. m1 ≤ m0 → ii(m1) ≤ ii(m0)) ⊦ ((λ n. (n < ii(m) + # lf(m) ∧ ¬ n < ii(m) ⊃ lf(m)[n - ii(m)];nf(n))) from ii(m)) to # lf(m) = lf(m) ∧ (m0 ≤ m → (m0 = m + 1 ⊃ ii(m) + # lf(m);ii(m0)) ≤ ii(m))
Used simplifier rules: 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%eq: ⊦ m = m + n ↔ n = 0; from specification nat-basic2%ler: ⊦ m ≤ m; from specification nat