PO.ID.Partial.Random­Set

Random-set foundations for partial identification: selections, Aumann expectations, and sharp identified sets.

Hausdorff 3 core · 2 supporting This file develops the directed and symmetric Hausdorff distances needed for scalar interval-valued identified sets. ★ hausdorffDist_Icc

Hausdorff Distance for Intervals

This file develops the directed and symmetric Hausdorff distances needed for scalar interval-valued identified sets. It proves the explicit formulas for distances between compact real intervals that later connect interval inference to support-function and central-limit-theorem arguments.

Main declarations: * directedHausdorff and hausdorffDist define one-sided and symmetric Hausdorff distances in real-valued form. * infDist_Icc computes the distance from a point to a closed real interval. * directedHausdorff_Icc gives the directed interval formula. * hausdorffDist_Icc gives the symmetric endpoint-gap formula H([a,b],[c,d]) = max |a-c| |b-d|.

def directedHausdorff reviewed
Causalean.PartialID.RandomSet

In a pseudo-metric space, for a set AA and a set BB, the directed, one-sided Hausdorff distance from AA to BB is the supremum, over points of AA, of their distance to BB; it is defined to be zero when AA is empty.

Definition (Lean source)
α :
A B :
Set α
directedHausdorff A B :
sSup ((fun a => infDist a B) '' A)
Causalean.PartialID.RandomSet.directedHausdorff · Causalean/PO/ID/Partial/RandomSet/Hausdorff.lean:59
def hausdorffDist reviewed
Causalean.PartialID.RandomSet

In a pseudo-metric space, for a set AA and a set BB, the symmetric Hausdorff distance is the larger of the directed distance from AA to BB and the directed distance from BB to AA.

Definition (Lean source)
α :
A B :
Set α
hausdorffDist A B :
Causalean.PartialID.RandomSet.hausdorffDist · Causalean/PO/ID/Partial/RandomSet/Hausdorff.lean:68
theorem hausdorffDist_Icc reviewed
Causalean.PartialID.RandomSet

The geometric keystone (Beresteanu–Molinari eq. (A.1), d = 1). For real numbers a ≤ b and c ≤ d forming two well-ordered closed intervals, the symmetric Hausdorff distance between [a,b] and [c,d] equals the larger of the two endpoint gaps: H([a,b], [c,d]) = max(|a − c|, |b − d|).

Formal statement
a b c d :
hab :
a ≤ b
hcd :
c ≤ d
hausdorffDist (Icc a b) (Icc c d) = max |a - c| |b - d|
Proof (Lean source)
theorem hausdorffDist_Icc {a b c d : ℝ} (hab : a ≤ b) (hcd : c ≤ d) : hausdorffDist (Icc a b) (Icc c d) = max |a - c| |b - d| := by unfold hausdorffDist rw [directedHausdorff_Icc hab hcd, directedHausdorff_Icc hcd hab] have hac1 : c - a ≤ |a - c| := by rw [abs_sub_comm]; exact le_abs_self _ have hac2 : a - c ≤ |a - c| := le_abs_self _ have hbd1 : b - d ≤ |b - d| := le_abs_self _ have hbd2 : d - b ≤ |b - d| := by rw [abs_sub_comm]; exact le_abs_self _ have h0ac : (0 : ℝ) ≤ |a - c| := abs_nonneg _ have h0bd : (0 : ℝ) ≤ |b - d| := abs_nonneg _ refine le_antisymm ?_ ?_ · -- LHS ≤ RHS refine max_le (max_le (le_trans h0ac (le_max_left _ _)) (max_le (le_trans hac1 (le_max_left _ _)) (le_trans hbd1 (le_max_right _ _)))) (max_le (le_trans h0ac (le_max_left _ _)) (max_le (le_trans hac2 (le_max_left _ _)) (le_trans hbd2 (le_max_right _ _)))) · -- RHS ≤ LHS refine max_le ?_ ?_ · -- |a − c| ≤ LHS rw [abs_le'] refine ⟨?_, ?_⟩ · exact le_trans (le_trans (le_max_left (a - c) (d - b)) (le_max_right 0 _)) (le_max_right _ _) · rw [neg_sub] exact le_trans (le_trans (le_max_left (c - a) (b - d)) (le_max_right 0 _)) (le_max_left _ _) · -- |b − d| ≤ LHS rw [abs_le'] refine ⟨?_, ?_⟩ · exact le_trans (le_trans (le_max_right (c - a) (b - d)) (le_max_right 0 _)) (le_max_left _ _) · rw [neg_sub] exact le_trans (le_trans (le_max_right (a - c) (d - b)) (le_max_right 0 _)) (le_max_right _ _)
Causalean.PartialID.RandomSet.hausdorffDist_Icc · Causalean/PO/ID/Partial/RandomSet/Hausdorff.lean:177 · uses hausdorffDist
2 supporting declarations (lemmas, instances)
  • infDist_Icc theorem — Distance from a real point to a closed interval. For c ≤ d, infDist x [c,d] = max 0 (max (c − x) (x − d)) — zero inside the interval, and the signed gap to the nearer endpoint outside it.
    c d :
    hcd :
    c ≤ d
    x :
    infDist x (Icc c d) = max 0 (max (c - x) (x - d))
    Proof (Lean source)
    theorem infDist_Icc {c d : ℝ} (hcd : c ≤ d) (x : ℝ) : infDist x (Icc c d) = max 0 (max (c - x) (x - d)) := by refine le_antisymm ?_ ?_ · -- the clamp point `p = max c (min x d) ∈ [c,d]` realises the upper bound set p : ℝ := max c (min x d) with hp have hpmem : p ∈ Icc c d := by constructor · exact le_max_left _ _ · exact max_le hcd (min_le_right _ _) have hle : infDist x (Icc c d) ≤ dist x p := Metric.infDist_le_dist_of_mem hpmem refine hle.trans ?_ rw [Real.dist_eq] rcases le_total x c with hxc | hcx · -- x ≤ c ⇒ p = c, |x − c| = c − x have hmin : min x d = x := min_eq_left (hxc.trans hcd) have : p = c := by rw [hp, hmin]; exact max_eq_left hxc rw [this, abs_of_nonpos (by linarith)] have : c - x ≤ max (c - x) (x - d) := le_max_left _ _ linarith [le_max_right (0 : ℝ) (max (c - x) (x - d))] · rcases le_total x d with hxd | hdx · -- c ≤ x ≤ d ⇒ p = x, distance 0 have hmin : min x d = x := min_eq_left hxd have : p = x := by rw [hp, hmin]; exact max_eq_right hcx rw [this]; simp only [sub_self, abs_zero] exact le_max_left _ _ · -- x ≥ d ⇒ p = d, |x − d| = x − d have hmin : min x d = d := min_eq_right hdx have : p = d := by rw [hp, hmin]; exact max_eq_right hcd rw [this, abs_of_nonneg (by linarith)] have : x - d ≤ max (c - x) (x - d) := le_max_right _ _ linarith [le_max_right (0 : ℝ) (max (c - x) (x - d))] · -- lower bound: 0, c−x, x−d are each ≤ every point-to-point distance have hne_cd : (Icc c d).Nonempty := ⟨c, ⟨le_rfl, hcd⟩⟩ refine max_le (Metric.infDist_nonneg) (max_le ?_ ?_) · refine (Metric.le_infDist hne_cd).mpr ?_ intro y hy rw [Real.dist_eq] have : c ≤ y := hy.1 rcases le_total x y with h | h · rw [abs_of_nonpos (by linarith)]; linarith · rw [abs_of_nonneg (by linarith)]; linarith · refine (Metric.le_infDist hne_cd).mpr ?_ intro y hy rw [Real.dist_eq] have : y ≤ d := hy.2 rcases le_total x y with h | h · rw [abs_of_nonpos (by linarith)]; linarith · rw [abs_of_nonneg (by linarith)]; linarith
    Causalean.PartialID.RandomSet.infDist_Icc · Causalean/PO/ID/Partial/RandomSet/Hausdorff.lean:77
  • directedHausdorff_Icc theorem — Directed Hausdorff distance between intervals. dᴴ([a,b], [c,d]) = max 0 (max (c − a) (b − d)) (for a ≤ b, c ≤ d): the worst over-reach of [a,b] beyond [c,d], achieved at the endpoints.
    a b c d :
    hab :
    a ≤ b
    hcd :
    c ≤ d
    directedHausdorff (Icc a b) (Icc c d) = max 0 (max (c - a) (b - d))
    Proof (Lean source)
    theorem directedHausdorff_Icc {a b c d : ℝ} (hab : a ≤ b) (hcd : c ≤ d) : directedHausdorff (Icc a b) (Icc c d) = max 0 (max (c - a) (b - d)) := by unfold directedHausdorff rw [image_infDist_Icc hcd] set g : ℝ → ℝ := fun x => max 0 (max (c - x) (x - d)) with hg have hne : (g '' Icc a b).Nonempty := ⟨g a, a, ⟨le_rfl, hab⟩, rfl⟩ have hga : g a = max 0 (max (c - a) (a - d)) := rfl have hgb : g b = max 0 (max (c - b) (b - d)) := rfl -- upper bound on the image have hub : ∀ z ∈ g '' Icc a b, z ≤ max 0 (max (c - a) (b - d)) := by rintro _ ⟨x, ⟨hax, hxb⟩, rfl⟩ have h1 : c - x ≤ c - a := by linarith have h2 : x - d ≤ b - d := by linarith have hmax : max (c - x) (x - d) ≤ max (c - a) (b - d) := max_le_max h1 h2 exact max_le_max (le_refl 0) hmax refine le_antisymm (csSup_le hne hub) ?_ -- the target is ≤ sSup because it equals max (g a) (g b), both in the image have hbdd : BddAbove (g '' Icc a b) := ⟨_, hub⟩ have hsa : g a ≤ sSup (g '' Icc a b) := le_csSup hbdd ⟨a, ⟨le_rfl, hab⟩, rfl⟩ have hsb : g b ≤ sSup (g '' Icc a b) := le_csSup hbdd ⟨b, ⟨hab, le_rfl⟩, rfl⟩ -- max 0 (max (c−a) (b−d)) ≤ max (g a) (g b) ≤ sSup have h0a : (0 : ℝ) ≤ g a := by rw [hga]; exact le_max_left _ _ have hca : c - a ≤ g a := by rw [hga]; exact le_trans (le_max_left _ _) (le_max_right 0 _) have hdb : b - d ≤ g b := by rw [hgb]; exact le_trans (le_max_right _ _) (le_max_right 0 _) have hmax_gg : max 0 (max (c - a) (b - d)) ≤ max (g a) (g b) := by refine max_le (le_trans h0a (le_max_left _ _)) (max_le ?_ ?_) · exact le_trans hca (le_max_left _ _) · exact le_trans hdb (le_max_right _ _) exact le_trans hmax_gg (max_le hsa hsb)
    Causalean.PartialID.RandomSet.directedHausdorff_Icc · Causalean/PO/ID/Partial/RandomSet/Hausdorff.lean:139
Interval 6 core · 3 supporting This file treats an interval-valued random set as measurable lower and upper endpoint functions and characterizes its measurable selections. ★ selectionExpectation_eq_Icc★ sInf_selectionExpectation★ sSup_selectionExpectation

Interval Random Sets and Aumann Expectations

This file treats an interval-valued random set as measurable lower and upper endpoint functions and characterizes its measurable selections. It proves that the selection, or Aumann, expectation of the interval random set is the interval whose endpoints are the expectations of the lower and upper endpoint functions.

Main declarations: * randomInterval and IsSelection encode interval-valued random sets and their measurable selections. * isSelection_iff_exists_param parametrizes every selection as L + t * (U - L) with measurable t : Ω -> [0,1]. * selectionExpectation_eq_Icc identifies the Aumann expectation with [∫ L, ∫ U]. * sInf_selectionExpectation and sSup_selectionExpectation recover the sharp lower and upper endpoints from the set of selection integrals.

def randomInterval reviewed
Causalean.PartialID.RandomSet

For a sample space, a lower endpoint function, and an upper endpoint function, the interval-valued random set assigns to every sample outcome the set of real numbers that are at least its lower-endpoint value and at most its upper-endpoint value.

Definition (Lean source)
Ω :
Type u_1
shared
L U :
Ω → ℝ
randomInterval L U :
Ω → Set
fun ω => Icc (L ω) (U ω)
Causalean.PartialID.RandomSet.randomInterval · Causalean/PO/ID/Partial/RandomSet/Interval.lean:64
def IsSelection reviewed
Causalean.PartialID.RandomSet

