| 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)) ⊦ n0 = m, n0 = 0, 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, 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 + 1, n0 = m, n0 = 0, 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)))
Used simplifier rules: eq: ⊦ m = m + n ↔ n = 0; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%l-02: ⊦ ¬ m + n < m; from specification nat-basic2 Used formulas: m = n0 + 1