El punto de acumulación de las sucesiones convergente es su límite
Para extraer una subsucesión se aplica una función de extracción que conserva el orden; por ejemplo, la subsucesión \[ u_0, u_2, u_4, u_6, ... \] se ha obtenido con la función de extracción \(f\) tal que \(f(n) = 2n\).
En Lean4, se puede definir que \(f\) es una función de extracción por
def extraccion (f : ℕ → ℕ) := ∀ n m, n < m → f n < f m
que \(a\) es un límite de \(u\) por
def limite (u : ℕ → ℝ) (a : ℝ) := ∀ ε > 0, ∃ N, ∀ k ≥ N, |u k - a| < ε
que \(u\) es convergente por
def convergente (u : ℕ → ℝ) := ∃ a, limite u a
que \(a\) es un punto de acumulación de \(u\) por
def punto_acumulacion (u : ℕ → ℝ) (a : ℝ) := ∃ f, extraccion f ∧ limite (u ∘ f) a
Demostrar con Lean4 que si \(u\) es una sucesión convergente y \(a\) es un punto de acumulación de \(u\), entonces \(a\) es un límite de \(u\).
Para ello, completar la siguiente teoría de Lean4:
import Mathlib.Data.Real.Basic import Mathlib.Tactic open Nat variable {u : ℕ → ℝ} variable {a : ℝ} def extraccion (f : ℕ → ℕ) := ∀ n m, n < m → f n < f m def limite (u : ℕ → ℝ) (a : ℝ) := ∀ ε > 0, ∃ N, ∀ k ≥ N, |u k - a| < ε def convergente (u : ℕ → ℝ) := ∃ a, limite u a def punto_acumulacion (u : ℕ → ℝ) (a : ℝ) := ∃ f, extraccion f ∧ limite (u ∘ f) a example (hu : convergente u) (ha : punto_acumulacion u a) : limite u a := by sorry