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

Given a finite population of units, a measurable sample space, a measure on that space, a real-valued outcome for every unit and sample point, a decidable relation between units, the assumption that every unit is related to itself, the assumption that this relation is symmetric, the assumption that every outcome is measurable, the assumption that outcome vectors for any two finite sets with no relation joining them are independent, and a real normalizing constant, the centered and normalized network field has, for each unit, its outcome minus its expectation under the given measure, divided by that constant; it retains the supplied relation and has independent vectors on finite sets with no relation joining them.

Definition (Lean source)
V :
Type u_1
shared
Ω :
Type u_2
shared
Y :
V → Ω → ℝ
shared
adj :
V → V → Prop
shared
hrefl :
∀ (i : V), adj i i
shared
hsymm :
∀ (i j : V)
if
adj i j
then
adj j i
shared
hmeasY :
∀ (i : V), Measurable (Y i)
shared
hindepY :
∀ (A B : Finset V)
if
(∀ a ∈ A, ∀ b ∈ B, ¬adj a b)
then
IndepFun (fun ω k => Y (↑k) ω) (fun ω k => Y (↑k) ω) μ
shared
s :
centeredNormalizedField Y adj hrefl hsymm hmeasY hindepY s :
clause 1
X i ω := (Y i ω - ∫ x, Y i x ∂μ) / s
clause 2
adj := adj
clause 3
decAdj := inferInstance
clause 4
refl := hrefl
clause 5
symm := hsymm
clause 6
meas i := ((hmeasY i).sub measurable_const).div_const s
clause 7
indep A B hAB := by 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
V :
Type u_1
shared
Ω :
Type u_2
shared
Y :
V → Ω → ℝ
shared
adj :
V → V → Prop
shared
hrefl :
∀ (i : V), adj i i
shared
hsymm :
∀ (i j : V)
if
adj i j
then
adj j i
shared
hmeasY :
∀ (i : V), Measurable (Y i)
shared
hindepY :
∀ (A B : Finset V)
if
(∀ a ∈ A, ∀ b ∈ B, ¬adj a b)
then
IndepFun (fun ω k => Y (↑k) ω) (fun ω k => Y (↑k) ω) μ
shared
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:83 · 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
V :
Type u_1
shared
Ω :
Type u_2
shared
Y :
V → Ω → ℝ
shared
adj :
V → V → Prop
shared
hrefl :
∀ (i : V), adj i i
shared
hsymm :
∀ (i j : V)
if
adj i j
then
adj j i
shared
hmeasY :
∀ (i : V), Measurable (Y i)
shared
hindepY :
∀ (A B : Finset V)
if
(∀ a ∈ A, ∀ b ∈ B, ¬adj a b)
then
IndepFun (fun ω k => Y (↑k) ω) (fun ω k => Y (↑k) ω) μ
shared
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:89 · 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
V :
Type u_1
shared
Ω :
Type u_2
shared
Y :
V → Ω → ℝ
shared
adj :
V → V → Prop
shared
hrefl :
∀ (i : V), adj i i
shared
hsymm :
∀ (i j : V)
if
adj i j
then
adj j i
shared
hmeasY :
∀ (i : V), Measurable (Y i)
shared
hindepY :
∀ (A B : Finset V)
if
(∀ a ∈ A, ∀ b ∈ B, ¬adj a b)
then
IndepFun (fun ω k => Y (↑k) ω) (fun ω k => Y (↑k) ω) μ
shared
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.)
    V :
    Type u_1
    shared
    Ω :
    Type u_2
    shared
    Y :
    V → Ω → ℝ
    shared
    adj :
    V → V → Prop
    shared
    hrefl :
    ∀ (i : V), adj i i
    shared
    hsymm :
    ∀ (i j : V)
    if
    adj i j
    then
    adj j i
    shared
    hmeasY :
    ∀ (i : V), Measurable (Y i)
    shared
    hindepY :
    ∀ (A B : Finset V)
    if
    (∀ a ∈ A, ∀ b ∈ B, ¬adj a b)
    then
    IndepFun (fun ω k => Y (↑k) ω) (fun ω k => Y (↑k) ω) μ
    shared
    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.
    V :
    Type u_1
    shared
    Ω :
    Type u_2
    shared
    Y :
    V → Ω → ℝ
    shared
    adj :
    V → V → Prop
    shared
    hrefl :
    ∀ (i : V), adj i i
    shared
    hsymm :
    ∀ (i j : V)
    if
    adj i j
    then
    adj j i
    shared
    hmeasY :
    ∀ (i : V), Measurable (Y i)
    shared
    hindepY :
    ∀ (A B : Finset V)
    if
    (∀ a ∈ A, ∀ b ∈ B, ¬adj a b)
    then
    IndepFun (fun ω k => Y (↑k) ω) (fun ω k => Y (↑k) ω) μ
    shared
    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