For a sample space equipped with a measurable structure, a lower endpoint function, an upper endpoint function, and a real-valued function on the sample space, the everywhere measurable-selection condition holds precisely when the function is measurable and at every sample outcome its value lies in the closed interval between the endpoint values.

Definition (Lean source)
Ω :
Type u_1
shared
L U f :
Ω → ℝ
IsSelection L U f :
Prop
clause 1
clause 2
ω :
f ω ∈ Icc (L ω) (U ω)
Causalean.PartialID.RandomSet.IsSelection · Causalean/PO/ID/Partial/RandomSet/Interval.lean:69
def selectionExpectation reviewed
Causalean.PartialID.RandomSet

For a sample space equipped with a measurable structure, a lower endpoint function, an upper endpoint function, and a measure on the sample space, the selection, or Aumann, expectation is the set of real numbers for which there exists a function such that it is an everywhere measurable selection of the endpoint interval, it is integrable under the measure, and its integral under that measure equals the real number.

Definition (Lean source)
Ω :
Type u_1
shared
L U :
Ω → ℝ
μ :
selectionExpectation L U μ :
Set
{r | ∃ f, IsSelection L U f ∧ Integrable f μ ∧ ∫ ω, f ω ∂μ = r}
Causalean.PartialID.RandomSet.selectionExpectation · Causalean/PO/ID/Partial/RandomSet/Interval.lean:128
theorem selectionExpectation_eq_Icc reviewed
Causalean.PartialID.RandomSet

Selection expectation equals [∫L, ∫U]. For measurable lower and upper endpoint functions L, U that are integrable and satisfy L pointwise at most U, the selection (Aumann) expectation of the interval-valued random set [L, U] — the set of integrals of its integrable measurable selections — equals the closed interval [∫L dμ, ∫U dμ]. The forward inclusion is integral monotonicity; the reverse inclusion realises every intermediate value with a constant mixing weight t ∈ [0,1], so no atomlessness is needed.

Formal statement
Ω :
Type u_1
Ω → ℝ
Ω → ℝ
shared
hL :
hU :
hLint :
hUint :
hLU :
∀ ω, L ω ≤ U ω
selectionExpectation L U μ = Icc (∫ ω, L ω ∂μ) (∫ ω, U ω ∂μ)
Proof (Lean source)
theorem selectionExpectation_eq_Icc (hL : Measurable L) (hU : Measurable U) (hLint : Integrable L μ) (hUint : Integrable U μ) (hLU : ∀ ω, L ω ≤ U ω) : selectionExpectation L U μ = Icc (∫ ω, L ω ∂μ) (∫ ω, U ω ∂μ) := by ext r simp only [selectionExpectation, Set.mem_setOf_eq, Set.mem_Icc] constructor · rintro ⟨f, ⟨hfmeas, hfmem⟩, hfint, hfr⟩ have hLf : (∫ ω, L ω ∂μ) ≤ ∫ ω, f ω ∂μ := integral_mono_ae hLint hfint (ae_of_all _ (fun ω => (hfmem ω).1)) have hfU : (∫ ω, f ω ∂μ) ≤ ∫ ω, U ω ∂μ := integral_mono_ae hfint hUint (ae_of_all _ (fun ω => (hfmem ω).2)) rw [hfr] at hLf hfU exact ⟨hLf, hfU⟩ · rintro ⟨hLr, hrU⟩ set a := ∫ ω, L ω ∂μ with ha set b := ∫ ω, U ω ∂μ with hb rcases (integral_le_integral_of_le hLint hUint hLU).lt_or_eq with hlt | heq · set c := (r - a) / (b - a) with hc have hba : (0 : ℝ) < b - a := by linarith have hc0 : 0 ≤ c := div_nonneg (by linarith) (le_of_lt hba) have hc1 : c ≤ 1 := by rw [hc, div_le_one hba]; linarith refine ⟨fun ω => L ω + c * (U ω - L ω), ⟨hL.add (measurable_const.mul (hU.sub hL)), fun ω => ?_⟩, hLint.add ((hUint.sub hLint).const_mul c), ?_⟩ · refine ⟨?_, ?_⟩ · nlinarith [hLU ω] · nlinarith [hLU ω] · beta_reduce rw [integral_add (f := L) (g := fun ω => c * (U ω - L ω)) hLint ((hUint.sub hLint).const_mul c), integral_const_mul, integral_sub hUint hLint, ← ha, ← hb, hc] field_simp ring · refine ⟨L, isSelection_left hL hLU, hLint, ?_⟩ rw [← ha] linarith
Causalean.PartialID.RandomSet.selectionExpectation_eq_Icc · Causalean/PO/ID/Partial/RandomSet/Interval.lean:144 · uses selectionExpectation
theorem sInf_selectionExpectation reviewed
Causalean.PartialID.RandomSet

For measurable lower and upper endpoint functions L, U that are integrable and satisfy L pointwise at most U, the sharp lower endpoint of the identified set — the infimum of the selection (Aumann) expectation over all measurable selections of the interval-valued random set [L, U] — equals the expectation of the lower endpoint L: sInf (selectionExpectation L U μ) = ∫ L dμ.

Formal statement
Ω :
Type u_1
Ω → ℝ
Ω → ℝ
shared
hL :
hU :
hLint :
hUint :
hLU :
∀ ω, L ω ≤ U ω
sInf (selectionExpectation L U μ) = ∫ ω, L ω ∂μ
Proof (Lean source)
theorem sInf_selectionExpectation (hL : Measurable L) (hU : Measurable U) (hLint : Integrable L μ) (hUint : Integrable U μ) (hLU : ∀ ω, L ω ≤ U ω) : sInf (selectionExpectation L U μ) = ∫ ω, L ω ∂μ := by rw [selectionExpectation_eq_Icc hL hU hLint hUint hLU] exact csInf_Icc (integral_le_integral_of_le hLint hUint hLU)
Causalean.PartialID.RandomSet.sInf_selectionExpectation · Causalean/PO/ID/Partial/RandomSet/Interval.lean:188 · uses selectionExpectation
theorem sSup_selectionExpectation reviewed
Causalean.PartialID.RandomSet

For measurable lower and upper endpoint functions L, U that are integrable and satisfy L pointwise at most U, the sharp upper endpoint of the identified set — the supremum of the selection (Aumann) expectation over all measurable selections of the interval-valued random set [L, U] — equals the expectation of the upper endpoint U: sSup (selectionExpectation L U μ) = ∫ U dμ.

Formal statement
Ω :
Type u_1
Ω → ℝ
Ω → ℝ
shared
hL :
hU :
hLint :
hUint :
hLU :
∀ ω, L ω ≤ U ω
sSup (selectionExpectation L U μ) = ∫ ω, U ω ∂μ
Proof (Lean source)
theorem sSup_selectionExpectation (hL : Measurable L) (hU : Measurable U) (hLint : Integrable L μ) (hUint : Integrable U μ) (hLU : ∀ ω, L ω ≤ U ω) : sSup (selectionExpectation L U μ) = ∫ ω, U ω ∂μ := by rw [selectionExpectation_eq_Icc hL hU hLint hUint hLU] exact csSup_Icc (integral_le_integral_of_le hLint hUint hLU)
Causalean.PartialID.RandomSet.sSup_selectionExpectation · Causalean/PO/ID/Partial/RandomSet/Interval.lean:200 · uses selectionExpectation
3 supporting declarations (lemmas, instances)
  • isSelection_left theorem — The lower endpoint is always a selection, so the random set has a measurable selection.
    Ω :
    Type u_1
    Ω → ℝ
    Ω → ℝ
    shared
    hL :
    hLU :
    ∀ ω, L ω ≤ U ω
    Proof (Lean source)
    theorem isSelection_left (hL : Measurable L) (hLU : ∀ ω, L ω ≤ U ω) : IsSelection L U L := ⟨hL, fun ω => ⟨le_rfl, hLU ω⟩⟩
    Causalean.PartialID.RandomSet.isSelection_left · Causalean/PO/ID/Partial/RandomSet/Interval.lean:79
  • isSelection_iff_exists_param theorem — Measurable selection of an interval random set. A function f is a selection of [L, U] iff f = L + t·(U − L) for some measurable t : Ω → [0,1]. Elementary — no Kuratowski–Ryll-Nardzewski.
    Ω :
    Type u_1
    Ω → ℝ
    Ω → ℝ
    shared
    hL :
    hU :
    hLU :
    ∀ ω, L ω ≤ U ω
    f :
    Ω → ℝ
    ↔ ∃ t : Ω → ℝ, Measurable t ∧ (∀ ω, t ω ∈ Icc (0 : ℝ) 1) ∧ ∀ ω, f ω = L ω
    + t ω * (U ω - L ω)
    Proof (Lean source)
    theorem isSelection_iff_exists_param (hL : Measurable L) (hU : Measurable U) (hLU : ∀ ω, L ω ≤ U ω) (f : Ω → ℝ) : IsSelection L U f ↔ ∃ t : Ω → ℝ, Measurable t ∧ (∀ ω, t ω ∈ Icc (0 : ℝ) 1) ∧ ∀ ω, f ω = L ω + t ω * (U ω - L ω) := by constructor · rintro ⟨hf, hmem⟩ refine ⟨fun ω => (f ω - L ω) * (U ω - L ω)⁻¹, (hf.sub hL).mul (hU.sub hL).inv, ?_, ?_⟩ · intro ω simp only [Set.mem_Icc, ← div_eq_mul_inv] obtain ⟨hlf, hfu⟩ := hmem ω rcases (hLU ω).lt_or_eq with hlt | heq · have hw : (0 : ℝ) < U ω - L ω := by linarith refine ⟨div_nonneg (by linarith) (le_of_lt hw), ?_⟩ rw [div_le_one hw]; linarith · have hw : U ω - L ω = 0 := by rw [heq]; ring rw [hw, div_zero] exact ⟨le_rfl, zero_le_one⟩ · intro ω obtain ⟨hlf, hfu⟩ := hmem ω rcases (hLU ω).lt_or_eq with hlt | heq · have hw : (U ω - L ω) ≠ 0 := by have : (0 : ℝ) < U ω - L ω := by linarith exact ne_of_gt this field_simp ring · have hwL : L ω = U ω := heq have : f ω = L ω := le_antisymm (by rw [hwL]; exact hfu) hlf rw [this, ← heq]; ring · rintro ⟨t, ht, htmem, hfeq⟩ have hfm : f = fun ω => L ω + t ω * (U ω - L ω) := funext hfeq refine ⟨by rw [hfm]; exact hL.add (ht.mul (hU.sub hL)), ?_⟩ intro ω obtain ⟨ht0, ht1⟩ := htmem ω rw [hfeq ω] constructor · nlinarith [hLU ω] · nlinarith [hLU ω]
    Causalean.PartialID.RandomSet.isSelection_iff_exists_param · Causalean/PO/ID/Partial/RandomSet/Interval.lean:85
  • integral_le_integral_of_le theorem — Monotonicity of the endpoint integrals (used to order the reported bounds).
    Ω :
    Type u_1
    Ω → ℝ
    Ω → ℝ
    shared
    hLint :
    hUint :
    hLU :
    ∀ ω, L ω ≤ U ω
    (∫ ω, L ω ∂μ) ≤ ∫ ω, U ω ∂μ
    Proof (Lean source)
    theorem integral_le_integral_of_le (hLint : Integrable L μ) (hUint : Integrable U μ) (hLU : ∀ ω, L ω ≤ U ω) : (∫ ω, L ω ∂μ) ≤ ∫ ω, U ω ∂μ := integral_mono_ae hLint hUint (ae_of_all _ hLU)
    Causalean.PartialID.RandomSet.integral_le_integral_of_le · Causalean/PO/ID/Partial/RandomSet/Interval.lean:139
Interval­CLT 7 core · 14 supporting This file derives the central limit theorem for the Hausdorff distance between a sample-mean interval and the population Aumann expectation interval. ★ maxAbs_normalizedSum_eq★ interval_data_clt★ interval_data_clt_of_memLp

Scalar Interval-Data Central Limit Theorem

This file derives the central limit theorem for the Hausdorff distance between a sample-mean interval and the population Aumann expectation interval. It reduces the interval statistic to the maximum absolute value of the bivariate endpoint process, allowing the library's multivariate central limit theorem and continuous mapping machinery to apply.

