Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

MarkovProcess.Semigroup.CompactStrongConvergence

Definition
MarkovProcessModule_MarkovProcess_Semigroup_CompactStrongConvergence

by WillR · Oct 27, 2026 · Mathlib 0df444a (Lean v4.33.1)

markovprocessmarkovprocess-module-importscope-fullscott-armstrongsource-faithful

Equibounded strong convergence is uniform on compact sets

A family of continuous linear operators whose operator norms share one common bound and which converges to zero at every point converges to zero uniformly on every compact set. The common bound makes the family equi-Lipschitz, so a finite δ-net of the compact set reduces the uniform assertion to finitely many pointwise ones.

Main results: eventually_forall_mem_norm_apply_le_of_isCompact.

Neither completeness of the spaces nor countable generation of the index filter is used, and nothing is asserted about convergence in the operator norm, which is strictly stronger.

Complete pinned Lean module MarkovProcess.Semigroup.CompactStrongConvergence by Scott Armstrong (Apache-2.0). Contains the original definitions, instances, theorems and proofs in their original declaration order. Only local MarkovProcess import directives have been rewritten for Prove2Me; source mathematical declarations are unchanged. The bundle must pass Prove2Me's remote compiler before it can be used as a dependency.

Definition code
/-
Copyright (c) 2026 Scott Armstrong. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Armstrong
-/
import Mathlib.Analysis.Normed.Operator.Basic

/-!
# Equibounded strong convergence is uniform on compact sets

A family of continuous linear operators whose operator norms share one common bound and which
converges to zero at every point converges to zero uniformly on every compact set.  The common
bound makes the family equi-Lipschitz, so a finite `δ`-net of the compact set reduces the uniform
assertion to finitely many pointwise ones.

Main results: `eventually_forall_mem_norm_apply_le_of_isCompact`.

Neither completeness of the spaces nor countable generation of the index filter is used, and
nothing is asserted about convergence in the operator norm, which is strictly stronger.
-/

open Filter Topology

namespace MarkovProcess.Semigroup

variable {E F : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
  [NormedAddCommGroup F] [NormedSpace ℝ F]

/-- **Equibounded strong convergence to zero is uniform on compact sets.**  If the operators
`T i` share the bound `‖T i‖ ≤ C` and `T i x → 0` for every vector `x`, then for every compact
set `K` and every `ε > 0` the estimate `‖T i x‖ ≤ ε` holds for all `x ∈ K` simultaneously,
eventually along the index filter. -/
theorem eventually_forall_mem_norm_apply_le_of_isCompact {ι : Type*} {l : Filter ι}
    (T : ι → E →L[ℝ] F) {C : ℝ} (hC : ∀ i, ‖T i‖ ≤ C)
    (hT : ∀ x, Tendsto (fun i ↦ T i x) l (𝓝 0))
    {K : Set E} (hK : IsCompact K) {ε : ℝ} (hε : 0 < ε) :
    ∀ᶠ i in l, ∀ x ∈ K, ‖T i x‖ ≤ ε := by
  have hCpos : (0 : ℝ) < |C| + 1 := by positivity
  set δ : ℝ := ε / (2 * (|C| + 1)) with hδdef
  have hδ : 0 < δ := by positivity
  obtain ⟨s, -, hsfin, hcover⟩ :=
    hK.elim_finite_subcover_image (c := fun y : E ↦ Metric.ball y δ)
      (fun _ _ ↦ Metric.isOpen_ball)
      (fun y hy ↦ Set.mem_iUnion₂.2 ⟨y, hy, Metric.mem_ball_self hδ⟩)
  have hfin : ∀ᶠ i in l, ∀ y ∈ s, ‖T i y‖ ≤ ε / 2 := by
    rw [Filter.eventually_all_finite hsfin]
    intro y _
    filter_upwards [NormedAddGroup.tendsto_nhds_zero.mp (hT y) (ε / 2) (by positivity)]
      with i hi
    exact hi.le
  filter_upwards [hfin] with i hi x hx
  obtain ⟨y, hy, hxy⟩ := Set.mem_iUnion₂.1 (hcover hx)
  have hdist : ‖x - y‖ ≤ δ := by
    rw [← dist_eq_norm]
    exact (Metric.mem_ball.1 hxy).le
  have hsplit : T i x = T i y + T i (x - y) := by
    rw [← map_add]
    congr 1
    abel
  have hbound : ‖T i (x - y)‖ ≤ ε / 2 := by
    calc
      ‖T i (x - y)‖ ≤ ‖T i‖ * ‖x - y‖ := (T i).le_opNorm _
      _ ≤ (|C| + 1) * δ := by
        refine mul_le_mul ?_ hdist (norm_nonneg _) hCpos.le
        exact (hC i).trans (by linarith [le_abs_self C])
      _ = ε / 2 := by
        rw [hδdef]
        field_simp
  calc
    ‖T i x‖ = ‖T i y + T i (x - y)‖ := by rw [hsplit]
    _ ≤ ‖T i y‖ + ‖T i (x - y)‖ := norm_add_le _ _
    _ ≤ ε / 2 + ε / 2 := add_le_add (hi y hy) hbound
    _ = ε := add_halves ε

end MarkovProcess.Semigroup
Source
https://github.com/scottnarmstrong/MarkovProcess/blob/1f8060caa137731fa08029592019eeaf9d997fe5/MarkovProcess/Semigroup/CompactStrongConvergence.lean

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me