Documentation

CsdLean4.Mathlib.Dynamics.CorrelationDecay

Quantitative correlation decay forces time averages to the space average #

Category: 1-Mathlib. Nothing here mentions CSD; this is elementary ergodic-theory-flavoured measure theory, and it is the engine the equilibration arc's E4 needs (specs/equilibration-arc-plan.md).

The statement, and why it is shaped this way #

E4 wants: if the flow has decaying correlations, then time-averaged observables converge to the space average, at a rate controlled by that decayexplicitly conditional; mixing is never proved here or anywhere in the corpus.

The antecedent is deliberately quantitative correlation decay (HasCorrelationDecay), an explicit bound |⟨(f∘Φ^s)(f∘Φ^t)⟩ − ⟨f⟩²| ≤ ε (dist s t), rather than abstract mixing. That choice is the difference between a feasible brick and a blocked one:

From the quantitative antecedent the Cesàro estimate is elementary: expand the square of the Birkhoff average, and the double sum is controlled by counting how often each distance occurs.

What is proved #

⚠️ Honest scope #

Reference: specs/equilibration-arc-plan.md (E4); MATHLIB-GAPS.md (the Birkhoff row); specs/future-work.md.

The pair-distance counting bound #

theorem MeasureTheory.sum_sum_nat_dist_le {ε : } {T : } ( : u < T, 0 ε u) :
sFinset.range T, tFinset.range T, ε (s.dist t) 2 * T * uFinset.range T, ε u

Each distance is counted at most twice per row. For a nonnegative weight ε depending only on Nat.dist, the total over a T × T block is at most 2T Σ_{u<T} ε u.

This is the whole combinatorial content of the Cesàro estimate below: within a row s, the map t ↦ Nat.dist s t is injective on each side of the diagonal separately (not globally — the truncated subtraction t - s collapses the whole left half to 0), so the row splits into two injective pieces, each of which reindexes into range T.

The antecedent #

def MeasureTheory.HasCorrelationDecay {X : Type u_1} [MeasurableSpace X] (μ : Measure X) (Φ : XX) (f : X) (ε : ) :

Quantitative correlation decay — E4's antecedent, and the only hypothesis about the dynamics anywhere in this file. The pair correlation of f along the iterates of Φ sits within ε (Nat.dist s t) of the product of means.

Stated as an explicit bound rather than as abstract mixing, deliberately: see the module header. Any prose derived from the theorems below must carry this hypothesis with it — nothing here says that any particular dynamics satisfies it.

