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

Directed (one-sided) Hausdorff distance from A to B: the supremum over points of A of their distance to B. Real-valued (via Metric.infDist); on the empty image sSup returns 0.

Definition (Lean source)
noncomputable def directedHausdorff {α : Type*} [PseudoMetricSpace α] (A B : Set α) : ℝ := 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

Symmetric Hausdorff distance H(A,B) = max(dᴴ(A,B), dᴴ(B,A)).

Definition (Lean source)
noncomputable def hausdorffDist {α : Type*} [PseudoMetricSpace α] (A B : Set α) : ℝ := max (directedHausdorff A B) (directedHausdorff B A)
Causalean.PartialID.RandomSet.hausdorffDist · Causalean/PO/ID/Partial/RandomSet/Hausdorff.lean:66
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:171 · 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:71
  • 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:133
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

The interval-valued random closed set ω ↦ [L ω, U ω].

Definition (Lean source)
def 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

f is a measurable everywhere-selection of the interval random set [L, U]: it is measurable and L ω ≤ f ω ≤ U ω for every ω.

Definition (Lean source)
def IsSelection (L U f : Ω → ℝ) : Prop := Measurable f ∧ ∀ ω, f ω ∈ Icc (L ω) (U ω)
Causalean.PartialID.RandomSet.IsSelection · Causalean/PO/ID/Partial/RandomSet/Interval.lean:67
def selectionExpectation reviewed
Causalean.PartialID.RandomSet

The selection (Aumann) expectation of the interval random set [L, U]: the set of integrals of integrable measurable selections.

Definition (Lean source)
def selectionExpectation (L U : Ω → ℝ) (μ : Measure Ω) : Set ℝ := {r | ∃ f, IsSelection L U f ∧ Integrable f μ ∧ ∫ ω, f ω ∂μ = r}
Causalean.PartialID.RandomSet.selectionExpectation · Causalean/PO/ID/Partial/RandomSet/Interval.lean:121
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
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:131 · 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
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:175 · 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
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:187 · 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.
    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:72
  • 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.
    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:78
  • integral_le_integral_of_le theorem — Monotonicity of the endpoint integrals (used to order the reported bounds).
    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:126
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

A pair of real endpoint deviations is viewed as a two-dimensional Euclidean vector.

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

The max-abs functional w ↦ max(|w₀|, |w₁|) on ℝ². In the d = 1 random-set picture this is the Hausdorff distance between the intervals whose endpoint gaps are w₀ and w₁ (cf. hausdorffDist_Icc).

Definition (Lean source)
noncomputable def maxAbs (w : EuclideanSpace ℝ (Fin 2)) : ℝ := max |w 0| |w 1|
Causalean.PartialID.RandomSet.maxAbs · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:71
def sampleMean reviewed
Causalean.PartialID.RandomSet

Sample mean of y over the first n draws of the i.i.d. sample.

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

The centered interval-endpoint influence function ψ(z) = (y_L(z) − E y_L, y_U(z) − E y_U), valued in ℝ². Its vector normalised sum is the centered-and-scaled endpoint pair √n((ȳ_{nL}, ȳ_{nU}) − (E y_L, E y_U)).

Definition (Lean source)
noncomputable def intervalIFVec (yL yU : X → ℝ) (P : Measure X) : 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:134
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
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
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
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)
    lemma continuous_maxAbs : Continuous maxAbs := by unfold maxAbs; fun_prop
    Causalean.PartialID.RandomSet.continuous_maxAbs · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:76
  • measurable_maxAbs lemma — The max-absolute-value functional on endpoint deviations is measurable.
    Measurable maxAbs
    Proof (Lean source)
    lemma measurable_maxAbs : Measurable maxAbs := continuous_maxAbs.measurable
    Causalean.PartialID.RandomSet.measurable_maxAbs · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:79
  • instIsProbabilityMeasureRealMapEuclideanSpaceFinOfNatNatMaxAbsGaussianLimit instance — The limit law of the Hausdorff statistic is a probability measure (pushforward of the Gaussian limit by the continuous maxAbs).
    instance : IsProbabilityMeasure ((gaussianLimit hψ hvar).map maxAbs) := Measure.isProbabilityMeasure_map measurable_maxAbs.aemeasurable
    Causalean.PartialID.RandomSet.instIsProbabilityMeasureRealMapEuclideanSpaceFinOfNatNatMaxAbsGaussianLimit · Causalean/PO/ID/Partial/RandomSet/IntervalCLT.lean:87
  • 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).
    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:93
  • 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:116
  • sampleMean_le lemma — The sample-mean interval is well-ordered (lower ≤ upper) when y_L ≤ y_U.
    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:174
  • 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:207
  • norm_sq_intervalIFVec lemma — Pointwise squared norm of the endpoint influence function as the sum of the two squared centered endpoints.
    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:211
  • measurable_intervalIFVec lemma — intervalIFVec is measurable from measurability of the two endpoint maps.
    yL yU :
    X → ℝ
    hLmeas :
    hUmeas :
    Proof (Lean source)
    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:223
  • intervalIFVec_var_integrable lemma — The variance term ‖ψ‖² ∈ L¹(P), from MemLp 2 of the two endpoints.
    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:234
  • intervalIFVec_integrable lemma — intervalIFVec is Bochner-integrable, from MemLp 2 ⇒ Integrable of the endpoints on a probability measure.
    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:252
  • intervalIFVec_mean_zero lemma — The endpoint influence function is centered: ∫ ψ dP = 0.
    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:266
  • 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.
    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)
    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:301
  • intervalIFVec_hHmeas lemma — The scaled Hausdorff statistic is AEMeasurable for each n. Equals maxAbs ∘ (normalised sum) everywhere by maxAbs_normalizedSum_eq.
    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:315
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)
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

