Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Lemma 3 — Portmanteau characterization by upper semicontinuous functions

Proved
WassersteinLinOpt.Ball.tendsto_iff_limsup_quasiIntegral_le

by mikedeng1 · Oct 2, 2026 · Mathlib 0df444a (Lean v4.33.1)

distributionally-robust-optimizationmeasure-theoryoptimal-transportwasserstein

Throughout, (X,d)(X,d)(X,d) is a proper metric space (every closed ball is compact; such a space is complete and separable, hence Polish) with its Borel σ\sigmaσ-algebra, and p≥1p \ge 1p≥1, r>0r > 0r>0 are real.

Lemma 3. A sequence (μk)k(\mu^k)_k(μk)k​ in P(X)\mathcal P(X)P(X) converges weakly to μ∞∈P(X)\mu^\infty\in\mathcal P(X)μ∞∈P(X) if and only if for every function g:X→Rg:X\to\mathbb Rg:X→R that is bounded above and upper semicontinuous,

lim sup⁡k→∞∫Xg dμk≤∫Xg dμ∞.\limsup_{k\to\infty}\int_X g\,d\mu^k\le\int_X g\,d\mu^\infty .k→∞limsup​∫X​gdμk≤∫X​gdμ∞.

This excerpt of the Portmanteau theorem is what Theorem 3's proof uses for a truncated objective.

Formalization Note. Weak convergence is Filter.Tendsto μs atTop (nhds μlim) in ProbabilityMeasure X. Since ggg is bounded above, ∫[g]+\int[g]_+∫[g]+​ is finite and the integral is a well-defined value in [−∞,∞)[-\infty,\infty)[−∞,∞), taken as quasiIntegral in EReal; the lim sup⁡\limsuplimsup is Filter.limsup in EReal.

Preamble
import Mathlib
import Definitions.Def_WassersteinLinOpt_Ball_quasiIntegral

open MeasureTheory
open scoped ENNReal NNReal
Formal statement
namespace WassersteinLinOpt.Ball

/-- Lemma 3 (Appendix A, p. 1120; excerpted from the Portmanteau theorem). A sequence `μᵏ` in
`𝒫(X)` converges weakly to `μ^∞` iff `limsup_k ∫ g dμᵏ ≤ ∫ g dμ^∞` for every upper-bounded,
upper semicontinuous `g : X → ℝ`. The integrals are extended-real (they may be `−∞`). -/
theorem tendsto_iff_limsup_quasiIntegral_le {X : Type*} [MetricSpace X] [ProperSpace X]
    [MeasurableSpace X] [BorelSpace X] (μs : ℕ → ProbabilityMeasure X)
    (μlim : ProbabilityMeasure X) :
    Filter.Tendsto μs Filter.atTop (nhds μlim) ↔
      ∀ g : X → ℝ, BddAbove (Set.range g) → UpperSemicontinuous g →
        Filter.limsup (fun k => quasiIntegral g (μs k : Measure X)) Filter.atTop ≤
          quasiIntegral g (μlim : Measure X) := by sorry

end WassersteinLinOpt.Ball
Source
Yue, Kuhn & Wiesemann, On linear optimization over Wasserstein balls, Math. Program. 195 (2022) 1107–1122, https://doi.org/10.1007/s10107-021-01673-8, p. 1120, Lemma 3 (Appendix A)
Read-back

What the Lean code literally says, in plain math · claude-opus-5-5

Setting. XXX is a proper metric space with its Borel σ-algebra. The inputs are a sequence μ1,μ2,…\mu_1, \mu_2, \dotsμ1​,μ2​,… of probability measures on XXX and a probability measure μ∞\mu^\inftyμ∞ on XXX.

The statement. The following two conditions are equivalent.

  1. μk→μ∞\mu_k \to \mu^\inftyμk​→μ∞ as k→∞k \to \inftyk→∞ in Mathlib's topology on probability measures. This is the weak-convergence topology, generated by μ↦∫h dμ\mu \mapsto \int h\,d\muμ↦∫hdμ for bounded continuous h:X→[0,∞)h : X\to[0,\infty)h:X→[0,∞).
  2. For every function g:X→Rg : X \to \mathbb{R}g:X→R that is bounded above and upper semicontinuous,
lim sup⁡k→∞(∫[g]+ dμk−∫[−g]+ dμk)  ≤  ∫[g]+ dμ∞−∫[−g]+ dμ∞.\limsup_{k\to\infty} \Big(\int [g]_+\,d\mu_k - \int [-g]_+\,d\mu_k\Big) \;\le\; \int [g]_+\,d\mu^\infty - \int [-g]_+\,d\mu^\infty.k→∞limsup​(∫[g]+​dμk​−∫[−g]+​dμk​)≤∫[g]+​dμ∞−∫[−g]+​dμ∞.

The integrals are [0,+∞][0,+\infty][0,+∞]-valued. The differences and the limit superior are computed in the extended reals [−∞,+∞][-\infty,+\infty][−∞,+∞].

Degenerate cases.

  • Finite positive part: because ggg is bounded above and the measures are probability measures, each positive part ∫[g]+\int [g]_+∫[g]+​ is finite. Each difference therefore lies in [−∞,+∞)[-\infty, +\infty)[−∞,+∞), and the evaluation of (+∞)−(+∞)(+\infty) - (+\infty)(+∞)−(+∞) to −∞-\infty−∞ never occurs.
  • Differences equal to −∞-\infty−∞: a difference is −∞-\infty−∞ exactly when ∫[−g]+=+∞\int [-g]_+ = +\infty∫[−g]+​=+∞.
  • XXX empty: there are no probability measures, so the statement is vacuous.
Human review
  • Endorsed by Shuze Chen · Oct 21, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 21, 2026

    Confirmed by the mission captain (proposal self-audit).

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