PO.ID.Partial.Lee
Lee bounds: trimming bounds on treatment effects under sample selection with monotone response.
Setup 14 core · 8 supporting This file defines the potential-outcome data layer for Lee sample-selection bounds. ★ POLeeSystem★ measurable_YofA
Lee Bounds Setup
This file defines the potential-outcome data layer for Lee sample-selection bounds. It provides the treatment, selection, and outcome variables, their factual and counterfactual versions, the observed selected cells, and basic measurability facts.
The data layer for Lee (2009) bounds: a treatment-selection model in which a binary treatment A affects whether an outcome Y is observed at all, through a binary sample-selection indicator Sel. The outcome Y is only meaningful when Sel = true (e.g. a wage observed only for the employed), so the treatment effect on Y among the always-selected subpopulation is only partially identified — the object the Lee bounds bracket. Formally this packages, inside an ambient PO system P, the three nodes A, Sel, Y, the measurable identifications of their value spaces with Bool/Bool/ℝ, and the fact that the three nodes are distinct (def:po-lee-system).
Definition (Lean source)
For a Lee sample-selection system, the binary treatment potential-outcome variable is its treatment node with its binary representation.
Definition (Lean source)
For a Lee sample-selection system, the binary selection-indicator potential-outcome variable is its selection node with its binary representation.
Definition (Lean source)
For a Lee sample-selection system, the real-valued outcome potential-outcome variable is its outcome node with its real-valued representation.
Definition (Lean source)
For a Lee sample-selection system and a treatment arm, the potential selection indicator assigns each unit whether its outcome would be selected under that arm.
Definition (Lean source)
For a Lee sample-selection system and a treatment arm, the potential outcome assigns each unit its outcome under that arm.
Definition (Lean source)
For a Lee sample-selection system, the factual treatment assigns each unit its observed binary treatment.
Definition (Lean source)
For a Lee sample-selection system, the factual selection indicator assigns each unit its observed selection status.
Definition (Lean source)
For a Lee sample-selection system, the factual outcome assigns each unit its observed real outcome.
Definition (Lean source)
For a Lee sample-selection system and a treatment arm, the treatment event is the set of units whose observed treatment equals that arm.
Definition (Lean source)
For a Lee sample-selection system and a selection status, the selection event is the set of units whose observed selection indicator equals that status.
Definition (Lean source)
For a Lee sample-selection system, the selected-treated cell is the set of units with observed treatment and observed selection both equal to one.
Definition (Lean source)
For a Lee sample-selection system, the selected-control cell is the set of units with observed treatment equal to zero and observed selection equal to one.
Definition (Lean source)
For a fixed treatment arm a, the counterfactual outcome Y(a) is measurable.
Formal statement
Proof (Lean source)
8 supporting declarations (lemmas, instances)
-
measurable_SelOfAlemma — Counterfactual selection under any fixed arm is measurable.Proof (Lean source)
@[fun_prop] lemma measurable_SelOfA (a : Bool) : Measurable (S.SelOfA a) := S.selVar.measurable_cfUnder S.aVar a -
measurable_factualAlemma — Factual treatment is measurable.Proof (Lean source)
@[fun_prop] lemma measurable_factualA : Measurable S.factualA := S.aVar.measurable_factual -
measurable_factualSellemma — Factual selection is measurable.Proof (Lean source)
@[fun_prop] lemma measurable_factualSel : Measurable S.factualSel := S.selVar.measurable_factual -
measurable_factualYlemma — Factual outcome is measurable.Proof (Lean source)
@[fun_prop] lemma measurable_factualY : Measurable S.factualY := S.yVar.measurable_factual -
measurableSet_aEventlemma — Each factual treatment arm event is measurable.hypothesesconclusionMeasurableSet (S.aEvent a)Proof (Lean source)
lemma measurableSet_aEvent (a : Bool) : MeasurableSet (S.aEvent a) := S.aVar.measurableSet_event _ (measurableSet_singleton _) -
measurableSet_selEventlemma — Each factual selection event is measurable.hypothesesconclusionMeasurableSet (S.selEvent s)Proof (Lean source)
lemma measurableSet_selEvent (s : Bool) : MeasurableSet (S.selEvent s) := S.selVar.measurableSet_event _ (measurableSet_singleton _) -
measurableSet_selectedTreatedlemma — The selected-treated observed cell is measurable.Proof (Lean source)
lemma measurableSet_selectedTreated : MeasurableSet S.selectedTreated := (S.measurableSet_aEvent true).inter (S.measurableSet_selEvent true) -
measurableSet_selectedControllemma — The selected-control observed cell is measurable.Proof (Lean source)
lemma measurableSet_selectedControl : MeasurableSet S.selectedControl := (S.measurableSet_aEvent false).inter (S.measurableSet_selEvent true)
Assumptions 3 core · 1 supporting This file defines the assumptions used for Lee sample-selection bounds. ★ integrableY
Lee Bounds Assumptions
This file defines the assumptions used for Lee sample-selection bounds. The baseline bundle contains consistency, pair-level random assignment, positivity, finiteness, and integrability conditions, while monotone selection is kept as a separate shape restriction.
The structure BaseAssumptions stores the consistency axiom, distributional
random-assignment condition for (Y(a), Sel(a)), positive selected cells and
treatment arms, finiteness of selected-cell measures, and integrability of the
two potential outcomes. Its helper lemmas integrable_YofA and integrableY
recover binary-indexed arm integrability and factual-outcome integrability. The
structure MonotoneSelection records the Lee monotonicity condition
Sel(0) <= Sel(1) almost surely.
Lee sample-selection baseline assumptions -- def:po-lee-assumptions.
Definition (Lean source)
Under the baseline Lee sample-selection assumptions — consistency, pair-level random assignment, positive and finite selected cells, and integrability of both potential outcomes Y(0), Y(1), the factual outcome Y is integrable, obtained from the arm integrability of Y(0), Y(1) via consistency (factualY = Σ_a Y(a)·1{A=a} a.e.), so it need not be assumed separately.
Formal statement
Proof (Lean source)
Monotone sample selection -- def:po-lee-assumptions, item 3. Sel(0) ≤ Sel(1) almost surely (with ≤ interpreted on Bool via the canonical false ≤ true order).
Definition (Lean source)
1 supporting declaration (lemmas, instances)
-
integrable_YofAlemma — Binary-folded form of integrableY1 / integrableY0.hypothesesconclusionIntegrable (S.YofA a) P.μProof (Lean source)
lemma integrable_YofA (hA : S.BaseAssumptions) (a : Bool) : Integrable (S.YofA a) P.μ := by cases a · exact hA.integrableY0 · exact hA.integrableY1
PrincipalStrata 6 core · 8 supporting This file defines the latent principal strata for Lee sample-selection bounds. ★ harmedSelected_ae_empty
Lee Principal Strata
This file defines the latent principal strata for Lee sample-selection bounds. It proves measurability and the monotone-selection event identities that relate the always-selected and treatment-induced-selected strata to observed and counterfactual selected sets.
For a potential-outcome system and a Lee potential-outcome system based on it, the always-selected stratum is the set of units whose potential selection indicator equals true both under control and under treatment.
For a potential-outcome system and a Lee potential-outcome system based on it, the treatment-induced-selected stratum is the set of units whose potential selection indicator equals false under control and true under treatment.
For a potential-outcome system and a Lee potential-outcome system based on it, the harmed-selected stratum is the set of units whose potential selection indicator equals true under control and false under treatment.
For a potential-outcome system and a Lee potential-outcome system based on it, the latent selected-under-treatment set is the set of units whose potential selection indicator would equal true if treated.
Definition (Lean source)
For a potential-outcome system and a Lee potential-outcome system based on it, the latent selected-under-control set is the set of units whose potential selection indicator would equal true if untreated.
Definition (Lean source)
If sample selection is monotone, i.e. selection under control implies selection under treatment almost surely (Sel(0) ≤ Sel(1)), then the harmed-selected stratum — units who would be selected under control but not under treatment — has probability zero.
Formal statement
Proof (Lean source)
8 supporting declarations (lemmas, instances)
-
measurableSet_alwaysSelectedlemma — The always-selected stratum is measurable.Proof (Lean source)
lemma measurableSet_alwaysSelected : MeasurableSet S.alwaysSelected := by refine MeasurableSet.inter ?_ ?_ · exact (S.measurable_SelOfA false) (measurableSet_singleton true) · exact (S.measurable_SelOfA true) (measurableSet_singleton true) -
measurableSet_helpedSelectedlemma — The helped-selected stratum is measurable.Proof (Lean source)
lemma measurableSet_helpedSelected : MeasurableSet S.helpedSelected := by refine MeasurableSet.inter ?_ ?_ · exact (S.measurable_SelOfA false) (measurableSet_singleton false) · exact (S.measurable_SelOfA true) (measurableSet_singleton true) -
measurableSet_harmedSelectedlemma — The harmed-selected stratum is measurable.Proof (Lean source)
lemma measurableSet_harmedSelected : MeasurableSet S.harmedSelected := by refine MeasurableSet.inter ?_ ?_ · exact (S.measurable_SelOfA false) (measurableSet_singleton true) · exact (S.measurable_SelOfA true) (measurableSet_singleton false) -
measurableSet_selOfATrueSetlemma — The selected-under-treatment latent set is measurable.Proof (Lean source)
lemma measurableSet_selOfATrueSet : MeasurableSet S.selOfATrueSet := (S.measurable_SelOfA true) (measurableSet_singleton true) -
measurableSet_selOfAFalseSetlemma — The selected-under-control latent set is measurable.Proof (Lean source)
lemma measurableSet_selOfAFalseSet : MeasurableSet S.selOfAFalseSet := (S.measurable_SelOfA false) (measurableSet_singleton true) -
selOfATrueSet_eq_alwaysSelected_union_helpedSelectedlemma — selOfATrueSet = alwaysSelected ∪ helpedSelected as a pure set equality (no a.s. needed -- the two RHS sets are disjoint and cover the LHS by case analysis on SelOfA false ω : Bool).hypothesesconclusionS.selOfATrueSet = S.alwaysSelected ∪ S.helpedSelectedProof (Lean source)
lemma selOfATrueSet_eq_alwaysSelected_union_helpedSelected : S.selOfATrueSet = S.alwaysSelected ∪ S.helpedSelected := by ext ω simp only [selOfATrueSet, alwaysSelected, helpedSelected, Set.mem_setOf_eq, Set.mem_union] constructor · intro h rcases (S.SelOfA false ω).eq_false_or_eq_true with h0 | h0 · exact inl ⟨h0, h⟩ · exact inr ⟨h0, h⟩ · rintro (⟨_, h⟩ | ⟨_, h⟩) <;> exact h -
disjoint_alwaysSelected_helpedSelectedlemma — alwaysSelected and helpedSelected are disjoint. -
selOfAFalseSet_ae_eq_alwaysSelectedlemma — Under monotone sample selection, {Sel(0)=true} =ᵐ alwaysSelected.hypothesesconclusionS.selOfAFalseSet =ᵐ[P.μ] S.alwaysSelectedProof (Lean source)
lemma selOfAFalseSet_ae_eq_alwaysSelected (hMono : ∀ᵐ ω ∂P.μ, S.SelOfA false ω ≤ S.SelOfA true ω) : S.selOfAFalseSet =ᵐ[P.μ] S.alwaysSelected := by -- The target equality is `{ω | SelOfA false ω = true} =ᵐ alwaysSelected`. -- alwaysSelected ⊆ {Sel(0)=true} is purely set-level (the first -- conjunct of alwaysSelected is exactly Sel(0)=true). -- For the reverse direction, on the co-null set where Sel(0) ≤ Sel(1), -- Sel(0)=true ⇒ Sel(1)=true (since true ≤ Sel(1) forces Sel(1)=true on Bool), -- so {Sel(0)=true} ⊆ alwaysSelected on that co-null set. -- Proof recipe: use `EventuallyEq` (i.e. `=ᵐ[μ]`) in the form -- `Set.eventuallyEq_iff_indicator` or just the symmetric-difference null -- characterisation, then bound the offending sym-diff by a subset of the -- complement of the a.s. set from `hMono`. filter_upwards [hMono] with ω hω apply propext simp only [selOfAFalseSet, alwaysSelected] constructor · intro hsel exact ⟨hsel, by have hsel' : S.SelOfA false ω = true := hsel cases htrue : S.SelOfA true ω · have hle : true ≤ false := by simpa [hsel', htrue] using hω exact elim ((by decide : ¬ (true ≤ false)) hle) · rfl⟩ · intro h exact h.1
Trim 11 core · 0 supporting This file defines the observable finite-support functionals used in Lee sample selection bounds. ★ pSelGivenA_eq
Lee Finite-Support Trim Functionals
This file defines the observable finite-support functionals used in Lee sample
selection bounds. It introduces the selected-cell probabilities p0 and p1,
the trimming ratio rho, the selected-treated outcome mass function f1,
feasible LeeTrimWeights, their mean functional Mw, the lower and upper
trimmed means lowerTrimMean and upperTrimMean, and the selected-control
mean m0.
The constructed always-selected trim weight and its identification theorem live
in TrimWeight.lean and TrimMean.lean.
For a Lee sample-selection system and a treatment arm, the conditional selection probability is the event-conditional mean of the observed selection indicator among units in that arm.
Definition (Lean source)
The conditional selection probability given a treatment arm is the event-conditional expectation of the selection indicator on that arm's event.
Formal statement
Proof (Lean source)
For a Lee sample-selection system, the control-arm selection probability is the conditional selection probability when treatment is zero.
Definition (Lean source)
For a Lee sample-selection system, the treated-arm selection probability is the conditional selection probability when treatment is one.
Definition (Lean source)
For a Lee sample-selection system, the trimming ratio is the control-arm selection probability divided by the treated-arm selection probability.
Definition (Lean source)
For a Lee sample-selection system and an outcome value, the selected-treated outcome mass function is the event-conditional probability that the observed outcome equals that value among selected treated units.
Definition (Lean source)
A Lee trim weight on a finite outcome support 𝒴 -- def:po-lee-trim.
Definition (Lean source)
For a Lee sample-selection system, a finite outcome support, and a feasible Lee trim weight on that support, the trimmed mean is the trimming-ratio inverse times the weighted selected-treated outcome sum over that support.
Definition (Lean source)
For a Lee sample-selection system and a finite outcome support, the lower trimmed mean is the infimum of trimmed means over all feasible Lee trim weights on that support.
Definition (Lean source)
For a Lee sample-selection system and a finite outcome support, the upper trimmed mean is the supremum of trimmed means over all feasible Lee trim weights on that support.
Definition (Lean source)
For a Lee sample-selection system, the selected-control outcome mean is the event-conditional mean of the observed outcome among selected control units.
Definition (Lean source)
TrimWeight 2 core · 0 supporting This file constructs the outcome weights that represent the always-selected treated subpopulation in Lee's sample-selection bounds.
Lee Trim Weights
This file constructs the outcome weights that represent the always-selected
treated subpopulation in Lee's sample-selection bounds. It defines the
always-selected conditional mass function f1AS and constructs
alwaysSelectedTrimWeight, the feasible Lee trim weight
w(y) = rho * f1AS y / f1 y on the finite selected-treated support.
The construction uses the selected-treated mixture identity and the finite
support transfer for the latent always-selected stratum. The mean identity and
trimmed-mean sandwich are proved in TrimMean.lean and TrimBound.lean.
For a potential-outcome system, a Lee potential-outcome system based on it, and a real outcome value, the always-selected treated-outcome mass at that value is the conditional expectation, given the always-selected stratum, of the indicator that the potential outcome under treatment equals that value.
Definition (Lean source)
Given a potential-outcome system, a Lee potential-outcome system based on it, its base assumptions, monotone sample selection, a finite set of real outcome values, and the condition that the observed outcome belongs to that set almost surely under the selected-treated conditional measure, the always-selected trim weight on that finite set is a Lee trim weight.
Definition (Lean source)
ControlMean 1 core · 0 supporting This file proves the Lee-bounds control-arm identification step. ★ m0_eq_eventCondExp_Y0_alwaysSelected
Lee bounds control-arm mean identity
This file proves the Lee-bounds control-arm identification step. Under
consistency, random assignment, and monotone selection, the observable selected
control mean equals the latent mean of Y(0) among always-selected units.
The public lemma m0_eq_eventCondExp_Y0_alwaysSelected rewrites the observable
selected-control mean m0 as eventCondExp P.μ alwaysSelected (YofA false).
The proof first uses consistency to replace factual outcomes and selection on
the selected-control cell, then uses pair-level random assignment to drop the
conditioning on treatment assignment, and finally uses monotone selection to
identify control selection with the always-selected stratum.
Under the baseline Lee assumptions (consistency and pair-level random assignment of the factual treatment to each (Y(a), Sel(a))) together with monotone sample selection, Sel(0) ≤ Sel(1) almost surely, the observable selected-control mean m₀ = E[Y | A = false, Sel = true] equals the latent conditional mean E[Y(0) | alwaysSelected] of the control potential outcome among units who would be selected under either treatment arm.
Formal statement
Proof (Lean source)
LatentSupport 1 core · 0 supporting This file proves that finite support observed among selected treated units transfers to the treated potential outcome on the always-selected and treatment-induced-selected latent strata. ★ YofA_true_in_finset_ae_alwaysSelected
Lee Latent Support Transfer
This file proves that finite support observed among selected treated units transfers to the treated potential outcome on the always-selected and treatment-induced-selected latent strata. The support transfer supplies the finite normalisation needed by the trim-weight construction.
The public lemma YofA_true_in_finset_ae_alwaysSelected starts from an
almost-sure finite-support hypothesis for the factual outcome restricted to the
observable selected-treated cell. Using consistency and pair-level random
assignment, it proves that YofA true lies in the same finite support almost
surely on both alwaysSelected and helpedSelected.
Support transfer. Under the baseline Lee assumptions, if the factual outcome lies a.e. in a finite support set 𝒴, when restricted to the observable selected-treated cell, then the latent treated potential outcome Y(1) lies a.e. in the same support 𝒴, both on the always-selected stratum and on the helped-selected stratum. This feeds the sum_eq field of alwaysSelectedTrimWeight, which needs ∑ y ∈ 𝒴, f1AS y = 1.
Formal statement
Proof (Lean source)
Main 1 core · 0 supporting This file proves the final Lee bound for the average treatment effect among always-selected units. ★ lee_bounds_ATT_AS
Lee Bounds
This file proves the final Lee bound for the average treatment effect among always-selected units. Under the Lee sample-selection assumptions, it combines the selected-control mean identity with the treated trimmed-mean bounds to sandwich the always-selected treatment effect.
The public theorem lee_bounds_ATT_AS states the finite-support Lee sandwich:
lowerTrimMean 𝒴 - m0 is a lower bound and upperTrimMean 𝒴 - m0 is an
upper bound for the conditional mean of Y(1) - Y(0) on alwaysSelected. The
proof assembles the control mean identity, selected-treated decomposition,
latent finite-support transfer, and trim-weight sandwich developed in the
preceding Lee modules.
Finite-support Lee bounds -- prop:po-lee-bounds. Under the baseline Lee sample-selection assumptions, monotone sample selection, and almost-sure finite support 𝒴 for the factual outcome on the selected-treated cell, the average treatment effect among always-selected units — those who would be selected for observation whether treated or not — is sandwiched between the lower Lee trimmed mean minus the observable selected-control mean m₀, and the upper Lee trimmed mean minus m₀.
Formal statement
Proof (Lean source)
MixtureIdentity 1 core · 2 supporting This file decomposes the observable selected-treated cell into always-selected and helped-selected latent strata. ★ selectedTreated_measure_split
Lee bounds selected-treated mixture identities
This file decomposes the observable selected-treated cell into always-selected and helped-selected latent strata. The integral, mass, and indicator versions combine consistency, random assignment, and monotone selection to prepare the trim-weight construction.
The lemma selectedTreated_integral_split expresses the selected-treated
factual-outcome integral as the treatment-arm probability times the sum of
Y(1) integrals over alwaysSelected and helpedSelected. The lemma
selectedTreated_measure_split is the corresponding mass identity and feeds the
Lee trimming ratio. The lemma selectedTreated_integral_split_indicator repeats
the same decomposition for outcome indicators, which is needed to build and
normalize the always-selected trim-weight witness.
Under the baseline Lee sample-selection assumptions, the probability mass of the observable selected-treated cell equals the probability of being treated times the sum of the probability masses of the two latent strata always-selected and helped-selected. This is the analog of selectedTreated_integral_split for the constant function 1, and it is what gives ρ = μ(AS) / μ({Sel(1)=true}).
Formal statement
Proof (Lean source)
2 supporting declarations (lemmas, instances)
-
selectedTreated_integral_splitlemma — Selected-treated integral split — the f = factualY analogue of selectedTreated_measure_split (Step B'). Consistency on {A=true, Sel=true} rewrites factualY to YofA true; pair random assignment A ⫫ (Y(1), Sel(1)) then drops the {A=true} conditioning and introduces the scalar factor (P.μ (S.aEvent true)).toReal; the latent {Sel(1)=true} set then splits as the disjoint union of alwaysSelected and helpedSelected.hypothesesProof (Lean source)
lemma selectedTreated_integral_split (hA : S.BaseAssumptions) : ∫ ω in S.selectedTreated, S.factualY ω ∂P.μ = (P.μ (S.aEvent true)).toReal * (∫ ω in S.alwaysSelected, S.YofA true ω ∂P.μ + ∫ ω in S.helpedSelected, S.YofA true ω ∂P.μ) := by have hSelectedTreated : S.selectedTreated = S.aEvent true ∩ S.selOfATrueSet := by ext ω constructor · intro hω have hsel_cf : S.SelOfA true ω = S.factualSel ω := POVar.cf_eq_factual_on_event hA.consistency S.selVar S.aVar true S.hASel.symm hω.1 exact ⟨hω.1, by simpa [selOfATrueSet, selEvent, POVar.event, factualSel, hsel_cf] using hω.2⟩ · intro hω have hsel_cf : S.SelOfA true ω = S.factualSel ω := POVar.cf_eq_factual_on_event hA.consistency S.selVar S.aVar true S.hASel.symm hω.1 exact ⟨hω.1, by simpa [selOfATrueSet, selEvent, POVar.event, factualSel, hsel_cf] using hω.2⟩ have hfac : ∀ ω ∈ S.selectedTreated, S.factualY ω = S.YofA true ω := by intro ω hω have hcf : S.YofA true ω = S.factualY ω := POVar.cf_eq_factual_on_event hA.consistency S.yVar S.aVar true S.hAY.symm hω.1 exact hcf.symm have hIntFac : ∫ ω in S.selectedTreated, S.factualY ω ∂P.μ = ∫ ω in S.selectedTreated, S.YofA true ω ∂P.μ := by apply MeasureTheory.setIntegral_congr_fun S.measurableSet_selectedTreated intro ω hω exact hfac ω hω have hpair_meas : Measurable (fun ω => (S.YofA true ω, S.SelOfA true ω)) := prodMk (S.measurable_YofA true) (S.measurable_SelOfA true) have hselSet_pair : MeasurableSet {p : ℝ × Bool | p.2 = true} := measurable_snd (measurableSet_singleton true) have hφ_meas : Measurable (fun p : ℝ × Bool => if p.2 = true then p.1 else (0 : ℝ)) := by exact Measurable.ite hselSet_pair measurable_fst measurable_const have hφ_indicator : (fun ω => if S.SelOfA true ω = true then S.YofA true ω else (0 : ℝ)) = S.selOfATrueSet.indicator (S.YofA true) := by funext ω by_cases hω : S.SelOfA true ω = true · simp [selOfATrueSet, hω] · simp [selOfATrueSet, hω] have hdrop : ∫ ω in S.aEvent true ∩ S.selOfATrueSet, S.YofA true ω ∂P.μ = (P.μ (S.aEvent true)).toReal * ∫ ω in S.selOfATrueSet, S.YofA true ω ∂P.μ := by have hraw_num : ∫ ω in S.aEvent true, S.selOfATrueSet.indicator (S.YofA true) ω ∂P.μ = (P.μ (S.aEvent true)).toReal * ∫ ω, S.selOfATrueSet.indicator (S.YofA true) ω ∂P.μ := by have hraw := (hA.randAssign true).integral_restrict_preimage_eq_mul S.measurable_factualA.aemeasurable hpair_meas.aemeasurable (measurableSet_singleton true) (S.measurable_factualA (measurableSet_singleton true)) hφ_meas.aestronglyMeasurable simpa [aEvent, factualA, POVar.event, hφ_indicator] using hraw rw [← MeasureTheory.setIntegral_indicator S.measurableSet_selOfATrueSet, ← MeasureTheory.integral_indicator S.measurableSet_selOfATrueSet] exact hraw_num have hsplit : ∫ ω in S.selOfATrueSet, S.YofA true ω ∂P.μ = ∫ ω in S.alwaysSelected, S.YofA true ω ∂P.μ + ∫ ω in S.helpedSelected, S.YofA true ω ∂P.μ := by rw [S.selOfATrueSet_eq_alwaysSelected_union_helpedSelected] exact MeasureTheory.setIntegral_union S.disjoint_alwaysSelected_helpedSelected S.measurableSet_helpedSelected hA.integrableY1.integrableOn hA.integrableY1.integrableOn calc ∫ ω in S.selectedTreated, S.factualY ω ∂P.μ = ∫ ω in S.selectedTreated, S.YofA true ω ∂P.μ := hIntFac _ = ∫ ω in S.aEvent true ∩ S.selOfATrueSet, S.YofA true ω ∂P.μ := by rw [hSelectedTreated] _ = (P.μ (S.aEvent true)).toReal * ∫ ω in S.selOfATrueSet, S.YofA true ω ∂P.μ := hdrop _ = (P.μ (S.aEvent true)).toReal * (∫ ω in S.alwaysSelected, S.YofA true ω ∂P.μ + ∫ ω in S.helpedSelected, S.YofA true ω ∂P.μ) := by rw [hsplit] -
selectedTreated_integral_split_indicatorlemma — Step B for the indicator integrand 1_{factualY = y} — same shape as selectedTreated_integral_split but with the indicator integrand. Used by the le_one and sum_eq fields of alwaysSelectedTrimWeight. Proof mirrors Step B; the only change is the integrand.hypothesesProof (Lean source)
lemma selectedTreated_integral_split_indicator (hA : S.BaseAssumptions) (y : ℝ) : ∫ ω in S.selectedTreated, (if S.factualY ω = y then (1 : ℝ) else 0) ∂P.μ = (P.μ (S.aEvent true)).toReal * (∫ ω in S.alwaysSelected, (if S.YofA true ω = y then (1 : ℝ) else 0) ∂P.μ + ∫ ω in S.helpedSelected, (if S.YofA true ω = y then (1 : ℝ) else 0) ∂P.μ) := by have hSelectedTreated : S.selectedTreated = S.aEvent true ∩ S.selOfATrueSet := by ext ω constructor · intro hω have hsel_cf : S.SelOfA true ω = S.factualSel ω := POVar.cf_eq_factual_on_event hA.consistency S.selVar S.aVar true S.hASel.symm hω.1 exact ⟨hω.1, by simpa [selOfATrueSet, selEvent, POVar.event, factualSel, hsel_cf] using hω.2⟩ · intro hω have hsel_cf : S.SelOfA true ω = S.factualSel ω := POVar.cf_eq_factual_on_event hA.consistency S.selVar S.aVar true S.hASel.symm hω.1 exact ⟨hω.1, by simpa [selOfATrueSet, selEvent, POVar.event, factualSel, hsel_cf] using hω.2⟩ have hfac : ∀ ω ∈ S.selectedTreated, S.factualY ω = S.YofA true ω := by intro ω hω have hcf : S.YofA true ω = S.factualY ω := POVar.cf_eq_factual_on_event hA.consistency S.yVar S.aVar true S.hAY.symm hω.1 exact hcf.symm have hIntFac : ∫ ω in S.selectedTreated, (if S.factualY ω = y then (1 : ℝ) else 0) ∂P.μ = ∫ ω in S.selectedTreated, (if S.YofA true ω = y then (1 : ℝ) else 0) ∂P.μ := by apply MeasureTheory.setIntegral_congr_fun S.measurableSet_selectedTreated intro ω hω simp [hfac ω hω] have hInd_meas : Measurable (fun ω => if S.YofA true ω = y then (1 : ℝ) else 0) := by exact Measurable.ite ((S.measurable_YofA true) (measurableSet_singleton y)) measurable_const measurable_const have hInd_int : Integrable (fun ω => if S.YofA true ω = y then (1 : ℝ) else 0) P.μ := by refine MeasureTheory.Integrable.of_bound hInd_meas.aestronglyMeasurable 1 (Filter.Eventually.of_forall ?_) intro ω by_cases hω : S.YofA true ω = y · simp [hω] · simp [hω] have hpair_meas : Measurable (fun ω => (S.YofA true ω, S.SelOfA true ω)) := prodMk (S.measurable_YofA true) (S.measurable_SelOfA true) have hselSet_pair : MeasurableSet {p : ℝ × Bool | p.2 = true} := measurable_snd (measurableSet_singleton true) have hySet_pair : MeasurableSet {p : ℝ × Bool | p.1 = y} := measurable_fst (measurableSet_singleton y) have hφ_meas : Measurable (fun p : ℝ × Bool => if p.2 = true then (if p.1 = y then (1 : ℝ) else 0) else 0) := by exact Measurable.ite hselSet_pair (Measurable.ite hySet_pair measurable_const measurable_const) measurable_const have hφ_indicator : (fun ω => if S.SelOfA true ω = true then (if S.YofA true ω = y then (1 : ℝ) else 0) else 0) = S.selOfATrueSet.indicator (fun ω => if S.YofA true ω = y then (1 : ℝ) else 0) := by funext ω by_cases hω : S.SelOfA true ω = true · simp [selOfATrueSet, hω] · simp [selOfATrueSet, hω] have hdrop : ∫ ω in S.aEvent true ∩ S.selOfATrueSet, (if S.YofA true ω = y then (1 : ℝ) else 0) ∂P.μ = (P.μ (S.aEvent true)).toReal * ∫ ω in S.selOfATrueSet, (if S.YofA true ω = y then (1 : ℝ) else 0) ∂P.μ := by have hraw_num : ∫ ω in S.aEvent true, S.selOfATrueSet.indicator (fun ω => if S.YofA true ω = y then (1 : ℝ) else 0) ω ∂P.μ = (P.μ (S.aEvent true)).toReal * ∫ ω, S.selOfATrueSet.indicator (fun ω => if S.YofA true ω = y then (1 : ℝ) else 0) ω ∂P.μ := by have hraw := (hA.randAssign true).integral_restrict_preimage_eq_mul S.measurable_factualA.aemeasurable hpair_meas.aemeasurable (measurableSet_singleton true) (S.measurable_factualA (measurableSet_singleton true)) hφ_meas.aestronglyMeasurable simpa [aEvent, factualA, POVar.event, hφ_indicator] using hraw rw [← MeasureTheory.setIntegral_indicator S.measurableSet_selOfATrueSet, ← MeasureTheory.integral_indicator S.measurableSet_selOfATrueSet] exact hraw_num have hsplit : ∫ ω in S.selOfATrueSet, (if S.YofA true ω = y then (1 : ℝ) else 0) ∂P.μ = ∫ ω in S.alwaysSelected, (if S.YofA true ω = y then (1 : ℝ) else 0) ∂P.μ + ∫ ω in S.helpedSelected, (if S.YofA true ω = y then (1 : ℝ) else 0) ∂P.μ := by rw [S.selOfATrueSet_eq_alwaysSelected_union_helpedSelected] exact MeasureTheory.setIntegral_union S.disjoint_alwaysSelected_helpedSelected S.measurableSet_helpedSelected hInd_int.integrableOn hInd_int.integrableOn calc ∫ ω in S.selectedTreated, (if S.factualY ω = y then (1 : ℝ) else 0) ∂P.μ = ∫ ω in S.selectedTreated, (if S.YofA true ω = y then (1 : ℝ) else 0) ∂P.μ := hIntFac _ = ∫ ω in S.aEvent true ∩ S.selOfATrueSet, (if S.YofA true ω = y then (1 : ℝ) else 0) ∂P.μ := by rw [hSelectedTreated] _ = (P.μ (S.aEvent true)).toReal * ∫ ω in S.selOfATrueSet, (if S.YofA true ω = y then (1 : ℝ) else 0) ∂P.μ := hdrop _ = (P.μ (S.aEvent true)).toReal * (∫ ω in S.alwaysSelected, (if S.YofA true ω = y then (1 : ℝ) else 0) ∂P.μ + ∫ ω in S.helpedSelected, (if S.YofA true ω = y then (1 : ℝ) else 0) ∂P.μ) := by rw [hsplit]
TrimBound 1 core · 0 supporting This file proves that the conditional mean of the treated potential outcome among always-selected units is bounded by the lower and upper Lee trimmed means. ★ trimmed_bounds_condExp_Y1_AS
Lee Trimmed-Mean Bound
This file proves that the conditional mean of the treated potential outcome among always-selected units is bounded by the lower and upper Lee trimmed means. The result turns the constructed always-selected trim weight into the scalar sandwich used by the final Lee bound.
The argument is an order-theoretic consequence of the trimmed-mean range and the identity between the trim-weight mean and the always-selected conditional mean.
The Lee trimmed-mean sandwich for the always-selected treated mean. Given the baseline Lee assumptions, monotone sample selection, and almost-sure finite support 𝒴 for the factual outcome on the selected-treated cell, the conditional mean E[Y(1) | alwaysSelected] of the treated potential outcome among always-selected units lies between the lower and upper Lee trimmed means computed over all feasible Lee trim weights on that support.
Formal statement
Proof (Lean source)
TrimMean 1 core · 0 supporting This file proves that the trimmed mean associated with the always-selected trim weight equals the conditional mean of the treated potential outcome on the always-selected latent stratum. ★ Mw_alwaysSelectedTrimWeight_eq_condExp_Y1_AS
Lee Trimmed Mean Identity
This file proves that the trimmed mean associated with the always-selected trim weight equals the conditional mean of the treated potential outcome on the always-selected latent stratum. The result connects the finite-support trim weight construction to the target latent mean used in Lee bounds.
The constructed always-selected trim weight has the target latent mean. Given the baseline Lee assumptions, monotone sample selection, and almost-sure finite support 𝒴 for the factual outcome on the selected-treated cell, evaluating the trim-weight mean functional Mw at the constructed always-selected trim weight recovers exactly the conditional mean E[Y(1) | alwaysSelected] of the treated potential outcome among always-selected units.