Main declarations: * maxAbs, continuous_maxAbs, and measurable_maxAbs define the endpoint functional for symmetric Hausdorff distance. * normalizedSum_maxAbs_clt is the abstract continuous-mapping CLT for maxAbs of a normalized vector sum. * sampleMean, intervalIFVec, and maxAbs_normalizedSum_eq connect endpoint sums to sqrt n * hausdorffDist. * interval_data_clt states the scalar interval-data CLT from explicit CLT hypotheses. * interval_data_clt_of_memLp discharges those hypotheses from measurable endpoints with MemLp 2.

abbrev eucl₂ reviewed
Causalean.PartialID.RandomSet

For a pair of real endpoint deviations, the associated two-dimensional Euclidean vector is that pair viewed as a vector in Euclidean space.

Definition (Lean source)
v :
Fin 2 → ℝ
eucl₂ v :
(EuclideanSpace.equiv (Fin 2) ℝ).symm v
Causalean.PartialID.RandomSet.eucl₂ · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:66
def maxAbs reviewed
Causalean.PartialID.RandomSet

For a two-dimensional endpoint-deviation vector, the maximum-absolute-deviation functional is max{w0,w1}\max\{|w_0|,|w_1|\}. In the scalar random-set setting, this is the Hausdorff distance between intervals whose lower- and upper-endpoint gaps are the two coordinates.

Definition (Lean source)
w :
maxAbs w :
max |w 0| |w 1|
Causalean.PartialID.RandomSet.maxAbs · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:73
def sampleMean reviewed
Causalean.PartialID.RandomSet

For a measurable sample space with sampling measure, a measurable outcome space with outcome measure, an independent and identically distributed sample, a real-valued outcome function, a nonnegative sample size, and a realized sample point, the sample mean is the arithmetic average of the first nn observed outcome values, with the empty sum divided by zero interpreted by the library's real-number convention.

Definition (Lean source)
Ω :
Type u_1
shared
X :
Type u_2
shared
μ :
shared
P :
shared
S :
IIDSample Ω X μ P
y :
X → ℝ
n :
ω :
Ω
sampleMean S y n ω :
(∑ i ∈ range n, y (S.Z i ω)) / n
Causalean.PartialID.RandomSet.sampleMean · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:135 · uses IIDSample
def intervalIFVec reviewed
Causalean.PartialID.RandomSet

For a measurable outcome space, a lower-endpoint outcome function, an upper-endpoint outcome function, and a measure on that outcome space, the centered interval-endpoint influence function maps each observation to its lower and upper endpoints less their respective population means, viewed as a two-dimensional Euclidean vector.

Definition (Lean source)
X :
Type u_2
shared
yL yU :
X → ℝ
P :
intervalIFVec yL yU P :
X → EuclideanSpace ℝ (Fin 2)
fun z => eucl₂ ![yL z - ∫ x, yL x ∂P, yU z - ∫ x, yU x ∂P]
Causalean.PartialID.RandomSet.intervalIFVec · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:145
theorem maxAbs_normalizedSum_eq reviewed
Causalean.PartialID.RandomSet

The Hausdorff bridge (Beresteanu–Molinari Theorem 3.2, statistic form). For an i.i.d. sample with interval endpoints yL, yU satisfying the lower endpoint pointwise at most the upper endpoint and both integrable, the max-abs functional applied to the centered endpoint normalised sum equals the scaled Hausdorff distance √n · H(Ȳₙ, E[Y]) between the sample-mean interval Ȳₙ = [ȳ_{nL}, ȳ_{nU}] and the population identified interval E[Y] = [E y_L, E y_U].

Formal statement
Ω :
Type u_1
shared
X :
Type u_2
shared
μ :
shared
P :
shared
S :
IIDSample Ω X μ P
yL yU :
X → ℝ
hLU :
∀ z, yL z ≤ yU z
hLint :
hUint :
n :
ω :
Ω
maxAbs (IsAsymLinearVec.normalizedSum S (intervalIFVec yL yU P) (fun m => range m) n ω)
= sqrt n * hausdorffDist (Icc (sampleMean S yL n ω) (sampleMean S yU n ω)) (Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P))
Proof (Lean source)
theorem maxAbs_normalizedSum_eq (S : IIDSample Ω X μ P) (yL yU : X → ℝ) (hLU : ∀ z, yL z ≤ yU z) (hLint : Integrable yL P) (hUint : Integrable yU P) (n : ℕ) (ω : Ω) : maxAbs (IsAsymLinearVec.normalizedSum S (intervalIFVec yL yU P) (fun m => range m) n ω) = sqrt n * hausdorffDist (Icc (sampleMean S yL n ω) (sampleMean S yU n ω)) (Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P)) := by obtain ⟨h0, h1⟩ := normalizedSum_coord S yL yU n ω unfold maxAbs rw [h0, h1] simp only [abs_mul, abs_of_nonneg (Real.sqrt_nonneg (n : ℝ))] rw [← mul_max_of_nonneg _ _ (Real.sqrt_nonneg (n : ℝ)), hausdorffDist_Icc (sampleMean_le S yL yU hLU n ω) (integral_mono hLint hUint hLU)]
theorem interval_data_clt reviewed
Causalean.PartialID.RandomSet

Beresteanu–Molinari Theorem 3.2 (scalar interval data). For an i.i.d. sample of interval data Yᵢ = [y_{iL}, y_{iU}] with the lower endpoint pointwise at most the upper endpoint and both endpoints integrable, assume the centered endpoint influence function is measurable, has finite second moment and is integrable, is centered, and its normalized partial sums and the resulting scaled Hausdorff statistic are almost-everywhere measurable at every sample size. Then the scaled Hausdorff distance between the sample-mean interval Ȳₙ and the population identified interval E[Y] = [E y_L, E y_U] converges in distribution to the max-abs of the bivariate Gaussian limit of the influence function:

Formal statement
Ω :
Type u_1
shared
X :
Type u_2
shared
μ :
shared
P :
shared
S :
IIDSample Ω X μ P
yL yU :
X → ℝ
hLU :
∀ z, yL z ≤ yU z
hLint :
hUint :
:
hvar :
Integrable (fun x => ‖intervalIFVec yL yU P x‖ ^ 2) P
hψ_int :
hmean :
∫ x, intervalIFVec yL yU P x ∂P = 0
hSum_meas :
∀ n,
AEMeasurable (IsAsymLinearVec.normalizedSum S (intervalIFVec yL yU P) (fun m => range m) n) μ
hHmeas :
∀ n : ℕ,
AEMeasurable (fun ω => sqrt n * hausdorffDist (Icc (sampleMean S yL n ω) (sampleMean S yU n ω)) (Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P))) μ
Tendsto_dist_vec (fun n ω => sqrt n * hausdorffDist (Icc (sampleMean S yL n ω) (sampleMean S yU n ω)) (Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P))) ((gaussianLimit hψ hvar).map maxAbs) μ hHmeas
Proof (Lean source)
theorem interval_data_clt (S : IIDSample Ω X μ P) (yL yU : X → ℝ) (hLU : ∀ z, yL z ≤ yU z) (hLint : Integrable yL P) (hUint : Integrable yU P) (hψ : Measurable (intervalIFVec yL yU P)) (hvar : Integrable (fun x => ‖intervalIFVec yL yU P x‖ ^ 2) P) (hψ_int : Integrable (intervalIFVec yL yU P) P) (hmean : ∫ x, intervalIFVec yL yU P x ∂P = 0) (hSum_meas : ∀ n, AEMeasurable (IsAsymLinearVec.normalizedSum S (intervalIFVec yL yU P) (fun m => range m) n) μ) (hHmeas : ∀ n : ℕ, AEMeasurable (fun ω => sqrt n * hausdorffDist (Icc (sampleMean S yL n ω) (sampleMean S yU n ω)) (Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P))) μ) : Tendsto_dist_vec (fun n ω => sqrt n * hausdorffDist (Icc (sampleMean S yL n ω) (sampleMean S yU n ω)) (Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P))) ((gaussianLimit hψ hvar).map maxAbs) μ hHmeas := Tendsto_dist_vec.congr_ae (fun n => measurable_maxAbs.comp_aemeasurable (hSum_meas n)) hHmeas (normalizedSum_maxAbs_clt hψ hvar S hψ_int hmean hSum_meas) (Filter.Eventually.of_forall fun n => Filter.Eventually.of_forall fun ω => maxAbs_normalizedSum_eq S yL yU hLU hLint hUint n ω)
theorem interval_data_clt_of_memLp reviewed
Causalean.PartialID.RandomSet

Beresteanu–Molinari Theorem 3.2, self-contained MemLp 2 form. For an i.i.d. sample of interval data Yᵢ = [y_{iL}, y_{iU}] with the lower endpoint pointwise at most the upper endpoint, measurable endpoints, and finite second moments (MemLp 2) for both endpoints, the scaled Hausdorff distance between the sample-mean interval and the population identified interval E[Y] = [E y_L, E y_U] converges in distribution to the max-abs of the bivariate Gaussian limit of the endpoint influence function. All four multivariate-CLT hypotheses of interval_data_clt are discharged from these clean moment conditions on yL, yU.

