En Lean4, una sucesión \(u_0, u_1, u_2, u_3 ...\) se puede representar mediante una función \(u : ℕ → ℝ\) de forma que \(u(n)\) es el término \(u_n\).
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 a es un punto de acumulación de u por
def punto_acumulacion (u : ℕ → ℝ) (a : ℝ) :=
∃ f, extraccion f ∧ limite (u ∘ f) a
que la sucesión u es de Cauchy por
def suc_cauchy (u : ℕ → ℝ) :=
∀ ε > 0, ∃ N, ∀ p ≥ N, ∀ q ≥ N, |u p - u q| < ε
Demostrar con Lean4 que si \(u\) es una sucesión de Cauchy y \(a\) es un punto de acumulación de \(u\), entonces \(a\) es el 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 : ℝ}
example
(hu : suc_cauchy u)
(ha : punto_acumulacion u a)
: limite u a :=
by sorry
Read more…