Stratum sweep equality: the level-u census of classes born at b equals the filtered diagram sum over bars with birth b and death below u
ProvedPersistClust.Count.stratum_sweep_equalityLet be a tame one-parameter persistence module: a filtered family of finite components indexed by the real line, governed by a filtration law, with a finite critical set and a persistence diagram whose bar with birth and death carries multiplicity ; the essential bar has death (the extended-real bottom). Assume the diagram has finite support: only finitely many points of the extended plane carry positive multiplicity. Fix a real birth value and a census level that is not a critical value (). Write for the number of components present at level whose birth supremum is exactly , and for the sum of diagram multiplicities over all bars with birth exactly and death strictly below :
where the essential bar is included (its death lies below every real level) and bars with death exactly are excluded (no bar dies at the crit-free level ). The sweep equality states that the level- census of the birth- stratum equals this filtered diagram mass. This is the level-by-level bridge between interleaving census counts and persistence-diagram multiplicities: it converts counting arguments over classes born at a fixed value into counting arguments over diagram bars, and is the engine behind the Hall-type matching arguments used in persistence-based clustering. Formalization note: components, structure maps and birth suprema are the platform's comps/structMap/birthSup structures; is mult of rankFn over the finite diagonal diagram t2_finDiag; deaths below are read in the extended-real order with minimal.
import Mathlib import Definitions.Def_PersistClust_Count_Setting import Definitions.Def_PersistClust_Count_Diagram import Definitions.Def_PersistClust_Count_FiltrationLaw import Definitions.Def_PersistClust_Count_MatchingCensus open PersistClust.Count open scoped ENNReal
namespace PersistClust.Count
theorem stratum_sweep_equality {ι : Type*} {stage : ℝ → Set ι} {J : ℝ → ι → ι → Prop}
(hLaw : FiltrationLaw stage J) (hTame : IsTameModule stage J)
(b u : ℝ) (hfin : {p : EReal × EReal | mult (rankFn stage J) p ≠ 0}.Finite) :
u ∉ (critSet hTame : Set ℝ) → u < b →
({C : comps stage J u | birthSup hLaw u C = b} :
Set (comps stage J u)).encard =
∑ p ∈ ((Set.Finite.toFinset hfin).filter
(fun p => p.1 = ((b : EReal)) ∧ p.2 < ((u : EReal)))),
mult (rankFn stage J) p
:= by sorry