Formal statement
Ω :
Type u_1
shared
X :
Type u_2
shared
μ :
shared
P :
shared
S :
IIDSample Ω X μ P
yL yU :
X → ℝ
hLU :
∀ z, yL z ≤ yU z
hLmeas :
hUmeas :
hLsq :
MemLp yL 2 P
hUsq :
MemLp yU 2 P
Tendsto_dist_vec (fun n ω => sqrt n * hausdorffDist (Icc (sampleMean S yL n ω) (sampleMean S yU n ω)) (Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P))) ((gaussianLimit (measurable_intervalIFVec yL yU hLmeas hUmeas) (intervalIFVec_var_integrable yL yU hLsq hUsq)).map maxAbs) μ (intervalIFVec_hHmeas S yL yU hLU hLmeas hUmeas (hLsq.integrable (by norm_num)) (hUsq.integrable (by norm_num)))
Proof (Lean source)
theorem interval_data_clt_of_memLp (S : IIDSample Ω X μ P) (yL yU : X → ℝ) (hLU : ∀ z, yL z ≤ yU z) (hLmeas : Measurable yL) (hUmeas : Measurable yU) (hLsq : MemLp yL 2 P) (hUsq : MemLp yU 2 P) : Tendsto_dist_vec (fun n ω => sqrt n * hausdorffDist (Icc (sampleMean S yL n ω) (sampleMean S yU n ω)) (Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P))) ((gaussianLimit (measurable_intervalIFVec yL yU hLmeas hUmeas) (intervalIFVec_var_integrable yL yU hLsq hUsq)).map maxAbs) μ (intervalIFVec_hHmeas S yL yU hLU hLmeas hUmeas (hLsq.integrable (by norm_num)) (hUsq.integrable (by norm_num))) := interval_data_clt S yL yU hLU (hLsq.integrable (by norm_num)) (hUsq.integrable (by norm_num)) (measurable_intervalIFVec yL yU hLmeas hUmeas) (intervalIFVec_var_integrable yL yU hLsq hUsq) (intervalIFVec_integrable yL yU hLsq hUsq) (intervalIFVec_mean_zero yL yU hLsq hUsq) (intervalIFVec_sum_aemeasurable S yL yU hLmeas hUmeas) (intervalIFVec_hHmeas S yL yU hLU hLmeas hUmeas (hLsq.integrable (by norm_num)) (hUsq.integrable (by norm_num)))
14 supporting declarations (lemmas, instances)
  • continuous_maxAbs lemma — The max-absolute-value functional on endpoint deviations is continuous.
    Continuous maxAbs
    Proof (Lean source)
    @[fun_prop] lemma continuous_maxAbs : Continuous maxAbs := by unfold maxAbs; fun_prop
    Causalean.PartialID.RandomSet.continuous_maxAbs · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:80
  • measurable_maxAbs lemma — The max-absolute-value functional on endpoint deviations is measurable.
    Measurable maxAbs
    Proof (Lean source)
    @[fun_prop] lemma measurable_maxAbs : Measurable maxAbs := continuous_maxAbs.measurable
    Causalean.PartialID.RandomSet.measurable_maxAbs · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:84
  • instIsProbabilityMeasureRealMapEuclideanSpaceFinOfNatNatMaxAbsGaussianLimit instance — For a measurable sample space equipped with a measure and a two-dimensional vector-valued process on that space that is measurable and has an integrable squared norm under the measure, the law obtained by applying the maximum absolute endpoint-deviation statistic to its Gaussian limit is a probability measure. This follows from taking the measurable pushforward of that Gaussian limit.
    X :
    Type u_2
    X → EuclideanSpace ℝ (Fin 2)
    shared
    :
    shared
    hvar :
    Integrable (fun x => ‖ψ x‖ ^ 2) P
    shared
    instIsProbabilityMeasureRealMapEuclideanSpaceFinOfNatNatMaxAbsGaussianLimit hψ hvar :
    Measure.isProbabilityMeasure_map measurable_maxAbs.aemeasurable
    Causalean.PartialID.RandomSet.instIsProbabilityMeasureRealMapEuclideanSpaceFinOfNatNatMaxAbsGaussianLimit · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:93
  • normalizedSum_maxAbs_clt theorem — Abstract continuous-mapping CLT. maxAbs of the vector normalised sum converges in distribution to the pushforward (gaussianLimit ψ).map maxAbs — the law of max(|z_L|, |z_U|) for the bivariate Gaussian limit. Immediate from the multivariate CLT (clt_normalizedSum_vec) and the continuous-mapping theorem (Tendsto_dist_vec.map_continuous).
    Ω :
    Type u_1
    shared
    X :
    Type u_2
    shared
    μ :
    shared
    P :
    shared
    ψ :
    X → EuclideanSpace ℝ (Fin 2)
    shared
    :
    shared
    hvar :
    Integrable (fun x => ‖ψ x‖ ^ 2) P
    shared
    S :
    IIDSample Ω X μ P
    _hψ_int :
    hmean :
    ∫ x, ψ x ∂P = 0
    hSum_meas :
    ∀ n, AEMeasurable (IsAsymLinearVec.normalizedSum S ψ (fun m => range m) n) μ
    Tendsto_dist_vec (fun n ω => maxAbs (IsAsymLinearVec.normalizedSum S ψ (fun m => range m) n ω)) ((gaussianLimit hψ hvar).map maxAbs) μ (fun n => measurable_maxAbs.comp_aemeasurable (hSum_meas n))
    Proof (Lean source)
    theorem normalizedSum_maxAbs_clt (S : IIDSample Ω X μ P) (_hψ_int : Integrable ψ P) (hmean : ∫ x, ψ x ∂P = 0) (hSum_meas : ∀ n, AEMeasurable (IsAsymLinearVec.normalizedSum S ψ (fun m => range m) n) μ) : Tendsto_dist_vec (fun n ω => maxAbs (IsAsymLinearVec.normalizedSum S ψ (fun m => range m) n ω)) ((gaussianLimit hψ hvar).map maxAbs) μ (fun n => measurable_maxAbs.comp_aemeasurable (hSum_meas n)) := Tendsto_dist_vec.map_continuous continuous_maxAbs hSum_meas (S.clt_normalizedSum_vec hψ hvar hmean)
    Causalean.PartialID.RandomSet.normalizedSum_maxAbs_clt · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:98
  • sqrt_inv_centered lemma — The centered-sum / √n identity (√n)⁻¹·(s − n·c) = √n·(s/n − c), the algebra turning a normalised centered sum into √n × (sample mean − population mean).
    n :
    s c :
    (sqrt n)⁻¹ * (s - n * c) = sqrt n * (s / n - c)
    Proof (Lean source)
    lemma sqrt_inv_centered (n : ℕ) (s c : ℝ) : (Real.sqrt n)⁻¹ * (s - n * c) = Real.sqrt n * (s / n - c) := by rcases Nat.eq_zero_or_pos n with hn | hn · subst hn; simp · have hnpos : (0 : ℝ) < n := by exact_mod_cast hn set r := Real.sqrt n with hr have hr0 : r ≠ 0 := ne_of_gt (Real.sqrt_pos.mpr hnpos) have hsq : r * r = (n : ℝ) := Real.mul_self_sqrt (le_of_lt hnpos) rw [← hsq] field_simp
    Causalean.PartialID.RandomSet.sqrt_inv_centered · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:121
  • sampleMean_le lemma — The sample-mean interval is well-ordered (lower ≤ upper) when y_L ≤ y_U.
    Ω :
    Type u_1
    shared
    X :
    Type u_2
    shared
    μ :
    shared
    P :
    shared
    S :
    IIDSample Ω X μ P
    yL yU :
    X → ℝ
    hLU :
    ∀ z, yL z ≤ yU z
    n :
    ω :
    Ω
    sampleMean S yL n ω ≤ sampleMean S yU n ω
    Proof (Lean source)
    lemma sampleMean_le (S : IIDSample Ω X μ P) (yL yU : X → ℝ) (hLU : ∀ z, yL z ≤ yU z) (n : ℕ) (ω : Ω) : sampleMean S yL n ω ≤ sampleMean S yU n ω := by unfold sampleMean gcongr with i _ exact hLU _
    Causalean.PartialID.RandomSet.sampleMean_le · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:188
  • eucl₂_apply lemma — Coordinate access for eucl₂: (eucl₂ v) j = v j.
    v :
    Fin 2 → ℝ
    j :
    Fin 2
    (eucl₂ v) j = v j
    Proof (Lean source)
    @[simp] lemma eucl₂_apply (v : Fin 2 → ℝ) (j : Fin 2) : (eucl₂ v) j = v j := rfl
    Causalean.PartialID.RandomSet.eucl₂_apply · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:221
  • norm_sq_intervalIFVec lemma — Pointwise squared norm of the endpoint influence function as the sum of the two squared centered endpoints.
    X :
    Type u_2
    shared
    yL yU :
    X → ℝ
    x :
    X
    ‖intervalIFVec yL yU P x‖ ^ 2 = (yL x - ∫ z, yL z ∂P) ^ 2 + (yU x - ∫ z, yU z ∂P) ^ 2
    Proof (Lean source)
    lemma norm_sq_intervalIFVec (yL yU : X → ℝ) (x : X) : ‖intervalIFVec yL yU P x‖ ^ 2 = (yL x - ∫ z, yL z ∂P) ^ 2 + (yU x - ∫ z, yU z ∂P) ^ 2 := by unfold intervalIFVec rw [EuclideanSpace.norm_eq, Real.sq_sqrt (sum_nonneg fun j _ => sq_nonneg _)] rw [Fin.sum_univ_two] rw [Real.norm_eq_abs, Real.norm_eq_abs, sq_abs, sq_abs, eucl₂_apply, eucl₂_apply] rw [Matrix.cons_val_zero, Matrix.cons_val_one, Matrix.cons_val_zero]
    Causalean.PartialID.RandomSet.norm_sq_intervalIFVec · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:225
  • measurable_intervalIFVec lemma — intervalIFVec is measurable from measurability of the two endpoint maps.
    X :
    Type u_2
    shared
    yL yU :
    X → ℝ
    hLmeas :
    hUmeas :
    Proof (Lean source)
    @[fun_prop] lemma measurable_intervalIFVec (yL yU : X → ℝ) (hLmeas : Measurable yL) (hUmeas : Measurable yU) : Measurable (intervalIFVec yL yU P) := by unfold intervalIFVec eucl₂ refine ((EuclideanSpace.equiv (Fin 2) ℝ).symm.continuous.measurable).comp ?_ refine measurable_pi_lambda _ (fun j => ?_) fin_cases j · exact (hLmeas.sub measurable_const) · exact (hUmeas.sub measurable_const)
    Causalean.PartialID.RandomSet.measurable_intervalIFVec · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:237
  • intervalIFVec_var_integrable lemma — The variance term ‖ψ‖² ∈ L¹(P), from MemLp 2 of the two endpoints.
    X :
    Type u_2
    shared
    yL yU :
    X → ℝ
    hLsq :
    MemLp yL 2 P
    hUsq :
    MemLp yU 2 P
    Integrable (fun x => ‖intervalIFVec yL yU P x‖ ^ 2) P
    Proof (Lean source)
    lemma intervalIFVec_var_integrable (yL yU : X → ℝ) (hLsq : MemLp yL 2 P) (hUsq : MemLp yU 2 P) : Integrable (fun x => ‖intervalIFVec yL yU P x‖ ^ 2) P := by have hL2 : MemLp (fun x => yL x - ∫ z, yL z ∂P) 2 P := hLsq.sub (memLp_const _) have hU2 : MemLp (fun x => yU x - ∫ z, yU z ∂P) 2 P := hUsq.sub (memLp_const _) have hLi : Integrable (fun x => (yL x - ∫ z, yL z ∂P) ^ 2) P := (memLp_two_iff_integrable_sq hL2.aestronglyMeasurable).1 hL2 have hUi : Integrable (fun x => (yU x - ∫ z, yU z ∂P) ^ 2) P := (memLp_two_iff_integrable_sq hU2.aestronglyMeasurable).1 hU2 have heq : (fun x => ‖intervalIFVec yL yU P x‖ ^ 2) = fun x => (yL x - ∫ z, yL z ∂P) ^ 2 + (yU x - ∫ z, yU z ∂P) ^ 2 := by funext x; exact norm_sq_intervalIFVec yL yU x rw [heq] exact hLi.add hUi
    Causalean.PartialID.RandomSet.intervalIFVec_var_integrable · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:249
  • intervalIFVec_integrable lemma — intervalIFVec is Bochner-integrable, from MemLp 2 ⇒ Integrable of the endpoints on a probability measure.
    X :
    Type u_2
    shared
    yL yU :
    X → ℝ
    hLsq :
    MemLp yL 2 P
    hUsq :
    MemLp yU 2 P
    Proof (Lean source)
    lemma intervalIFVec_integrable (yL yU : X → ℝ) (hLsq : MemLp yL 2 P) (hUsq : MemLp yU 2 P) : Integrable (intervalIFVec yL yU P) P := by have hLi : Integrable yL P := hLsq.integrable (by norm_num) have hUi : Integrable yU P := hUsq.integrable (by norm_num) unfold intervalIFVec eucl₂ apply (ContinuousLinearEquiv.integrable_comp_iff (EuclideanSpace.equiv (Fin 2) ℝ).symm).2 refine (integrable_pi_iff).2 (fun j => ?_) fin_cases j · exact hLi.sub (integrable_const _) · exact hUi.sub (integrable_const _)
    Causalean.PartialID.RandomSet.intervalIFVec_integrable · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:267
  • intervalIFVec_mean_zero lemma — The endpoint influence function is centered: ∫ ψ dP = 0.
    X :
    Type u_2
    shared
    yL yU :
    X → ℝ
    hLsq :
    MemLp yL 2 P
    hUsq :
    MemLp yU 2 P
    ∫ x, intervalIFVec yL yU P x ∂P = 0
    Proof (Lean source)
    lemma intervalIFVec_mean_zero (yL yU : X → ℝ) (hLsq : MemLp yL 2 P) (hUsq : MemLp yU 2 P) : ∫ x, intervalIFVec yL yU P x ∂P = 0 := by have hLi : Integrable yL P := hLsq.integrable (by norm_num) have hUi : Integrable yU P := hUsq.integrable (by norm_num) change ∫ x, eucl₂ ![yL x - ∫ z, yL z ∂P, yU x - ∫ z, yU z ∂P] ∂P = 0 unfold eucl₂ set g : X → (Fin 2 → ℝ) := fun x => ![yL x - ∫ z, yL z ∂P, yU x - ∫ z, yU z ∂P] with hg rw [ContinuousLinearEquiv.integral_comp_comm (EuclideanSpace.equiv (Fin 2) ℝ).symm g] have hint : Integrable g P := by refine (integrable_pi_iff).2 (fun j => ?_) fin_cases j · exact hLi.sub (integrable_const _) · exact hUi.sub (integrable_const _) have hzero : (∫ x, g x ∂P) = 0 := by funext j have hproj := ContinuousLinearMap.integral_comp_comm (ContinuousLinearMap.proj (R := ℝ) (φ := fun _ : Fin 2 => ℝ) j) hint simp only [ContinuousLinearMap.proj_apply] at hproj rw [Pi.zero_apply, ← hproj] fin_cases j · have heq : (fun x => g x ((fun i => i) (⟨0, by omega⟩ : Fin 2))) = fun x => yL x - ∫ z, yL z ∂P := by funext x; simp only [hg]; rfl rw [heq, integral_sub hLi (integrable_const _), integral_const, probReal_univ, one_smul, sub_self] · have heq : (fun x => g x ((fun i => i) (⟨1, by omega⟩ : Fin 2))) = fun x => yU x - ∫ z, yU z ∂P := by funext x; simp only [hg]; rfl rw [heq, integral_sub hUi (integrable_const _), integral_const, probReal_univ, one_smul, sub_self] rw [hzero, map_zero]
    Causalean.PartialID.RandomSet.intervalIFVec_mean_zero · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:281
  • intervalIFVec_sum_aemeasurable lemma — The vector normalised sum of intervalIFVec is AEMeasurable for each n, from measurability of the endpoints and of the sample coordinates S.Z i.
    Ω :
    Type u_1
    shared
    X :
    Type u_2
    shared
    μ :
    shared
    P :
    shared
    S :
    IIDSample Ω X μ P
    yL yU :
    X → ℝ
    hLmeas :
    hUmeas :
    n :
    AEMeasurable (IsAsymLinearVec.normalizedSum S (intervalIFVec yL yU P) (fun m => range m) n) μ
    Proof (Lean source)
    @[fun_prop] lemma intervalIFVec_sum_aemeasurable (S : IIDSample Ω X μ P) (yL yU : X → ℝ) (hLmeas : Measurable yL) (hUmeas : Measurable yU) : ∀ n, AEMeasurable (IsAsymLinearVec.normalizedSum S (intervalIFVec yL yU P) (fun m => range m) n) μ := by intro n unfold IsAsymLinearVec.normalizedSum refine (aemeasurable ?_) refine (measurable_const_smul _).comp ?_ refine measurable_sum _ (fun i _ => ?_) exact (measurable_intervalIFVec yL yU hLmeas hUmeas).comp (S.meas i)
    Causalean.PartialID.RandomSet.intervalIFVec_sum_aemeasurable · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:316
  • intervalIFVec_hHmeas lemma — The scaled Hausdorff statistic is AEMeasurable for each n. Equals maxAbs ∘ (normalised sum) everywhere by maxAbs_normalizedSum_eq.
    Ω :
    Type u_1
    shared
    X :
    Type u_2
    shared
    μ :
    shared
    P :
    shared
    S :
    IIDSample Ω X μ P
    yL yU :
    X → ℝ
    hLU :
    ∀ z, yL z ≤ yU z
    hLmeas :
    hUmeas :
    hLint :
    hUint :
    n :
    AEMeasurable (fun ω => sqrt n * hausdorffDist (Icc (sampleMean S yL n ω) (sampleMean S yU n ω)) (Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P))) μ
    Proof (Lean source)
    lemma intervalIFVec_hHmeas (S : IIDSample Ω X μ P) (yL yU : X → ℝ) (hLU : ∀ z, yL z ≤ yU z) (hLmeas : Measurable yL) (hUmeas : Measurable yU) (hLint : Integrable yL P) (hUint : Integrable yU P) : ∀ n : ℕ, AEMeasurable (fun ω => sqrt n * hausdorffDist (Icc (sampleMean S yL n ω) (sampleMean S yU n ω)) (Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P))) μ := by intro n refine (measurable_maxAbs.comp_aemeasurable (intervalIFVec_sum_aemeasurable S yL yU hLmeas hUmeas n)).congr ?_ exact Filter.Eventually.of_forall fun ω => maxAbs_normalizedSum_eq S yL yU hLU hLint hUint n ω
    Causalean.PartialID.RandomSet.intervalIFVec_hHmeas · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:331