Equations
Instances For
    theorem MeasureTheory.HasCorrelationDecay.nonneg {X : Type u_1} [MeasurableSpace X] {μ : Measure X} {Φ : XX} {f : X} {ε : } (h : HasCorrelationDecay μ Φ f ε) (u : ) :
    0 ε u

    A decay envelope is automatically nonnegative — it dominates an absolute value.

    def MeasureTheory.HasCorrelationDecayUpTo {X : Type u_1} [MeasurableSpace X] (μ : Measure X) (Φ : XX) (f : X) (ε : ) (T : ) :

    Finite-horizon correlation decay — the antecedent weakened to a bounded window of lags.

    This is the escape route from the arc's own no-go. E6 (CSD.Thermo.not_hasCorrelationDecay_blockPop_of_unitary) shows that no unitary flow on a finite-dimensional space can satisfy HasCorrelationDecay with a summable envelope: its powers recur, so the correlations recur too. That argument needs the bound at arbitrarily large lags. Over a bounded window it says nothing, and a unitary flow on a large space can decorrelate for a very long time before recurring — which is what a physical environment actually does.

    So the theorems below are the honest form for finite-dimensional dynamics: a statement at horizon T, with no asymptotics and no conflict with E6. See specs/q12-fibre-mechanism-scoping.md (W1, and Q12-d route 2).

    Equations
    Instances For
      theorem MeasureTheory.HasCorrelationDecay.upTo {X : Type u_1} [MeasurableSpace X] {μ : Measure X} {Φ : XX} {f : X} {ε : } (h : HasCorrelationDecay μ Φ f ε) (T : ) :

      Asymptotic decay is finite-horizon decay at every horizon.

      theorem MeasureTheory.HasCorrelationDecayUpTo.nonneg {X : Type u_1} [MeasurableSpace X] {μ : Measure X} {Φ : XX} {f : X} {ε : } {T : } (h : HasCorrelationDecayUpTo μ Φ f ε T) {u : } (hu : u < T) :
      0 ε u

      ★ The Cesàro estimate #

      theorem MeasureTheory.integral_birkhoffAverage_sub_sq_le {X : Type u_1} [MeasurableSpace X] {μ : Measure X} [IsProbabilityMeasure μ] {Φ : XX} {f : X} {ε : } {C : } ( : Measurable Φ) (hf : Measurable f) (hC : 0 C) (hfb : ∀ (x : X), |f x| C) (hmean : ∀ (t : ), (x : X), f (Φ^[t] x) μ = (y : X), f y μ) {T : } (hdec : HasCorrelationDecayUpTo μ Φ f ε T) (hT : 0 < T) :
      (x : X), (birkhoffAverage Φ f T x - (y : X), f y μ) ^ 2 μ (T ^ 2)⁻¹ * sFinset.range T, tFinset.range T, ε (s.dist t)

      The sharp Cesàro estimate. The mean square deviation of the Birkhoff average from the space average is controlled by the correlation envelope over the T × T block of time pairs.

      Note what is not assumed: no ergodicity, no mixing, no measure-preservation. The only inputs are that f is bounded and measurable, that its mean is stationary (hmean), and the quantitative decay.

      theorem MeasureTheory.integral_birkhoffAverage_sub_sq_le_cesaro {X : Type u_1} [MeasurableSpace X] {μ : Measure X} [IsProbabilityMeasure μ] {Φ : XX} {f : X} {ε : } {C : } ( : Measurable Φ) (hf : Measurable f) (hC : 0 C) (hfb : ∀ (x : X), |f x| C) (hmean : ∀ (t : ), (x : X), f (Φ^[t] x) μ = (y : X), f y μ) {T : } (hdec : HasCorrelationDecayUpTo μ Φ f ε T) (hT : 0 < T) :
      (x : X), (birkhoffAverage Φ f T x - (y : X), f y μ) ^ 2 μ 2 * (↑T)⁻¹ * uFinset.range T, ε u

      ★★ The Cesàro estimate in usable form: the mean square deviation of the time average from the space average is at most (2/T) Σ_{u<T} ε u.

      The factor two is the counting bound sum_sum_nat_dist_le: across the T × T block of time pairs each distance occurs at most twice per row.

      theorem MeasureTheory.tendsto_integral_birkhoffAverage_sub_sq {X : Type u_1} [MeasurableSpace X] {μ : Measure X} [IsProbabilityMeasure μ] {Φ : XX} {f : X} {ε : } {C : } ( : Measurable Φ) (hf : Measurable f) (hC : 0 C) (hfb : ∀ (x : X), |f x| C) (hmean : ∀ (t : ), (x : X), f (Φ^[t] x) μ = (y : X), f y μ) (hdec : HasCorrelationDecay μ Φ f ε) (hsum : Summable ε) :
      Filter.Tendsto (fun (T : ) => (x : X), (birkhoffAverage Φ f T x - (y : X), f y μ) ^ 2 μ) Filter.atTop (nhds 0)

      ★★ E4's consequent. If the correlation envelope is summable, the time averages converge to the space average in .

      This is equilibration conditional on decay — the hypothesis hdec is doing all the work and must travel with any statement derived from this theorem. Nothing here exhibits a dynamics with decaying correlations.

      ★ The antecedent has teeth: periodic dynamics cannot satisfy it #

      theorem MeasureTheory.HasCorrelationDecay.integral_mul_self_eq_of_recurrent {X : Type u_1} [MeasurableSpace X] {μ : Measure X} {Φ : XX} {f : X} {ε : } (hrec : ∀ (δ : ), 0 < δ∀ (M : ), ∃ (u : ), M u | (x : X), f x * f (Φ^[u] x) μ - (x : X), f x * f x μ| < δ) (hdec : HasCorrelationDecay μ Φ f ε) (hsum : Summable ε) :
      (x : X), f x * f x μ = ( (y : X), f y μ) ^ 2

      ★★ Recurrence of the correlation function kills decay. If the correlation returns arbitrarily close to its lag-zero value ⟨f²⟩ at arbitrarily large lags, then a summable envelope forces ⟨f²⟩ = ⟨f⟩² — an a.e. constant observable.

      This is the sharpness statement for HasCorrelationDecay, and hrec is exactly the property that almost periodic dynamics has: a system that keeps returning near its starting configuration cannot have correlations that fade. Two systems of interest satisfy hrec: periodic maps (below, exactly) and unitary flows on a finite-dimensional space (CSD.Thermo, via compactness of the unitary group).

      The proof is a three-term triangle inequality: ⟨f²⟩ is near C u by recurrence, C u is near ⟨f⟩² by decay, and both gaps can be made smaller than half of |⟨f²⟩ − ⟨f⟩²|.

      theorem MeasureTheory.HasCorrelationDecay.integral_mul_self_eq_of_periodic {X : Type u_1} [MeasurableSpace X] {μ : Measure X} {Φ : XX} {f : X} {ε : } {k : } (hk : 0 < k) (hper : Φ^[k] = id) (hdec : HasCorrelationDecay μ Φ f ε) (hsum : Summable ε) :
      (x : X), f x * f x μ = ( (y : X), f y μ) ^ 2

      A periodic map forces zero variance — the special case of integral_mul_self_eq_of_recurrent in which the correlation does not merely return near ⟨f²⟩ but hits it exactly, at every multiple of the period.

      Every measure-preserving map of a finite or countable probability space is periodic on its support, so no such space carries a non-trivial witness: a genuine one needs a non-atomic space, which is why CorrelationDecayWitness builds on the circle.

      The measure-preserving bridge #

      The analytic core above deliberately takes hmean and the two-index decay as bare hypotheses, so that it contains no dynamics at all. These two lemmas supply both from the natural inputs: a measure-preserving map and a one-lag decay bound, which is what a physical estimate actually provides.

      theorem MeasureTheory.integral_comp_of_measurePreserving {X : Type u_1} [MeasurableSpace X] {μ : Measure X} {Ψ : XX} ( : MeasurePreserving Ψ μ μ) {f : X} (hf : AEStronglyMeasurable f μ) :
      (x : X), f (Ψ x) μ = (y : X), f y μ

      Precomposing with a measure-preserving self-map does not change an integral.

      theorem MeasureTheory.integral_iterate_of_measurePreserving {X : Type u_1} [MeasurableSpace X] {μ : Measure X} {Φ : XX} ( : MeasurePreserving Φ μ μ) {f : X} (hf : AEStronglyMeasurable f μ) (t : ) :
      (x : X), f (Φ^[t] x) μ = (y : X), f y μ

      Along a measure-preserving map, the mean of an observable is stationary — this is hmean.

      theorem MeasureTheory.integral_eq_zero_of_measurePreserving_neg {X : Type u_1} [MeasurableSpace X] {μ : Measure X} {Ψ : XX} ( : MeasurePreserving Ψ μ μ) {g : X} (hg : Integrable g μ) (hflip : ∀ (x : X), g (Ψ x) = -g x) :
      (x : X), g x μ = 0

      An odd symmetry kills an integral. If some measure-preserving involution-like translation negates the integrand, the integral vanishes — the sign-flip argument of Q24, in the form the circle witness uses.

      theorem MeasureTheory.HasCorrelationDecay.of_measurePreserving {X : Type u_1} [MeasurableSpace X] {μ : Measure X} {Φ : XX} {f : X} {ε : } ( : MeasurePreserving Φ μ μ) (hf : Measurable f) (hlag : ∀ (u : ), | (x : X), f x * f (Φ^[u] x) μ - ( (y : X), f y μ) ^ 2| ε u) :

      From a one-lag bound to the two-index antecedent. For a measure-preserving map the pair correlation depends only on the lag, so a decay estimate at each lag u — the form a physical argument produces — gives HasCorrelationDecay.