Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Theorem 4.8, p. 22 — with probability ≥ 1 − 𝒩_{δ/8}(𝔽^{cδ})e^{−n¾cδ𝒱_{δ/8}(𝔽^{cδ})} the algorithm outputs as many clusters as f has peaks of prominence ≥ d₂

Proved
PersistClust.Count.theorem_4_8

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

clusteringp2o-batch-pfp2ap2o-gran-per-chapterp2o-plan-paperp2o-v1persistent-homologyriemannian-manifoldsampling

Let X\mathbb XX be an mmm-dimensional Riemannian manifold, possibly with boundary, with geodesic distance dXd_{\mathbb X}dX​, mmm-dimensional Hausdorff measure Hm\mathcal H^mHm and positive strong convexity radius ϱc(X)\varrho_c(\mathbb X)ϱc​(X). Let f:X→Rf:\mathbb X\to\mathbb Rf:X→R be a tame ccc-Lipschitz probability density with respect to Hm\mathcal H^mHm, c>0c>0c>0. Assume the 000-th persistence diagram D0fD_0fD0​f of the superlevel-set filtration of fff is (d1,d2)(d_1,d_2)(d1​,d2​)-separated, with d2>d1≥0d_2>d_1\ge0d2​>d1​≥0. Let δ\deltaδ be a parameter with

0<δ<min⁡{ϱc(X), d2−d15c},0<\delta<\min\Big\{\varrho_c(\mathbb X),\ \frac{d_2-d_1}{5c}\Big\},0<δ<min{ϱc​(X), 5cd2​−d1​​},

and τ\tauτ a threshold in (d1+2cδ, d2−3cδ)(d_1+2c\delta,\ d_2-3c\delta)(d1​+2cδ, d2​−3cδ). Draw nnn points x1,…,xnx_1,\dots,x_nx1​,…,xn​ i.i.d. according to fff and run the clustering algorithm on the values f(xi)f(x_i)f(xi​), the distances dX(xi,xj)d_{\mathbb X}(x_i,x_j)dX​(xi​,xj​) and the parameters δ,τ\delta,\tauδ,τ. Then the probability that, for some sorting order of line 1, the number of clusters output differs from the number of peaks of fff of prominence at least d2d_2d2​ is at most

Nδ/8(Fcδ) e−n34cδ Vδ/8(Fcδ).\mathcal N_{\delta/8}(\mathbb F^{c\delta})\,e^{-n\frac34c\delta\,\mathcal V_{\delta/8}(\mathbb F^{c\delta})}.Nδ/8​(Fcδ)e−n43​cδVδ/8​(Fcδ).

Equivalently, with probability at least 1−Nδ/8(Fcδ)e−n34cδVδ/8(Fcδ)1-\mathcal N_{\delta/8}(\mathbb F^{c\delta})e^{-n\frac34c\delta\mathcal V_{\delta/8}(\mathbb F^{c\delta})}1−Nδ/8​(Fcδ)e−n43​cδVδ/8​(Fcδ) the algorithm returns as many clusters as fff has d2d_2d2​-prominent peaks, whatever the tie-breaking. Here Fcδ=f−1([cδ,+∞))\mathbb F^{c\delta}=f^{-1}([c\delta,+\infty))Fcδ=f−1([cδ,+∞)), and the number of peaks of prominence at least d2d_2d2​ is the total multiplicity of D0fD_0fD0​f in Δd2S={py≤px−d2}\Delta^S_{d_2}=\{p_y\le p_x-d_2\}Δd2​S​={py​≤px​−d2​}.

This is the main result of the paper: a guarantee on the number of clusters recovered by persistence-based clustering from i.i.d. samples on a possibly non-compact manifold.

Formalization Note c>0c>0c>0 is required because the paper divides by ccc. The probability statement bounds the outer measure of the failure event, with the right-hand side in [0,+∞][0,+\infty][0,+∞] (e−∞=0e^{-\infty}=0e−∞=0, 0⋅∞=00\cdot\infty=00⋅∞=0). The algorithm is the union-find procedure of §3, run on the index set {1,…,n}\{1,\dots,n\}{1,…,n}; the statement quantifies over every sorting permutation. Hm\mathcal H^mHm is Mathlib's unnormalized Hausdorff measure, a constant multiple of the normalized one; the theorem is invariant under that rescaling.

Preamble
import Mathlib
import Definitions.Def_PersistClust_Count_Setting
import Definitions.Def_PersistClust_Count_Diagram
import Definitions.Def_PersistClust_Count_Rips
import Definitions.Def_PersistClust_Count_Algorithm

open MeasureTheory Bundle
open scoped ContDiff Manifold
Formal statement
namespace PersistClust.Count

theorem theorem_4_8
    {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E]
    {H : Type*} [TopologicalSpace H] {I : ModelWithCorners ℝ E H}
    {X : Type*} [MetricSpace X] [ChartedSpace H X] [IsManifold I ∞ X]
    [RiemannianBundle (fun x : X ↦ TangentSpace I x)]
    [IsContMDiffRiemannianBundle I ∞ E (fun x : X ↦ TangentSpace I x)]
    [IsRiemannianManifold I X] [MeasurableSpace X] [BorelSpace X]
    (hconv : 0 < convexityRadius X)
    (f : X → ℝ) (c : ℝ) (hc : 0 < c) (hLip : ∀ x y, |f x - f y| ≤ c * dist x y)
    (hdens : IsDensity (μH[(Module.finrank ℝ E : ℝ)] : Measure X) f) (htame : IsTame0 f)
    (d₁ d₂ : ℝ) (hd₁ : 0 ≤ d₁) (hd : d₁ < d₂) (hsep : IsSeparated (diagram0 f) d₁ d₂)
    (δ : ℝ) (hδ : 0 < δ) (hδρ : ENNReal.ofReal δ < convexityRadius X)
    (hδc : δ < (d₂ - d₁) / (5 * c))
    (τ : ℝ) (hτ₁ : d₁ + 2 * c * δ < τ) (hτ₂ : τ < d₂ - 3 * c * δ) (n : ℕ) :
    sampleMeasure (μH[(Module.finrank ℝ E : ℝ)] : Measure X) n f
        {pts | ¬ ∀ σ : Fin n ≃ Fin n, IsSortOrder (f ∘ pts) σ →
          (numClusters (f ∘ pts) (fun i j => dist (pts i) (pts j)) δ τ σ : ℕ∞)
            = prominentCount (diagram0 f) d₂}
      ≤ (coveringNumber (δ / 8) (superlevel f (c * δ)) : ENNReal)
        * expBound (n * (3 / 4 * c * δ))
            (minBallMeasure (μH[(Module.finrank ℝ E : ℝ)] : Measure X) (δ / 8)
              (superlevel f (c * δ))) := by sorry

end PersistClust.Count
Source
Chazal, Guibas, Oudot, Skraba, Persistence-Based Clustering in Riemannian Manifolds, INRIA RR-6968 (HAL inria-00389390v1, 2009), p. 22, Theorem 4.8
Human review
  • Endorsed by Shuze Chen · Oct 8, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 8, 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