Set­Valued 3 core · 4 supporting This file develops the convex-geometric substrate for random closed sets whose values are nonempty compact convex subsets of an inner-product space. ★ supportFn_minkowskiMean

Set-Valued Random Variables and Minkowski Means

This file develops the convex-geometric substrate for random closed sets whose values are nonempty compact convex subsets of an inner-product space. Its main role in the library is to identify the support function of an empirical Minkowski average with the ordinary average of scalar support functions.

Main declarations: * IsBody records the nonempty compact convex value type for set-valued random variables. * isBody_finsetSum shows that finite Minkowski sums preserve bodies. * supportFn_finsetSum makes support functions commute with finite Minkowski sums. * minkowskiMean and supportFn_minkowskiMean identify the support function of an empirical Minkowski average with the average of support functions.

structure IsBody reviewed
Causalean.PartialID.RandomSet

A body: a nonempty, compact, convex subset of E — the value type 𝒦ₖ(E) of a Beresteanu–Molinari set-valued random variable. Compactness makes supportFn C d well-defined (the linear functional attains its sup); convexity is what lets the support function characterise the set.

Definition (Lean source)
E :
Type u_1
shared
C :
Set E
nonempty :
C.Nonempty
isCompact :
convex :
Convex ℝ C
Causalean.PartialID.RandomSet.IsBody · Causalean/PO/ID/Partial/RandomSet/SetValued.lean:63
def minkowskiMean reviewed
Causalean.PartialID.RandomSet

For an inner-product outcome space, an index population, a finite index set, and a family of subsets of that space, the empirical Minkowski average is the Minkowski sum of the selected sets, scaled by the reciprocal of the number of selected indices.

Definition (Lean source)
E :
Type u_1
shared
ι :
Type*
s :
F :
ι → Set E
minkowskiMean s F :
Set E
(s.card : ℝ)⁻¹ • (∑ i ∈ s, F i)
Causalean.PartialID.RandomSet.minkowskiMean · Causalean/PO/ID/Partial/RandomSet/SetValued.lean:120
theorem supportFn_minkowskiMean reviewed
Causalean.PartialID.RandomSet

Keystone — Minkowski-mean support bridge. Given a finite index set s all of whose values F i are bodies — nonempty, compact, convex subsets, the support function of the empirical Minkowski average (1/|s|) · ∑ᵢ Fᵢ in a direction d equals the arithmetic average of the individual support functions: s(d, F̄ₙ) = (1/|s|) · ∑ᵢ s(d, Fᵢ). This is the identity that turns the support process into an ordinary sample mean, so the multivariate CLT applies.

Formal statement
E :
Type u_1
shared
ι :
Type*
s :
F :
ι → Set E
d :
E
h :
∀ i ∈ s, IsBody (F i)
supportFn (minkowskiMean s F) d = (s.card : ℝ)⁻¹ * ∑ i ∈ s, supportFn (F i) d
Proof (Lean source)
theorem supportFn_minkowskiMean {ι : Type*} (s : Finset ι) (F : ι → Set E) (d : E) (h : ∀ i ∈ s, IsBody (F i)) : supportFn (minkowskiMean s F) d = (s.card : ℝ)⁻¹ * ∑ i ∈ s, supportFn (F i) d := by rw [minkowskiMean, supportFn_smul_set (by positivity) (isBody_finsetSum s F h).nonempty ((isBody_finsetSum s F h).bddAbove d), supportFn_finsetSum s F d h]
Causalean.PartialID.RandomSet.supportFn_minkowskiMean · Causalean/PO/ID/Partial/RandomSet/SetValued.lean:128 · uses IsBody , minkowskiMean , supportFn
4 supporting declarations (lemmas, instances)
  • bddAbove_inner_image lemma — On a compact set the linear functional ⟪d, ·⟫ is bounded above.
    E :
    Type u_1
    Set E
    shared
    hC :
    d :
    E
    BddAbove ((fun x => ⟪d, x⟫) '' C)
    Proof (Lean source)
    lemma bddAbove_inner_image {C : Set E} (hC : IsCompact C) (d : E) : BddAbove ((fun x => ⟪d, x⟫) '' C) := by obtain ⟨R, hR⟩ := hC.isBounded.subset_closedBall (0 : E) refine ⟨‖d‖ * R, ?_⟩ rintro _ ⟨x, hx, rfl⟩ have hxR : ‖x‖ ≤ R := by simpa [Metric.mem_closedBall, dist_zero_right] using hR hx calc ⟪d, x⟫ ≤ ‖d‖ * ‖x‖ := real_inner_le_norm d x _ ≤ ‖d‖ * R := mul_le_mul_of_nonneg_left hxR (norm_nonneg d)
    Causalean.PartialID.RandomSet.bddAbove_inner_image · Causalean/PO/ID/Partial/RandomSet/SetValued.lean:72
  • bddAbove lemma — The support function of a body is bounded above, hence meaningful.
    E :
    Type u_1
    Set E
    shared
    h :
    d :
    E
    BddAbove ((fun x => ⟪d, x⟫) '' C)
    Proof (Lean source)
    lemma IsBody.bddAbove {C : Set E} (h : IsBody C) (d : E) : BddAbove ((fun x => ⟪d, x⟫) '' C) := bddAbove_inner_image h.isCompact d
    Causalean.PartialID.RandomSet.IsBody.bddAbove · Causalean/PO/ID/Partial/RandomSet/SetValued.lean:82
  • isBody_finsetSum lemma — A finite Minkowski sum of bodies is a body.
    E :
    Type u_1
    shared
    ι :
    Type*
    s :
    F :
    ι → Set E
    h :
    ∀ i ∈ s, IsBody (F i)
    IsBody (∑ i ∈ s, F i)
    Proof (Lean source)
    lemma isBody_finsetSum {ι : Type*} (s : Finset ι) (F : ι → Set E) (h : ∀ i ∈ s, IsBody (F i)) : IsBody (∑ i ∈ s, F i) := by classical induction s using Finset.induction with | empty => rw [Finset.sum_empty, ← Set.singleton_zero] exact ⟨Set.singleton_nonempty 0, isCompact_singleton, convex_singleton 0⟩ | @insert a s ha ih => rw [Finset.sum_insert ha] have ha := h a (mem_insert_self a s) have hr := ih (fun i hi => h i (mem_insert_of_mem hi)) exact ⟨ha.nonempty.add hr.nonempty, ha.isCompact.add hr.isCompact, ha.convex.add hr.convex⟩
    Causalean.PartialID.RandomSet.isBody_finsetSum · Causalean/PO/ID/Partial/RandomSet/SetValued.lean:87
  • supportFn_finsetSum theorem — Support function commutes with finite Minkowski sums: s(∑ᵢ Fᵢ, d) = ∑ᵢ s(Fᵢ, d).
    E :
    Type u_1
    shared
    ι :
    Type*
    s :
    F :
    ι → Set E
    d :
    E
    h :
    ∀ i ∈ s, IsBody (F i)
    supportFn (∑ i ∈ s, F i) d = ∑ i ∈ s, supportFn (F i) d
    Proof (Lean source)
    theorem supportFn_finsetSum {ι : Type*} (s : Finset ι) (F : ι → Set E) (d : E) (h : ∀ i ∈ s, IsBody (F i)) : supportFn (∑ i ∈ s, F i) d = ∑ i ∈ s, supportFn (F i) d := by classical induction s using Finset.induction with | empty => rw [Finset.sum_empty, Finset.sum_empty, ← Set.singleton_zero, supportFn, Set.image_singleton, inner_zero_right, csSup_singleton] | @insert a s ha ih => rw [Finset.sum_insert ha, Finset.sum_insert ha] have ha := h a (mem_insert_self a s) have hr := fun i hi => h i (mem_insert_of_mem hi) have hbody := isBody_finsetSum s F hr rw [supportFn_minkowski ha.nonempty hbody.nonempty (ha.bddAbove d) (hbody.bddAbove d), ih hr]
    Causalean.PartialID.RandomSet.supportFn_finsetSum · Causalean/PO/ID/Partial/RandomSet/SetValued.lean:102
Support­Process 4 core · 5 supporting This file proves the finite-dimensional support-process central limit theorem for random compact convex sets evaluated on a fixed grid of directions. ★ supportProcess_sup_clt★ setValued_supportProcess_clt

Finite-Direction Support-Process Central Limit Theorem

This file proves the finite-dimensional support-process central limit theorem for random compact convex sets evaluated on a fixed grid of directions. It turns support-function deviations into a vector-valued empirical process and applies a continuous mapping theorem to the gridwise sup-norm statistic. This is the honest finite-dimensional projection of Beresteanu--Molinari Theorem A.2; the full continuum Banach-space central limit theorem is deferred.

def maxAbsK reviewed
Causalean.PartialID.RandomSet

For a nonempty grid containing kk directions and a vector of support-process deviations over that grid, the grid supremum statistic is the largest absolute coordinate of the vector.

Definition (Lean source)
k :
shared
w :
maxAbsK w :
Finset.univ.sup' Finset.univ_nonempty (fun j => |w j|)
Causalean.PartialID.RandomSet.maxAbsK · Causalean/PO/ID/Partial/RandomSet/SupportProcess.lean:60
theorem supportProcess_sup_clt reviewed
Causalean.PartialID.RandomSet

For a centered support process ψ on k fixed directions observed via an IID sample S, if ψ is mean zero, E[ψ] = 0, and the normalized partial sums built from S are almost-everywhere measurable at every sample size, then the grid supremum statistic maxAbsK applied to those normalized sums converges in distribution to maxAbsK applied to the Gaussian limit of ψ.

