| lfgen(n)(n) = lfgen(n + 1)(n), ∀ m, n1, n2. m ≤ n1 ∧ n1 ≤ n2 → lfgen(n1)(m) = lfgen(n2)(m), ∀ n0. lfgen(n0)(0) = lfgen(n + 1)(0) ∧ (∀ m. m < n0 → lfgen(n0)(m + 1) = nextnli(lfgen(n0)(m), m)), ¬ n < n → lfgen(n + 1)(n + 1) = nextnli(lfgen(n + 1)(n), n), ∀ m. ¬ n < m → lfgen(n + 1)(m + 1) = nextnli(lfgen(n + 1)(m), m) ⊦ lfgen(0)(0) = lfgen(n + 1)(0) ∧ lfgen(n + 1)(n + 1) = nextnli(lfgen(n)(n), n) |
lfgen(n + 1)(n + 1) = nextnli(lfgen(n)(n), n), lfgen(n)(n) = lfgen(n + 1)(n), ∀ n0. lfgen(n0)(0) = lfgen(n + 1)(0) ∧ (∀ m. m < n0 → lfgen(n0)(m + 1) = nextnli(lfgen(n0)(m), m)), ∀ m, n1, n2. m ≤ n1 ∧ n1 ≤ n2 → lfgen(n1)(m) = lfgen(n2)(m), ∀ m. ¬ n < m → lfgen(n + 1)(m + 1) = nextnli(lfgen(n + 1)(m), m) ⊦ lfgen(0)(0) = lfgen(n + 1)(0)
Used simplifier rules: ref-1: ⊦ ¬ n < n; from specification nat-basic1