-- Library Import: Basic facts about real numbers
import Mathlib
open Real

-- Definition: Function (f : ℝ → ℝ) is continuous at (x₀ : ℝ)
def continuous_at (f : ℝ → ℝ) (x₀ : ℝ) :=
  ∀ ε > 0, ∃ δ > 0, ∀ x, |x - x₀| < δ → |f x - f x₀| < ε

-- Definition: Sequence (u : ℕ → ℝ) converges to limit (l : ℝ)
def seq_limit (u : ℕ → ℝ) (l : ℝ) :=
  ∀ ε > 0, ∃ N, ∀ n ≥ N, |u n - l| < ε


-- In the following, f is a function, u is a sequence, and x₀ a real number
variable
  {f : ℝ → ℝ} {u : ℕ → ℝ} {x₀ : ℝ}

/-
Theorem "Continuity and Limits": If the function f is continuous at x₀ and u
is a sequence converging to x₀, then the sequence f ∘ u converges to f (x₀).
-/
theorem continuity_and_limits (hyp_f : continuous_at f x₀) (hyp_u : seq_limit u x₀) :
    seq_limit (f ∘ u) (f x₀) := by
  sorry