Formal statement
Ω :
Type u_1
shared
X :
Type u_2
shared
μ :
shared
P :
shared
k :
X → EuclideanSpace ℝ (Fin k)
shared
:
shared
hvar :
Integrable (fun x => ‖ψ x‖ ^ 2) P
shared
S :
IIDSample Ω X μ P
hmean :
∫ x, ψ x ∂P = 0
hSum_meas :
∀ n, AEMeasurable (IsAsymLinearVec.normalizedSum S ψ (fun m => range m) n) μ
Tendsto_dist_vec (fun n ω => maxAbsK (IsAsymLinearVec.normalizedSum S ψ (fun m => range m) n ω)) ((gaussianLimit hψ hvar).map maxAbsK) μ (fun n => measurable_maxAbsK.comp_aemeasurable (hSum_meas n))
Proof (Lean source)
theorem supportProcess_sup_clt (S : IIDSample Ω X μ P) (hmean : ∫ x, ψ x ∂P = 0) (hSum_meas : ∀ n, AEMeasurable (IsAsymLinearVec.normalizedSum S ψ (fun m => range m) n) μ) : Tendsto_dist_vec (fun n ω => maxAbsK (IsAsymLinearVec.normalizedSum S ψ (fun m => range m) n ω)) ((gaussianLimit hψ hvar).map maxAbsK) μ (fun n => measurable_maxAbsK.comp_aemeasurable (hSum_meas n)) := Tendsto_dist_vec.map_continuous continuous_maxAbsK hSum_meas (S.clt_normalizedSum_vec hψ hvar hmean)
def supportProcess reviewed
Causalean.PartialID.RandomSet

For an observation space, a nonempty grid containing kk directions, an inner-product outcome space, a set-valued outcome function, a proposed center set, and a grid of directions, the centered support process maps each observation to the vector whose coordinate in each direction is the support value of its realized set minus the support value of the proposed center set.

Definition (Lean source)
X :
Type u_2
shared
k :
shared
V :
Type u_3
shared
F :
X → Set V
EF :
Set V
p :
Fin k → V
supportProcess F EF p :
X → EuclideanSpace ℝ (Fin k)
fun x
=> (WithLp.equiv 2 (Fin k → ℝ)).symm (fun j => supportFn (F x) (p j) - supportFn EF (p j))
Causalean.PartialID.RandomSet.supportProcess · Causalean/PO/ID/Partial/RandomSet/SupportProcess.lean:137
theorem setValued_supportProcess_clt reviewed
Causalean.PartialID.RandomSet

For a set-valued random variable F with center EF, observed via an IID sample on a finite grid of directions p, if the centered support process is measurable, it has finite second moment, it is mean zero, E[ψ] = 0, and the normalized partial sums of the process are almost-everywhere measurable at every sample size, then the grid supremum statistic applied to those normalized sums converges in distribution to the corresponding supremum functional of the process's Gaussian limit.

Formal statement
Ω :
Type u_1
shared
X :
Type u_2
shared
μ :
shared
P :
shared
k :
shared
V :
Type u_3
shared
S :
IIDSample Ω X μ P
F :
X → Set V
EF :
Set V
p :
Fin k → V
:
hvar :
Integrable (fun x => ‖supportProcess F EF p x‖ ^ 2) P
hmean :
∫ x, supportProcess F EF p x ∂P = 0
hSum_meas :
∀ n,
AEMeasurable (IsAsymLinearVec.normalizedSum S (supportProcess F EF p) (fun m => range m) n) μ
Tendsto_dist_vec (fun n ω => maxAbsK (IsAsymLinearVec.normalizedSum S (supportProcess F EF p) (fun m => range m) n ω)) ((gaussianLimit hψ hvar).map maxAbsK) μ (fun n => measurable_maxAbsK.comp_aemeasurable (hSum_meas n))
Proof (Lean source)
-- TODO(faithfulness): Beresteanu-Molinari finite-grid CLT — to reach the -- empirical-Minkowski statement directly, the public theorem should include -- the body-valued bridge hypotheses and identify this normalized support-process -- statistic with the Hausdorff-over-grid empirical-Minkowski statistic. theorem setValued_supportProcess_clt (S : IIDSample Ω X μ P) (F : X → Set V) (EF : Set V) (p : Fin k → V) (hψ : Measurable (supportProcess F EF p)) (hvar : Integrable (fun x => ‖supportProcess F EF p x‖ ^ 2) P) (hmean : ∫ x, supportProcess F EF p x ∂P = 0) (hSum_meas : ∀ n, AEMeasurable (IsAsymLinearVec.normalizedSum S (supportProcess F EF p) (fun m => range m) n) μ) : Tendsto_dist_vec (fun n ω => maxAbsK (IsAsymLinearVec.normalizedSum S (supportProcess F EF p) (fun m => range m) n ω)) ((gaussianLimit hψ hvar).map maxAbsK) μ (fun n => measurable_maxAbsK.comp_aemeasurable (hSum_meas n)) := supportProcess_sup_clt hψ hvar S hmean hSum_meas
5 supporting declarations (lemmas, instances)
Aumann 3 core · 2 supporting This file connects interval-valued Aumann expectations with support functions in the two unit directions on the real line. ★ hausdorffDist_Icc_eq_supportFn★ artstein_supportFn_one★ artstein_supportFn_neg_one

The One-Dimensional Aumann Support Bridge

This file connects interval-valued Aumann expectations with support functions in the two unit directions on the real line. The support function of [a,b] at +1 is b, and at -1 is -a; these endpoint formulas turn both the Hausdorff identity and the Artstein expectation identity into scalar interval facts.

Main declarations: * supportFn_Icc_one and supportFn_Icc_neg_one compute support functions of real intervals at the two unit directions. * hausdorffDist_Icc_eq_supportFn rewrites interval Hausdorff distance in the d = 1 support-function form. * artstein_supportFn_one and artstein_supportFn_neg_one prove the one-dimensional Artstein identities for selectionExpectation.

theorem hausdorffDist_Icc_eq_supportFn reviewed
Causalean.PartialID.RandomSet

The d = 1 Hörmander identity (Beresteanu–Molinari eq. (A.1)). For real numbers a ≤ b and c ≤ d forming two well-ordered closed intervals, the Hausdorff distance between the intervals [a,b] and [c,d] equals the largest, over the two unit directions +1 and −1, of the absolute difference between their support functions in that direction.

Formal statement
a b c d :
hab :
a ≤ b
hcd :
c ≤ d
hausdorffDist (Icc a b) (Icc c d)
= max |supportFn (Icc a b) (-1 : ℝ)
- supportFn (Icc c d) (-1 : ℝ)| |supportFn (Icc a b) (1 : ℝ)
- supportFn (Icc c d) (1 : ℝ)|
Proof (Lean source)
theorem hausdorffDist_Icc_eq_supportFn {a b c d : ℝ} (hab : a ≤ b) (hcd : c ≤ d) : hausdorffDist (Icc a b) (Icc c d) = max |supportFn (Icc a b) (-1 : ℝ) - supportFn (Icc c d) (-1 : ℝ)| |supportFn (Icc a b) (1 : ℝ) - supportFn (Icc c d) (1 : ℝ)| := by rw [hausdorffDist_Icc hab hcd, supportFn_Icc_one hab, supportFn_Icc_one hcd, supportFn_Icc_neg_one hab, supportFn_Icc_neg_one hcd, show (-a) - (-c) = -(a - c) by ring, abs_neg]
Causalean.PartialID.RandomSet.hausdorffDist_Icc_eq_supportFn · Causalean/PO/ID/Partial/RandomSet/Aumann.lean:84 · uses hausdorffDist , supportFn
theorem artstein_supportFn_one reviewed
Causalean.PartialID.RandomSet

Artstein identity, d = 1, direction +1. For measurable lower and upper endpoint functions L, U of an interval-valued random set that are integrable and satisfy L pointwise at most U, the support function of the Aumann (selection) expectation of the random interval [L, U] in the direction +1, namely the upper endpoint, equals the expectation of the support function of the random interval itself in that direction: s(+1, E[F]) = E[s(+1, F)].

Formal statement
Ω :
Type u_1
Ω → ℝ
Ω → ℝ
shared
hL :
hU :
hLint :
hUint :
hLU :
∀ ω, L ω ≤ U ω
supportFn (selectionExpectation L U μ) (1 : ℝ)
= ∫ ω, supportFn (randomInterval L U ω) (1 : ℝ) ∂μ
Proof (Lean source)
theorem artstein_supportFn_one (hL : Measurable L) (hU : Measurable U) (hLint : Integrable L μ) (hUint : Integrable U μ) (hLU : ∀ ω, L ω ≤ U ω) : supportFn (selectionExpectation L U μ) (1 : ℝ) = ∫ ω, supportFn (randomInterval L U ω) (1 : ℝ) ∂μ := by have hfun : (fun ω => supportFn (randomInterval L U ω) (1 : ℝ)) = fun ω => U ω := by funext ω; exact supportFn_Icc_one (hLU ω) rw [selectionExpectation_eq_Icc hL hU hLint hUint hLU, supportFn_Icc_one (integral_le_integral_of_le hLint hUint hLU), hfun]
theorem artstein_supportFn_neg_one reviewed
Causalean.PartialID.RandomSet

Artstein identity, d = 1, direction −1. For measurable lower and upper endpoint functions L, U of an interval-valued random set that are integrable and satisfy L pointwise at most U, the support function of the Aumann (selection) expectation of the random interval [L, U] in the direction −1, namely the negated lower endpoint, equals the expectation of the support function of the random interval itself in that direction: s(−1, E[F]) = E[s(−1, F)].

Formal statement
Ω :
Type u_1
Ω → ℝ
Ω → ℝ
shared
hL :
hU :
hLint :
hUint :
hLU :
∀ ω, L ω ≤ U ω
supportFn (selectionExpectation L U μ) (-1 : ℝ)
= ∫ ω, supportFn (randomInterval L U ω) (-1 : ℝ) ∂μ
Proof (Lean source)
theorem artstein_supportFn_neg_one (hL : Measurable L) (hU : Measurable U) (hLint : Integrable L μ) (hUint : Integrable U μ) (hLU : ∀ ω, L ω ≤ U ω) : supportFn (selectionExpectation L U μ) (-1 : ℝ) = ∫ ω, supportFn (randomInterval L U ω) (-1 : ℝ) ∂μ := by have hfun : (fun ω => supportFn (randomInterval L U ω) (-1 : ℝ)) = fun ω => -L ω := by funext ω; exact supportFn_Icc_neg_one (hLU ω) rw [selectionExpectation_eq_Icc hL hU hLint hUint hLU, supportFn_Icc_neg_one (integral_le_integral_of_le hLint hUint hLU), hfun, integral_neg]
Causalean.PartialID.RandomSet.artstein_supportFn_neg_one · Causalean/PO/ID/Partial/RandomSet/Aumann.lean:113 · uses randomInterval , selectionExpectation , supportFn
2 supporting declarations (lemmas, instances)
Grid­Test 4 core · 0 supporting This file formulates finite-grid specification tests for the Aumann expectation of a set-valued random variable using the normalized centered support process. ★ gridTestStat_clt★ gridTest_asymptotic_level

Finite-Grid Specification Tests for Random Sets

This file formulates finite-grid specification tests for the Aumann expectation of a set-valued random variable using the normalized centered support process. The statistic is the gridwise supremum of that normalized support-process sum, and its asymptotic level follows from the finite-direction support-process central limit theorem.

Main declarations: * gridTestStat is the finite-grid l^\infty statistic applied to the normalized centered support-process sum. * gridTestReject is the rejection region {T_n > c}. * gridTestStat_clt transports the support-process CLT through the grid supremum functional. * gridTest_asymptotic_level identifies the limiting rejection probability at continuity points of the Gaussian limit law.

def gridTestStat reviewed
Causalean.PartialID.RandomSet

For a measurable sample space with sampling measure, a measurable outcome space with outcome measure, a nonempty grid containing kk directions, an inner-product outcome space, an independent and identically distributed sample, a set-valued outcome function, its proposed center set, and a grid of directions, the finite-grid test statistic, at every nonnegative sample size and sample point, is the largest absolute coordinate of the normalized centered support-process sum.

Definition (Lean source)
Ω :
Type u_1
shared
X :
Type u_2
shared
μ :
shared
P :
shared
k :
shared
V :
Type u_3
shared
S :
IIDSample Ω X μ P
F :
X → Set V
EF :
Set V
p :
Fin k → V
gridTestStat S F EF p :
ℕ → Ω → ℝ
fun n ω
=> maxAbsK (IsAsymLinearVec.normalizedSum S (supportProcess F EF p) (fun m => range m) n ω)
Causalean.PartialID.RandomSet.gridTestStat · Causalean/PO/ID/Partial/RandomSet/GridTest.lean:75 · uses IIDSample
def gridTestReject reviewed
Causalean.PartialID.RandomSet