The empirical Minkowski average (1/|s|) • ∑_{i∈s} Fᵢ.

Definition (Lean source)
noncomputable def minkowskiMean {ι : Type*} (s : Finset ι) (F : ι → Set E) : 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
ι :
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:124 · uses IsBody , minkowskiMean , supportFn
4 supporting declarations (lemmas, instances)
  • bddAbove_inner_image lemma — On a compact set the linear functional ⟪d, ·⟫ is bounded above.
    C :
    Set E
    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.
    C :
    Set E
    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.
    ι :
    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).
    ι :
    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

The grid supremum statistic returns the largest absolute support-process deviation across the chosen directions.

Definition (Lean source)
noncomputable def maxAbsK (w : EuclideanSpace ℝ (Fin k)) : ℝ := 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
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

The centered support process records each random set's support deviation from its center on a finite grid of directions.

Definition (Lean source)
noncomputable def supportProcess (F : X → Set V) (EF : Set V) (p : Fin k → V) : 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:135
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
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
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
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

The finite-grid test statistic is the grid supremum of the normalized centered support-process sum.

Definition (Lean source)
-- TODO(faithfulness): Beresteanu-Molinari grid test — expose the body-valued -- Hausdorff-over-grid empirical-Minkowski statistic in the test API and prove -- its equality to this normalized support-process proxy under the bridge -- hypotheses. noncomputable def gridTestStat (S : IIDSample Ω X μ P) (F : X → Set V) (EF : Set V) (p : Fin k → V) : ℕ → Ω → ℝ := 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

The rejection region of the finite-grid test at critical value c: reject H₀ : E[F] = EF when the statistic Tₙ exceeds c.

Definition (Lean source)
def gridTestReject (S : IIDSample Ω X μ P) (F : X → Set V) (EF : Set V) (p : Fin k → V) (n : ℕ) (c : ℝ) : Set Ω := {ω | c < gridTestStat S F EF p n ω}
Causalean.PartialID.RandomSet.gridTestReject · Causalean/PO/ID/Partial/RandomSet/GridTest.lean:91 · 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
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
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

Minkowski dilation of a real set by a radius r: A ⊕ [−r, r] = {a + t | a ∈ A, |t| ≤ r}. In Beresteanu–Molinari this is the confidence region Uₙ = Ȳₙ ⊕ B(0, r) built around the estimated interval.

Definition (Lean source)
def dilate (A : Set ℝ) (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:94 · 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:112 · 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
μ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

The directed-Hausdorff functional dirStat w = max 0 (max w₀ (−w₁)) on ℝ². On the centered endpoint normalised sum it is √n · dᴴ(E[Y], Ȳₙ).

Definition (Lean source)
noncomputable def dirStat (w : EuclideanSpace ℝ (Fin 2)) : ℝ := 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
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:72
  • continuous_dirStat lemma — The directed-Hausdorff endpoint functional is continuous.
    Proof (Lean source)
    lemma continuous_dirStat : Continuous dirStat := by unfold dirStat; fun_prop
    Causalean.PartialID.RandomSet.continuous_dirStat · Causalean/PO/ID/Partial/RandomSet/IntervalInference.lean:184
  • measurable_dirStat lemma — The directed-Hausdorff endpoint functional is measurable.
    Proof (Lean source)
    lemma measurable_dirStat : Measurable dirStat := continuous_dirStat.measurable
    Causalean.PartialID.RandomSet.measurable_dirStat · Causalean/PO/ID/Partial/RandomSet/IntervalInference.lean:187
  • instIsProbabilityMeasureRealMapEuclideanSpaceFinOfNatNatDirStatGaussianLimit instance — The directed limit law is a probability measure.
    instance : IsProbabilityMeasure ((gaussianLimit hψ hvar).map dirStat) := Measure.isProbabilityMeasure_map measurable_dirStat.aemeasurable
    Causalean.PartialID.RandomSet.instIsProbabilityMeasureRealMapEuclideanSpaceFinOfNatNatDirStatGaussianLimit · Causalean/PO/ID/Partial/RandomSet/IntervalInference.lean:195
  • normalizedSum_dirStat_clt theorem — Directed continuous-mapping CLT. dirStat of the vector normalised sum converges in distribution to (gaussianLimit ψ).map dirStat.
    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:200
  • dirStat_normalizedSum_eq theorem — Directed Hausdorff bridge. dirStat of the centered endpoint normalised sum equals √n · dᴴ(E[Y], Ȳₙ).
    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:248