Experimentation.Super­Population.Mean­CLT

This roll-up imports the construction of centered, variance-normalized network fields, the hypotheses that make those fields mean-zero and unit-variance, and the final CLT turning the abstract m-dependent network-sum the

Field 3 core · 0 supporting To make the abstract m-dependent network CLT (networkSum_clt) usable for a concrete *mean*-type estimand we must first turn raw network-dependent outcomes Y i : Ω → ℝ (with a common mean and a positive sum-variance s² = ★ centeredNormalizedField_X★ centeredNormalizedField_adj

Centered/normalized network field for a super-population mean

To make the abstract m-dependent network CLT (networkSum_clt) usable for a concrete *mean*-type estimand we must first turn raw network-dependent outcomes Y i : Ω → ℝ (with a common mean and a positive sum-variance s² = Var(∑ᵢ Yᵢ)) into a NetworkDependence field whose summand is the standardized contribution Xᵢ = (Yᵢ − E[Yᵢ]) / s. This file performs that construction.

The only nontrivial field obligation is indep: the standardized tuple fun k ∈ A => Xₖ is an affine, measurable function of the outcome tuple fun k ∈ A => Yₖ, so the outcome-level m-dependence (non-adjacent outcome tuples independent) transfers to the standardized field by IndepFun.comp. The remaining structure data (the reflexive/symmetric network and measurability) is inherited verbatim from the outcome-level hypotheses.

The three field hypotheses required by networkSum_clt — mean-zero, unit total variance, and the uniform summand bound — are derived (not re-assumed) in Hypotheses.lean; the final CLT corollary networkMean_clt lives in MeanCLT.lean.

def centeredNormalizedField reviewed
Causalean.Experimentation.SuperPopulation.MeanCLT

The centered/normalized network field for a super-population mean. From raw outcomes Y i : Ω → ℝ carrying a reflexive/symmetric measurable m-dependent network and a normalizer s (intended s = √Var(∑ᵢ Yᵢ)), build the NetworkDependence whose summand is the standardized contribution Xᵢ = (Yᵢ − E[Yᵢ]) / s.

Definition (Lean source)
noncomputable def centeredNormalizedField (s : ℝ) : NetworkDependence V Ω μ where X i ω := (Y i ω - ∫ x, Y i x ∂μ) / s adj := adj decAdj := inferInstance refl := hrefl symm := hsymm meas i := ((hmeasY i).sub measurable_const).div_const s indep A B hAB := by -- Transfer the outcome m-dependence through the affine measurable standardization map -- `v ↦ fun k => (v k − E[Yₖ]) / s` via `IndepFun.comp`. have h := hindepY A B hAB let φ : (A → ℝ) → (A → ℝ) := fun v k => (v k - ∫ x, Y (k : V) x ∂μ) / s let ψ : (B → ℝ) → (B → ℝ) := fun v k => (v k - ∫ x, Y (k : V) x ∂μ) / s have hφ : Measurable φ := by exact measurable_pi_lambda φ fun k => by have hc : Measurable (fun _ : A → ℝ => ∫ x, Y (k : V) x ∂μ) := measurable_const simpa [φ] using ((measurable_pi_apply k).sub hc).div_const s have hψ : Measurable ψ := by exact measurable_pi_lambda ψ fun k => by have hc : Measurable (fun _ : B → ℝ => ∫ x, Y (k : V) x ∂μ) := measurable_const simpa [ψ] using ((measurable_pi_apply k).sub hc).div_const s exact h.comp hφ hψ
Causalean.Experimentation.SuperPopulation.MeanCLT.centeredNormalizedField · Causalean/Experimentation/SuperPopulation/MeanCLT/Field.lean:41 · uses NetworkDependence
theorem centeredNormalizedField_X reviewed
Causalean.Experimentation.SuperPopulation.MeanCLT

The standardized summand for unit i at sample point ω is the centered outcome Yᵢ ω − E[Yᵢ] divided by the normalizing constant s.

Formal statement
s :
i :
V
ω :
Ω
(centeredNormalizedField Y adj hrefl hsymm hmeasY hindepY s).X i ω
= (Y i ω - ∫ x, Y i x ∂μ) / s
Proof (Lean source)
@[simp] theorem centeredNormalizedField_X (s : ℝ) (i : V) (ω : Ω) : (centeredNormalizedField Y adj hrefl hsymm hmeasY hindepY s).X i ω = (Y i ω - ∫ x, Y i x ∂μ) / s := rfl
Causalean.Experimentation.SuperPopulation.MeanCLT.centeredNormalizedField_X · Causalean/Experimentation/SuperPopulation/MeanCLT/Field.lean:78 · uses centeredNormalizedField
theorem centeredNormalizedField_adj reviewed
Causalean.Experimentation.SuperPopulation.MeanCLT

The interference network underlying the standardized field is exactly the supplied network adj.

Formal statement
s :
(centeredNormalizedField Y adj hrefl hsymm hmeasY hindepY s).adj = adj
Proof (Lean source)
@[simp] theorem centeredNormalizedField_adj (s : ℝ) : (centeredNormalizedField Y adj hrefl hsymm hmeasY hindepY s).adj = adj := rfl
Causalean.Experimentation.SuperPopulation.MeanCLT.centeredNormalizedField_adj · Causalean/Experimentation/SuperPopulation/MeanCLT/Field.lean:84 · uses centeredNormalizedField
Hypotheses 1 core · 2 supporting The abstract network CLT networkSum_clt consumes three facts about the summand field: the summands are mean-zero, the network sum has unit total variance, and the summands are uniformly bounded. ★ centeredNormalizedField_sq_integral

Field hypotheses for the standardized network field

The abstract network CLT networkSum_clt consumes three facts about the summand field: the summands are mean-zero, the network sum has unit total variance, and the summands are uniformly bounded. For the standardized field centeredNormalizedField (summand Xᵢ = (Yᵢ − E[Yᵢ]) / s) all three are derived here from the outcome-level assumptions — they are not re-assumed.

* centeredNormalizedField_integral_eq_zero — mean-zero: E[Xᵢ] = (E[Yᵢ] − E[Yᵢ])/s = 0. * centeredNormalizedField_sq_integral — unit total variance: with s² = Var(∑ᵢ Yᵢ), ∫ (∑ᵢ Xᵢ)² = Var(∑ᵢ Yᵢ)/s² = 1. * centeredNormalizedField_abs_le — uniform bound: |Xᵢ| ≤ 2c/s whenever |Yᵢ − E[Yᵢ]| ≤ c.

theorem centeredNormalizedField_sq_integral reviewed
Causalean.Experimentation.SuperPopulation.MeanCLT

Unit total variance. If each outcome is square-integrable, the normalizing constant s is positive, and equals the variance of the network sum of outcomes, s² = Var(∑ᵢ Yᵢ), then the standardized network sum ∑ᵢ Xᵢ = (∑ᵢ Yᵢ − ∑ᵢ E[Yᵢ]) / s has unit total variance: ∫ (∑ᵢ Xᵢ)² = 1. This is the field-variance hypothesis of networkSum_clt (∫ (depSum X)² = 1), derived from the outcome sum-variance.

Formal statement
hL2 :
∀ i, MemLp (Y i) 2 μ
s :
hs_pos :
0 < s
hs2 :
s ^ 2 = variance (fun ω => ∑ i, Y i ω) μ
∫ ω, (depSum (centeredNormalizedField Y adj hrefl hsymm hmeasY hindepY s).X ω) ^ 2 ∂μ = 1
Proof (Lean source)
theorem centeredNormalizedField_sq_integral (hL2 : ∀ i, MemLp (Y i) 2 μ) (s : ℝ) (hs_pos : 0 < s) (hs2 : s ^ 2 = variance (fun ω => ∑ i, Y i ω) μ) : ∫ ω, (depSum (centeredNormalizedField Y adj hrefl hsymm hmeasY hindepY s).X ω) ^ 2 ∂μ = 1 := by let S : Ω → ℝ := fun ω => ∑ i, Y i ω let C : ℝ := ∑ i, ∫ x, Y i x ∂μ have hs_ne : s ≠ 0 := ne_of_gt hs_pos have hS_mem : MemLp S 2 μ := by simpa [S] using (memLp_finset_sum univ (fun i _ => hL2 i)) have hsum_eq : depSum (centeredNormalizedField Y adj hrefl hsymm hmeasY hindepY s).X = fun ω => (S ω - C) / s := by funext ω simp only [depSum, centeredNormalizedField_X] dsimp [S, C] rw [← Finset.sum_div, Finset.sum_sub_distrib] have hS_integral : ∫ ω, S ω ∂μ = C := by dsimp [S, C] rw [integral_finset_sum univ] intro i _ exact (hL2 i).integrable (by norm_num) have hsum_int_zero : ∫ ω, depSum (centeredNormalizedField Y adj hrefl hsymm hmeasY hindepY s).X ω ∂μ = 0 := by rw [hsum_eq, integral_div] rw [integral_sub (hS_mem.integrable (by norm_num)) (integrable_const C)] simp [hS_integral, integral_const, probReal_univ] have hsum_aemeas : AEMeasurable (depSum (centeredNormalizedField Y adj hrefl hsymm hmeasY hindepY s).X) μ := by rw [hsum_eq] exact (hS_mem.aemeasurable.sub_const C).div_const s rw [← variance_of_integral_eq_zero hsum_aemeas hsum_int_zero, hsum_eq] have hscaled_mem : MemLp (fun ω => S ω / s) 2 μ := by convert hS_mem.mul_const (1 / s) using 1 ext ω ring calc variance (fun ω => (S ω - C) / s) μ = variance (fun ω => S ω / s) μ := by calc variance (fun ω => (S ω - C) / s) μ = variance (fun ω => S ω / s + (-C / s)) μ := by congr ext ω ring _ = variance (fun ω => S ω / s) μ := by exact variance_add_const hscaled_mem.aestronglyMeasurable (-C / s) _ = variance S μ / s ^ 2 := by calc variance (fun ω => S ω / s) μ = variance (fun ω => S ω * (1 / s)) μ := by congr ext ω ring _ = variance S μ * (1 / s) ^ 2 := by rw [variance_mul_const] _ = variance S μ / s ^ 2 := by field_simp [hs_ne] _ = 1 := by have hvarS : variance S μ = s ^ 2 := by simpa [S] using hs2.symm rw [hvarS] exact div_self (pow_ne_zero 2 hs_ne)
Causalean.Experimentation.SuperPopulation.MeanCLT.centeredNormalizedField_sq_integral · Causalean/Experimentation/SuperPopulation/MeanCLT/Hypotheses.lean:49 · uses centeredNormalizedField , depSum
2 supporting declarations (lemmas, instances)
  • centeredNormalizedField_integral_eq_zero theorem — Mean-zero summands. Each standardized summand has integral zero: E[Xᵢ] = (E[Yᵢ] − E[Yᵢ]) / s = 0. (Uses integrability of Yᵢ, from MemLp Yᵢ 2.)
    hL2 :
    ∀ i, MemLp (Y i) 2 μ
    s :
    i :
    V
    ∫ ω, (centeredNormalizedField Y adj hrefl hsymm hmeasY hindepY s).X i ω ∂μ = 0
    Proof (Lean source)
    theorem centeredNormalizedField_integral_eq_zero (hL2 : ∀ i, MemLp (Y i) 2 μ) (s : ℝ) (i : V) : ∫ ω, (centeredNormalizedField Y adj hrefl hsymm hmeasY hindepY s).X i ω ∂μ = 0 := by simp only [centeredNormalizedField_X] rw [integral_div] rw [integral_sub ((hL2 i).integrable (by norm_num)) (integrable_const _)] simp [integral_const, probReal_univ]
    Causalean.Experimentation.SuperPopulation.MeanCLT.centeredNormalizedField_integral_eq_zero · Causalean/Experimentation/SuperPopulation/MeanCLT/Hypotheses.lean:39
  • centeredNormalizedField_abs_le theorem — Uniform summand bound. If the centered outcomes are bounded, |Yᵢ − E[Yᵢ]| ≤ c, then each standardized summand satisfies |Xᵢ| ≤ 2c/s (with s > 0). The tight bound is c/s, weakened to 2c/s to match the engine's card·Bₙ³ → 0 smallness with Bₙ = 2c/s.
    s :
    hs_pos :
    0 < s
    c :
    hc :
    ∀ i ω, |Y i ω - ∫ x, Y i x ∂μ| ≤ c
    i :
    V
    ω :
    Ω
    |(centeredNormalizedField Y adj hrefl hsymm hmeasY hindepY s).X i ω| ≤ 2 * c / s
    Proof (Lean source)
    theorem centeredNormalizedField_abs_le (s : ℝ) (hs_pos : 0 < s) (c : ℝ) (hc : ∀ i ω, |Y i ω - ∫ x, Y i x ∂μ| ≤ c) (i : V) (ω : Ω) : |(centeredNormalizedField Y adj hrefl hsymm hmeasY hindepY s).X i ω| ≤ 2 * c / s := by simp only [centeredNormalizedField_X] rw [abs_div, abs_of_pos hs_pos] have hc_nonneg : 0 ≤ c := le_trans (abs_nonneg _) (hc i ω) calc |Y i ω - ∫ x, Y i x ∂μ| / s ≤ c / s := by exact div_le_div_of_nonneg_right (hc i ω) hs_pos.le _ ≤ 2 * c / s := by exact div_le_div_of_nonneg_right (by nlinarith) hs_pos.le
    Causalean.Experimentation.SuperPopulation.MeanCLT.centeredNormalizedField_abs_le · Causalean/Experimentation/SuperPopulation/MeanCLT/Hypotheses.lean:124
Mean­CLT 1 core · 0 supporting This is the consumer-facing bridge that makes the abstract m-dependent network CLT (Causalean.Experimentation.SuperPopulation.networkSum_clt) usable for raw network-dependent outcomes with positive sum-variance. ★ networkMean_clt

Asymptotic normality of a centered super-population network sum

This is the consumer-facing bridge that makes the abstract m-dependent network CLT (Causalean.Experimentation.SuperPopulation.networkSum_clt) usable for raw network-dependent outcomes with positive sum-variance. It proves standardized asymptotic normality for the centered network sum, subtracting the sum of the individual outcome means; a sample-mean formulation requires an additional external common-mean or normalization rewrite.

networkMean_clt assembles the pieces: it builds the standardized field (centeredNormalizedField), discharges the engine's three hypotheses (mean-zero, unit total variance, uniform bound — proved in Hypotheses.lean), derives the summand-size negligibility B n → 0 from the population-level smallness card(Vₙ)·(cₙ/sₙ)³ → 0 (using that a positive sum-variance forces a nonempty population), feeds networkSum_clt, and rewrites the engine's pushforward CDF into the studentized probability set {ω | (∑ᵢ Yₙ ᵢ − ∑ᵢ E[Yₙ ᵢ]) / sₙ ≤ t}.

The reduction follows Causalean.Experimentation.DesignBased.prodDesign_clt.

theorem networkMean_clt reviewed
Causalean.Experimentation.SuperPopulation.MeanCLT

Asymptotic normality of a centered super-population network sum. Fix a family of outcomes Y n over probability spaces with measures μ n and a reflexive, symmetric adjacency relation adj n recording which units interfere, with every outcome measurable, outcome tuples on non-adjacent unit sets independent — i.e. m-dependence — and adjacency degree bounded by m. Assume every outcome is square-integrable, a positive normalizing constant s n with (s n)² = Var(∑ᵢ Yₙᵢ), outcomes uniformly bounded around their means by a sequence c n, and the negligibility rate card(Vₙ)·(cₙ/sₙ)³ → 0. Then the network sum, centered by subtracting the sum of the individual outcome means and divided by s n, converges in distribution to the standard normal.

Formal statement
V :
ℕ → Type*
∀ n, Fintype (V n)
Ω :
ℕ → Type*
∀ n, MeasurableSpace (Ω n)
μ :
∀ n, Measure (Ω n)
∀ n, IsProbabilityMeasure (μ n)
Y :
∀ n
if
V n
and
Ω n
then
adj :
∀ n
if
V n
and
V n
then
Prop
∀ n, DecidableRel (adj n)
hrefl :
∀ n i, adj n i i
hsymm :
∀ n i j
if
adj n i j
then
adj n j i
hmeasY :
∀ n i, Measurable (Y n i)
hindepY :
∀ n,
∀ A B : Finset (V n),
(∀ a ∈ A, ∀ b ∈ B, ¬ adj n a b) → IndepFun (fun ω => fun k : A => Y n k ω) (fun ω => fun k : B => Y n k ω) (μ n)
m :
hdeg :
∀ n i, (Finset.univ.filter (fun j => adj n i j)).card ≤ m
hL2 :
∀ n i, MemLp (Y n i) 2 (μ n)
s :
ℕ → ℝ
hs_pos :
∀ n, 0 < s n
hs2 :
∀ n, (s n) ^ 2 = variance (fun ω => ∑ i, Y n i ω) (μ n)
c :
ℕ → ℝ
hc :
∀ n i ω, |Y n i ω - ∫ x, Y n i x ∂(μ n)| ≤ c n
hsmall :
Tendsto (fun n => (card (V n) : ℝ) * (c n / s n) ^ 3) atTop (𝓝 0)
t :
Tendsto (fun n => (μ n).real {ω | (∑ i, Y n i ω - ∑ i, ∫ x, Y n i x ∂(μ n)) / s n ≤ t}) atTop (𝓝 ((gaussianReal 0 1).real (Iic t)))
Proof (Lean source)
theorem networkMean_clt {V : ℕ → Type*} [∀ n, Fintype (V n)] {Ω : ℕ → Type*} [∀ n, MeasurableSpace (Ω n)] (μ : ∀ n, Measure (Ω n)) [∀ n, IsProbabilityMeasure (μ n)] (Y : ∀ n, V n → Ω n → ℝ) (adj : ∀ n, V n → V n → Prop) [∀ n, DecidableRel (adj n)] (hrefl : ∀ n i, adj n i i) (hsymm : ∀ n i j, adj n i j → adj n j i) (hmeasY : ∀ n i, Measurable (Y n i)) (hindepY : ∀ n, ∀ A B : Finset (V n), (∀ a ∈ A, ∀ b ∈ B, ¬ adj n a b) → IndepFun (fun ω => fun k : A => Y n k ω) (fun ω => fun k : B => Y n k ω) (μ n)) (m : ℕ) (hdeg : ∀ n i, (Finset.univ.filter (fun j => adj n i j)).card ≤ m) (hL2 : ∀ n i, MemLp (Y n i) 2 (μ n)) (s : ℕ → ℝ) (hs_pos : ∀ n, 0 < s n) (hs2 : ∀ n, (s n) ^ 2 = variance (fun ω => ∑ i, Y n i ω) (μ n)) (c : ℕ → ℝ) (hc : ∀ n i ω, |Y n i ω - ∫ x, Y n i x ∂(μ n)| ≤ c n) (hsmall : Tendsto (fun n => (card (V n) : ℝ) * (c n / s n) ^ 3) atTop (𝓝 0)) (t : ℝ) : Tendsto (fun n => (μ n).real {ω | (∑ i, Y n i ω - ∑ i, ∫ x, Y n i x ∂(μ n)) / s n ≤ t}) atTop (𝓝 ((gaussianReal 0 1).real (Iic t))) := by classical let F : ∀ n, NetworkDependence (V n) (Ω n) (μ n) := fun n => centeredNormalizedField (Y n) (adj n) (hrefl n) (hsymm n) (hmeasY n) (hindepY n) (s n) let B : ℕ → ℝ := fun n => 2 * c n / s n have hdeg' : ∀ n i, ((F n).toDepGraph.nbhd i).card ≤ m := by intro n i change (Finset.univ.filter (fun j => adj n i j)).card ≤ m exact hdeg n i have hΩne : ∀ n, Nonempty (Ω n) := by intro n by_contra hΩ haveI : IsEmpty (Ω n) := not_nonempty_iff.mp hΩ have hzero : μ n = 0 := by ext S have hS : S = ∅ := by ext x exact isEmptyElim x simp [hS] exact (MeasureTheory.IsProbabilityMeasure.ne_zero (μ n)) hzero have hne : ∀ n, Nonempty (V n) := by intro n by_contra hV haveI : IsEmpty (V n) := not_nonempty_iff.mp hV have hsum : (fun ω => ∑ i, Y n i ω) = (0 : Ω n → ℝ) := by funext ω exact Fintype.sum_empty (fun i => Y n i ω) have hs2zero : (s n) ^ 2 = 0 := by rw [hs2 n, hsum] exact variance_zero (μ n) have hs2pos : 0 < (s n) ^ 2 := sq_pos_of_pos (hs_pos n) nlinarith have hcard : ∀ n, 1 ≤ card (V n) := by intro n exact Fintype.card_pos_iff.mpr (hne n) have hc_nonneg : ∀ n, 0 ≤ c n := by intro n obtain ⟨i⟩ := hne n obtain ⟨ω⟩ := hΩne n exact le_trans (abs_nonneg _) (hc n i ω) have hB : ∀ n, 0 ≤ B n := by intro n exact div_nonneg (mul_nonneg zero_le_two (hc_nonneg n)) (le_of_lt (hs_pos n)) have hbound : ∀ n i ω, |(F n).X i ω| ≤ B n := by intro n i ω exact centeredNormalizedField_abs_le (Y n) (adj n) (hrefl n) (hsymm n) (hmeasY n) (hindepY n) (s n) (hs_pos n) (c n) (hc n) i ω have hNB3 : Tendsto (fun n => (card (V n) : ℝ) * (B n) ^ 3) atTop (𝓝 0) := by have hfac : (fun n => (card (V n) : ℝ) * (B n) ^ 3) = (fun n => 8 * ((card (V n) : ℝ) * (c n / s n) ^ 3)) := by funext n dsimp [B] ring rw [hfac] simpa using hsmall.const_mul 8 have hB0 : Tendsto B atTop (𝓝 0) := by have hB3_0 : Tendsto (fun n => (B n) ^ 3) atTop (𝓝 0) := by refine squeeze_zero (fun n => pow_nonneg (hB n) 3) (fun n => ?_) hNB3 have hcardR : (1 : ℝ) ≤ (card (V n) : ℝ) := by exact_mod_cast hcard n exact le_mul_of_one_le_left (pow_nonneg (hB n) 3) hcardR have hroot : Tendsto (fun n => ((B n) ^ 3) ^ ((3 : ℕ)⁻¹ : ℝ)) atTop (𝓝 0) := by simpa [Function.comp_def] using (Real.continuousAt_rpow_const 0 ((3 : ℕ)⁻¹ : ℝ) (inr (by positivity))).tendsto.comp hB3_0 exact hroot.congr (fun n => Real.pow_rpow_inv_natCast (hB n) (by norm_num : (3 : ℕ) ≠ 0)) have hmean : ∀ n i, ∫ ω, (F n).X i ω ∂(μ n) = 0 := by intro n i exact centeredNormalizedField_integral_eq_zero (Y n) (adj n) (hrefl n) (hsymm n) (hmeasY n) (hindepY n) (hL2 n) (s n) i have hvar : ∀ n, ∫ ω, (depSum (F n).X ω) ^ 2 ∂(μ n) = 1 := by intro n exact centeredNormalizedField_sq_integral (Y n) (adj n) (hrefl n) (hsymm n) (hmeasY n) (hindepY n) (hL2 n) (s n) (hs_pos n) (hs2 n) have hclt := networkSum_clt μ F m hdeg' B hB hbound hB0 hNB3 hmean hvar t refine hclt.congr (fun n => ?_) have hWmeas : Measurable (depSum (F n).X) := by exact measurable_sum _ (fun i _ => (F n).meas i) have hset : (depSum (F n).X) ⁻¹' Iic t = {ω | (∑ i, Y n i ω - ∑ i, ∫ x, Y n i x ∂(μ n)) / s n ≤ t} := by ext ω simp only [Set.mem_preimage, Set.mem_Iic, Set.mem_setOf_eq] dsimp [depSum, F] have hsum : (∑ i, (Y n i ω - ∫ x, Y n i x ∂(μ n)) / s n) = (∑ i, Y n i ω - ∑ i, ∫ x, Y n i x ∂(μ n)) / s n := by rw [← Finset.sum_sub_distrib, Finset.sum_div] rw [hsum] rw [← hset, MeasureTheory.map_measureReal_apply hWmeas measurableSet_Iic]
Causalean.Experimentation.SuperPopulation.MeanCLT.networkMean_clt · Causalean/Experimentation/SuperPopulation/MeanCLT/MeanCLT.lean:36