For a measurable sample space with sampling measure, a measurable outcome space with outcome measure, a nonempty grid containing kk directions, an inner-product outcome space, an independent and identically distributed sample, a set-valued outcome function, its proposed center set, a grid of directions, a nonnegative sample size, and a real critical value, the rejection region is the set of sample points at which the finite-grid test statistic exceeds the critical value.

Definition (Lean source)
Ω :
Type u_1
shared
X :
Type u_2
shared
μ :
shared
P :
shared
k :
shared
V :
Type u_3
shared
S :
IIDSample Ω X μ P
F :
X → Set V
EF :
Set V
p :
Fin k → V
n :
c :
gridTestReject S F EF p n c :
Set Ω
{ω | c < gridTestStat S F EF p n ω}
Causalean.PartialID.RandomSet.gridTestReject · Causalean/PO/ID/Partial/RandomSet/GridTest.lean:95 · uses IIDSample
theorem gridTestStat_clt reviewed
Causalean.PartialID.RandomSet

The normalized finite-grid support-process statistic converges in distribution to the grid supremum of its Gaussian limit.

Formal statement
Ω :
Type u_1
shared
X :
Type u_2
shared
μ :
shared
P :
shared
k :
shared
V :
Type u_3
shared
S :
IIDSample Ω X μ P
shared
F :
X → Set V
shared
EF :
Set V
shared
p :
Fin k → V
shared
:
shared
hvar :
Integrable (fun x => ‖Causalean.PartialID.RandomSet.supportProcess F EF p x‖ ^ 2) P
shared
hmean :
∫ (x : X), supportProcess F EF p x ∂P = 0
shared
hSum_meas :
∀ (n : ℕ),
AEMeasurable (normalizedSum S (supportProcess F EF p) (fun m => range m) n) μ
shared
Tendsto_dist_vec (gridTestStat S F EF p) ((gaussianLimit hψ hvar).map maxAbsK) μ (fun n => measurable_maxAbsK.comp_aemeasurable (hSum_meas n))
Proof (Lean source)
theorem gridTestStat_clt : Tendsto_dist_vec (gridTestStat S F EF p) ((gaussianLimit hψ hvar).map maxAbsK) μ (fun n => measurable_maxAbsK.comp_aemeasurable (hSum_meas n)) := setValued_supportProcess_clt S F EF p hψ hvar hmean hSum_meas
theorem gridTest_asymptotic_level reviewed
Causalean.PartialID.RandomSet

Asymptotic level of the finite-grid tail test. At any continuity point c of the Gaussian limit law of the grid test statistic — i.e. the limit law assigns zero mass to {c}the tail (rejection) probability of the normalized finite-grid support-process statistic converges to the corresponding tail mass of the Gaussian limit law: μ (gridTestReject … c) → L(c, ∞).

Formal statement
Ω :
Type u_1
shared
X :
Type u_2
shared
μ :
shared
P :
shared
k :
shared
V :
Type u_3
shared
S :
IIDSample Ω X μ P
shared
F :
X → Set V
shared
EF :
Set V
shared
p :
Fin k → V
shared
:
shared
hvar :
Integrable (fun x => ‖Causalean.PartialID.RandomSet.supportProcess F EF p x‖ ^ 2) P
shared
hmean :
∫ (x : X), supportProcess F EF p x ∂P = 0
shared
hSum_meas :
∀ (n : ℕ),
AEMeasurable (normalizedSum S (supportProcess F EF p) (fun m => range m) n) μ
shared
c :
hfront :
((gaussianLimit hψ hvar).map maxAbsK) {c} = 0
Tendsto (fun n => μ (gridTestReject S F EF p n c)) atTop (𝓝 (((gaussianLimit hψ hvar).map maxAbsK) (Ioi c)))
Proof (Lean source)
theorem gridTest_asymptotic_level {c : ℝ} (hfront : ((gaussianLimit hψ hvar).map maxAbsK) {c} = 0) : Tendsto (fun n => μ (gridTestReject S F EF p n c)) atTop (𝓝 (((gaussianLimit hψ hvar).map maxAbsK) (Ioi c))) := by have hclt := gridTestStat_clt S F EF p hψ hvar hmean hSum_meas unfold Tendsto_dist_vec at hclt have hport := MeasureTheory.ProbabilityMeasure.tendsto_measure_of_null_frontier_of_tendsto' hclt (E := Ioi c) (by rw [frontier_Ioi]; exact hfront) refine hport.congr' ?_ filter_upwards with n -- the per-`n` rejection probability equals the pushforward mass of `Ioi c` change (μ.map (gridTestStat S F EF p n)) (Ioi c) = μ (gridTestReject S F EF p n c) have hmeas : AEMeasurable (gridTestStat S F EF p n) μ := measurable_maxAbsK.comp_aemeasurable (hSum_meas n) rw [Measure.map_apply_of_aemeasurable hmeas measurableSet_Ioi] rfl
Interval­Inference 6 core · 6 supporting This file gives the deterministic geometry behind confidence regions for an interval identified set estimated by a sample-mean interval. ★ subset_dilate_iff_directedHausdorff_le★ subset_dilate_iff_hausdorff_le★ coverage_event_eq★ directedRegion_coverage

Confidence Regions for Scalar Interval Data

This file gives the deterministic geometry behind confidence regions for an interval identified set estimated by a sample-mean interval. It characterizes Minkowski dilations of intervals and relates coverage of the population interval to directed Hausdorff distance and the scalar interval-data central limit theorem.

Main declarations: * dilate is Minkowski dilation by [-r,r], and dilate_Icc computes it for closed intervals. * subset_dilate_iff_directedHausdorff_le is the one-sided coverage geometry for Beresteanu-Molinari confidence regions. * subset_dilate_iff_hausdorff_le is the symmetric two-sided analogue. * coverage_event_eq rewrites the random coverage event as an event on sqrt n * directedHausdorff. * dirStat, normalizedSum_dirStat_clt, dirStat_normalizedSum_eq, and directedRegion_coverage provide the directed CLT and asymptotic coverage theorem.

def dilate reviewed
Causalean.PartialID.RandomSet

For a set of real numbers and a real radius, the Minkowski dilation is the set of all sums a+ta+t such that aa belongs to the original set and tr|t|\le r.

Definition (Lean source)
A :
Set
r :
dilate A r :
Set
{x : ℝ | ∃ a ∈ A, ∃ t : ℝ, |t| ≤ r ∧ x = a + t}
theorem subset_dilate_iff_directedHausdorff_le reviewed
Causalean.PartialID.RandomSet

Coverage characterization (Beresteanu–Molinari Proposition 2.7 core). For real numbers with μL ≤ μU and yl ≤ yu forming two closed intervals, and a nonnegative dilation radius r, the population identified interval [μL, μU] lies inside the dilated estimate [yl, yu] ⊕ [−r, r] if and only if the directed Hausdorff distance from [μL,μU] to [yl,yu] is at most r. This is the one-sided coverage event of the Beresteanu–Molinari confidence region.

Formal statement
μL μU yl yu r :
:
μL ≤ μU
hy :
yl ≤ yu
hr :
0 ≤ r
Icc μL μU ⊆ dilate (Icc yl yu) r
directedHausdorff (Icc μL μU) (Icc yl yu) ≤ r
Proof (Lean source)
theorem subset_dilate_iff_directedHausdorff_le {μL μU yl yu r : ℝ} (hμ : μL ≤ μU) (hy : yl ≤ yu) (hr : 0 ≤ r) : Icc μL μU ⊆ dilate (Icc yl yu) r ↔ directedHausdorff (Icc μL μU) (Icc yl yu) ≤ r := by rw [dilate_Icc hy hr, Set.Icc_subset_Icc_iff hμ, directedHausdorff_Icc hμ hy, max_le_iff, max_le_iff] constructor · rintro ⟨h1, h2⟩ exact ⟨hr, by linarith [h1], by linarith [h2]⟩ · rintro ⟨_, h1, h2⟩ exact ⟨by linarith [h1], by linarith [h2]⟩
Causalean.PartialID.RandomSet.subset_dilate_iff_directedHausdorff_le · Causalean/PO/ID/Partial/RandomSet/IntervalInference.lean:95 · uses dilate , directedHausdorff
theorem subset_dilate_iff_hausdorff_le reviewed
Causalean.PartialID.RandomSet

Symmetric (two-sided) coverage characterization (Beresteanu–Molinari Uₙ / Theorem 2.4). For real numbers with μL ≤ μU and yl ≤ yu forming two closed intervals, and a nonnegative dilation radius r, each interval lies inside the other's dilation by r if and only if the symmetric Hausdorff distance between [μL,μU] and [yl,yu] is at most r. The mutual containment [μL,μU] ⊆ Uᵧ ∧ [yl,yu] ⊆ Uᵤ is exactly the two-sided event H ≤ r.

Formal statement
μL μU yl yu r :
:
μL ≤ μU
hy :
yl ≤ yu
hr :
0 ≤ r
(Icc μL μU ⊆ dilate (Icc yl yu) r ∧ Icc yl yu ⊆ dilate (Icc μL μU) r)
hausdorffDist (Icc μL μU) (Icc yl yu) ≤ r
Proof (Lean source)
theorem subset_dilate_iff_hausdorff_le {μL μU yl yu r : ℝ} (hμ : μL ≤ μU) (hy : yl ≤ yu) (hr : 0 ≤ r) : (Icc μL μU ⊆ dilate (Icc yl yu) r ∧ Icc yl yu ⊆ dilate (Icc μL μU) r) ↔ hausdorffDist (Icc μL μU) (Icc yl yu) ≤ r := by rw [subset_dilate_iff_directedHausdorff_le hμ hy hr, subset_dilate_iff_directedHausdorff_le hy hμ hr, hausdorffDist, max_le_iff]
Causalean.PartialID.RandomSet.subset_dilate_iff_hausdorff_le · Causalean/PO/ID/Partial/RandomSet/IntervalInference.lean:113 · uses dilate , hausdorffDist
theorem coverage_event_eq reviewed
Causalean.PartialID.RandomSet

Coverage event identity (Beresteanu–Molinari coverage corollary). Fix the population identified interval E[Y] = [μL, μU] with μL ≤ μU, the sample-mean interval Ȳₙ(ω) = [yl(ω), yu(ω)] with yl(ω) ≤ yu(ω) for every ω, a sample size of at least one, and a nonnegative critical value c. With the BM bandwidth r = c/√n, the (one-sided) coverage event {E[Y] ⊆ Uₙ} equals the event {√n · dᴴ(E[Y], Ȳₙ) ≤ c} on the directed Hausdorff statistic. Hence the coverage probability is μ {ω | √n · dᴴ(E[Y], Ȳₙ(ω)) ≤ c}.

Formal statement
Ω :
Type u_1
shared
μL μU :
yl yu :
Ω → ℝ
n :
hn :
1 ≤ n
c :
hc :
0 ≤ c
:
μL ≤ μU
hy :
∀ ω, yl ω ≤ yu ω
{ω | Icc μL μU ⊆ dilate (Icc (yl ω) (yu ω)) (c / sqrt n)}
= {ω | sqrt n * directedHausdorff (Icc μL μU) (Icc (yl ω) (yu ω)) ≤ c}
Proof (Lean source)
theorem coverage_event_eq (μL μU : ℝ) (yl yu : Ω → ℝ) (n : ℕ) (hn : 1 ≤ n) (c : ℝ) (hc : 0 ≤ c) (hμ : μL ≤ μU) (hy : ∀ ω, yl ω ≤ yu ω) : {ω | Icc μL μU ⊆ dilate (Icc (yl ω) (yu ω)) (c / sqrt n)} = {ω | sqrt n * directedHausdorff (Icc μL μU) (Icc (yl ω) (yu ω)) ≤ c} := by have hnpos : (0 : ℝ) < n := by exact_mod_cast Nat.lt_of_lt_of_le Nat.zero_lt_one hn have hsqrt_pos : 0 < sqrt n := Real.sqrt_pos.mpr hnpos have hr : 0 ≤ c / sqrt n := div_nonneg hc (Real.sqrt_nonneg _) ext ω simp only [Set.mem_setOf_eq] rw [subset_dilate_iff_directedHausdorff_le hμ (hy ω) hr] constructor · intro h rw [le_div_iff₀ hsqrt_pos] at h rw [mul_comm]; exact h · intro h rw [le_div_iff₀ hsqrt_pos, mul_comm] exact h
def dirStat reviewed
Causalean.PartialID.RandomSet

