| 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, (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, 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)))
Used simplifier rules: f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%lels-02: ⊦ m ≠ n → (m ≤ n ↔ m < n); from specification nat