For a two-dimensional endpoint-deviation vector, the directed-Hausdorff functional is max{0,w0,w1}\max\{0,w_0,-w_1\}. On the centered and normalized endpoint sum, it equals n\sqrt n times the directed Hausdorff distance from the population interval to the sample-mean interval.

Definition (Lean source)
w :
dirStat w :
max 0 (max (w 0) (-(w 1)))
theorem directedRegion_coverage reviewed
Causalean.PartialID.RandomSet

Asymptotic coverage of the directed confidence region. For an i.i.d. sample with interval endpoints yL, yU satisfying the lower endpoint pointwise at most the upper endpoint and both integrable, assume the centered endpoint influence function is measurable with finite second moment and mean zero, its normalized partial sums are almost-everywhere measurable at every sample size, and fix a nonnegative bandwidth constant c that is a continuity point of the directed-Hausdorff Gaussian limit law. With population identified interval E[Y] = [E y_L, E y_U], sample-mean interval Ȳₙ, and the BM bandwidth c/√n, the coverage probability of the whole identified set converges to the limit-law mass of (-∞, c]:

Formal statement
Ω :
Type u_1
shared
X :
Type u_2
shared
μ :
shared
P :
shared
S :
IIDSample Ω X μ P
yL yU :
X → ℝ
hLU :
∀ z, yL z ≤ yU z
hLint :
hUint :
:
hvar :
Integrable (fun x => ‖intervalIFVec yL yU P x‖ ^ 2) P
hmean :
∫ x, intervalIFVec yL yU P x ∂P = 0
hSum_meas :
∀ n,
AEMeasurable (IsAsymLinearVec.normalizedSum S (intervalIFVec yL yU P) (fun m => range m) n) μ
c :
hc :
0 ≤ c
hfront :
((gaussianLimit hψ hvar).map dirStat) {c} = 0
Tendsto (fun n => μ {ω | Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P) ⊆ dilate (Icc (sampleMean S yL n ω) (sampleMean S yU n ω)) (c / sqrt n)}) atTop (𝓝 (((gaussianLimit hψ hvar).map dirStat) (Iic c)))
Proof (Lean source)
theorem directedRegion_coverage (S : IIDSample Ω X μ P) (yL yU : X → ℝ) (hLU : ∀ z, yL z ≤ yU z) (hLint : Integrable yL P) (hUint : Integrable yU P) (hψ : Measurable (intervalIFVec yL yU P)) (hvar : Integrable (fun x => ‖intervalIFVec yL yU P x‖ ^ 2) P) (hmean : ∫ x, intervalIFVec yL yU P x ∂P = 0) (hSum_meas : ∀ n, AEMeasurable (IsAsymLinearVec.normalizedSum S (intervalIFVec yL yU P) (fun m => range m) n) μ) {c : ℝ} (hc : 0 ≤ c) (hfront : ((gaussianLimit hψ hvar).map dirStat) {c} = 0) : Tendsto (fun n => μ {ω | Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P) ⊆ dilate (Icc (sampleMean S yL n ω) (sampleMean S yU n ω)) (c / sqrt n)}) atTop (𝓝 (((gaussianLimit hψ hvar).map dirStat) (Iic c))) := by have hclt := normalizedSum_dirStat_clt hψ hvar S hmean hSum_meas unfold Tendsto_dist_vec at hclt have hport := MeasureTheory.ProbabilityMeasure.tendsto_measure_of_null_frontier_of_tendsto' hclt (E := Iic c) (by rw [frontier_Iic]; exact hfront) refine hport.congr' ?_ filter_upwards [eventually_ge_atTop 1] with n hn -- the per-`n` coverage probability equals the CDF value of the directed statistic have hmap : (μ.map (dirStat ∘ IsAsymLinearVec.normalizedSum S (intervalIFVec yL yU P) (fun m => range m) n)) (Iic c) = μ {ω | Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P) ⊆ dilate (Icc (sampleMean S yL n ω) (sampleMean S yU n ω)) (c / sqrt n)} := by rw [Measure.map_apply_of_aemeasurable (measurable_dirStat.comp_aemeasurable (hSum_meas n)) measurableSet_Iic, coverage_event_eq (∫ x, yL x ∂P) (∫ x, yU x ∂P) (fun ω => sampleMean S yL n ω) (fun ω => sampleMean S yU n ω) n hn c hc (integral_mono hLint hUint hLU) (fun ω => sampleMean_le S yL yU hLU n ω)] congr 1 ext ω simp only [Set.mem_preimage, Set.mem_Iic, Function.comp_apply, Set.mem_setOf_eq, dirStat_normalizedSum_eq S yL yU hLU hLint hUint n ω] exact hmap
6 supporting declarations (lemmas, instances)
  • dilate_Icc theorem — Dilation of an interval (Beresteanu–Molinari Uₙ). For r ≥ 0, [a,b] ⊕ [−r,r] = [a−r, b+r]: every endpoint is pushed out by the radius.
    a b r :
    hab :
    a ≤ b
    hr :
    0 ≤ r
    dilate (Icc a b) r = Icc (a - r) (b + r)
    Proof (Lean source)
    theorem dilate_Icc {a b r : ℝ} (hab : a ≤ b) (hr : 0 ≤ r) : dilate (Icc a b) r = Icc (a - r) (b + r) := by ext x constructor · rintro ⟨a', ⟨ha1, ha2⟩, t, ht, rfl⟩ rw [abs_le] at ht exact ⟨by linarith [ht.1], by linarith [ht.2]⟩ · rintro ⟨hx1, hx2⟩ -- clamp the chosen point of `[a,b]` to be `max a (min x b)` rcases le_total x a with hxa | hax · -- x ≤ a: pick a' = a, t = x − a ∈ [−r, 0] refine ⟨a, ⟨le_rfl, hab⟩, x - a, ?_, by ring⟩ rw [abs_le]; constructor <;> linarith · rcases le_total x b with hxb | hbx · -- a ≤ x ≤ b: pick a' = x, t = 0 exact ⟨x, ⟨hax, hxb⟩, 0, by simpa using hr, by ring⟩ · -- x ≥ b: pick a' = b, t = x − b ∈ [0, r] refine ⟨b, ⟨hab, le_rfl⟩, x - b, ?_, by ring⟩ rw [abs_le]; constructor <;> linarith
    Causalean.PartialID.RandomSet.dilate_Icc · Causalean/PO/ID/Partial/RandomSet/IntervalInference.lean:73
  • continuous_dirStat lemma — The directed-Hausdorff endpoint functional is continuous.
    Proof (Lean source)
    @[fun_prop] lemma continuous_dirStat : Continuous dirStat := by unfold dirStat; fun_prop
    Causalean.PartialID.RandomSet.continuous_dirStat · Causalean/PO/ID/Partial/RandomSet/IntervalInference.lean:188
  • measurable_dirStat lemma — The directed-Hausdorff endpoint functional is measurable.
    Proof (Lean source)
    @[fun_prop] lemma measurable_dirStat : Measurable dirStat := continuous_dirStat.measurable
    Causalean.PartialID.RandomSet.measurable_dirStat · Causalean/PO/ID/Partial/RandomSet/IntervalInference.lean:192
  • instIsProbabilityMeasureRealMapEuclideanSpaceFinOfNatNatDirStatGaussianLimit instance — For a measurable sample space equipped with a measure and a two-dimensional vector-valued process on that space that is measurable and has an integrable squared norm under the measure, the law obtained by applying the directed-Hausdorff functional to its Gaussian limit is a probability measure. This follows from taking the measurable pushforward of that Gaussian limit.
    X :
    Type u_2
    X → EuclideanSpace ℝ (Fin 2)
    shared
    :
    shared
    hvar :
    Integrable (fun x => ‖ψ x‖ ^ 2) P
    shared
    instIsProbabilityMeasureRealMapEuclideanSpaceFinOfNatNatDirStatGaussianLimit hψ hvar :
    Measure.isProbabilityMeasure_map measurable_dirStat.aemeasurable
    Causalean.PartialID.RandomSet.instIsProbabilityMeasureRealMapEuclideanSpaceFinOfNatNatDirStatGaussianLimit · Causalean/PO/ID/Partial/RandomSet/IntervalInference.lean:201
  • normalizedSum_dirStat_clt theorem — Directed continuous-mapping CLT. dirStat of the vector normalised sum converges in distribution to (gaussianLimit ψ).map dirStat.
    Ω :
    Type u_1
    shared
    X :
    Type u_2
    shared
    μ :
    shared
    P :
    shared
    ψ :
    X → EuclideanSpace ℝ (Fin 2)
    shared
    :
    shared
    hvar :
    Integrable (fun x => ‖ψ x‖ ^ 2) P
    shared
    S :
    IIDSample Ω X μ P
    hmean :
    ∫ x, ψ x ∂P = 0
    hSum_meas :
    ∀ n, AEMeasurable (IsAsymLinearVec.normalizedSum S ψ (fun m => range m) n) μ
    Tendsto_dist_vec (fun n ω => dirStat (IsAsymLinearVec.normalizedSum S ψ (fun m => range m) n ω)) ((gaussianLimit hψ hvar).map dirStat) μ (fun n => measurable_dirStat.comp_aemeasurable (hSum_meas n))
    Proof (Lean source)
    theorem normalizedSum_dirStat_clt (S : IIDSample Ω X μ P) (hmean : ∫ x, ψ x ∂P = 0) (hSum_meas : ∀ n, AEMeasurable (IsAsymLinearVec.normalizedSum S ψ (fun m => range m) n) μ) : Tendsto_dist_vec (fun n ω => dirStat (IsAsymLinearVec.normalizedSum S ψ (fun m => range m) n ω)) ((gaussianLimit hψ hvar).map dirStat) μ (fun n => measurable_dirStat.comp_aemeasurable (hSum_meas n)) := Tendsto_dist_vec.map_continuous continuous_dirStat hSum_meas (S.clt_normalizedSum_vec hψ hvar hmean)
    Causalean.PartialID.RandomSet.normalizedSum_dirStat_clt · Causalean/PO/ID/Partial/RandomSet/IntervalInference.lean:206
  • dirStat_normalizedSum_eq theorem — Directed Hausdorff bridge. dirStat of the centered endpoint normalised sum equals √n · dᴴ(E[Y], Ȳₙ).
    Ω :
    Type u_1
    shared
    X :
    Type u_2
    shared
    μ :
    shared
    P :
    shared
    S :
    IIDSample Ω X μ P
    yL yU :
    X → ℝ
    hLU :
    ∀ z, yL z ≤ yU z
    hLint :
    hUint :
    n :
    ω :
    Ω
    dirStat (IsAsymLinearVec.normalizedSum S (intervalIFVec yL yU P) (fun m => range m) n ω)
    = sqrt n * directedHausdorff (Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P)) (Icc (sampleMean S yL n ω) (sampleMean S yU n ω))
    Proof (Lean source)
    theorem dirStat_normalizedSum_eq (S : IIDSample Ω X μ P) (yL yU : X → ℝ) (hLU : ∀ z, yL z ≤ yU z) (hLint : Integrable yL P) (hUint : Integrable yU P) (n : ℕ) (ω : Ω) : dirStat (IsAsymLinearVec.normalizedSum S (intervalIFVec yL yU P) (fun m => range m) n ω) = sqrt n * directedHausdorff (Icc (∫ x, yL x ∂P) (∫ x, yU x ∂P)) (Icc (sampleMean S yL n ω) (sampleMean S yU n ω)) := by obtain ⟨h0, h1⟩ := nsCoord S yL yU n ω unfold dirStat rw [h0, h1, show -(sqrt n * (sampleMean S yU n ω - ∫ x, yU x ∂P)) = sqrt n * ((∫ x, yU x ∂P) - sampleMean S yU n ω) by ring, ← mul_max_of_nonneg _ _ (Real.sqrt_nonneg (n : ℝ)), show (0 : ℝ) = sqrt n * 0 by ring, ← mul_max_of_nonneg _ _ (Real.sqrt_nonneg (n : ℝ)), directedHausdorff_Icc (integral_mono hLint hUint hLU) (sampleMean_le S yL yU hLU n ω)]
    Causalean.PartialID.RandomSet.dirStat_normalizedSum_eq · Causalean/PO/ID/Partial/RandomSet/IntervalInference.lean:254