Estimation.NPIV.DR

Doubly robust estimation of linear functionals of the NPIV structural function.

Estimator 5 core · 0 supporting Defines estimator-level helpers and local instances for the doubly robust NPIV development. ★ trae_dr_estimator_eq_avg_phi

Defines estimator-level helpers and local instances for the doubly robust NPIV development. The module exposes sample, measure, and inverse-problem-system fields in the form used by the DR rate and limit theorems.

instance instMeasurableSpace_𝒲 reviewed
Causalean.Estimation.NPIV.DR

For a measurable sample space with a measure and an inverse-problem system, the measurable structure on the observation space is the measurable structure specified by that system.

Definition (Lean source)
Ω :
instMeasurableSpace_𝒲 S :
S.inst𝒲
Causalean.Estimation.NPIV.DR.instMeasurableSpace_𝒲 · Causalean/Estimation/NPIV/DR/Estimator.lean:51 · uses InverseProblemSystem
instance instMeasurableSpace_𝒳 reviewed
Causalean.Estimation.NPIV.DR

For a measurable sample space with a measure and an inverse-problem system, the measurable structure on the covariate space is the measurable structure specified by that system.

Definition (Lean source)
Ω :
instMeasurableSpace_𝒳 S :
S.inst𝒳
Causalean.Estimation.NPIV.DR.instMeasurableSpace_𝒳 · Causalean/Estimation/NPIV/DR/Estimator.lean:56 · uses InverseProblemSystem
instance instMeasurableSpace_𝒵 reviewed
Causalean.Estimation.NPIV.DR

For a measurable sample space with a measure and an inverse-problem system, the measurable structure on the instrument space is the measurable structure specified by that system.

Definition (Lean source)
Ω :
instMeasurableSpace_𝒵 S :
S.inst𝒵
Causalean.Estimation.NPIV.DR.instMeasurableSpace_𝒵 · Causalean/Estimation/NPIV/DR/Estimator.lean:61 · uses InverseProblemSystem
def trae_dr_estimator reviewed
Causalean.Estimation.NPIV.DR

The one-shot TRAE doubly robust estimator averages the plug-in pseudo-outcome over the evaluation fold of a split sample, using an inverse-problem system on a measured sample space, its observation law, the primal and dual nuisance sequences, and the selected sample size and realization.

Definition (Lean source)
Ω :
P_W :
Measure S.𝒲
sample :
IIDSample Ω S.𝒲 μ P_W
split :
h_hat :
ℕ → Ω → (S.𝒳 → ℝ)
q_hat :
ℕ → Ω → (S.𝒵 → ℝ)
n :
ℕ
ω :
Ω
trae_dr_estimator S sample split h_hat q_hat n ω :
ℝ
((split.foldB n).card : ℝ)⁻¹ * ∑ i ∈ split.foldB n, S.phiVal (h_hat n ω) (q_hat n ω) (sample.Z i ω)
lemma trae_dr_estimator_eq_avg_phi reviewed
Causalean.Estimation.NPIV.DR

Estimator unfolding. For primal nuisance estimators ĥ_n, indexed by sample size and by outcome, paired with dual nuisance estimators q̂_n, an inverse-problem system, an i.i.d. sample, and a one-shot cross-fitting split, the one-shot TRAE doubly robust estimator evaluated at sample size n and outcome ω equals the average, over the evaluation fold B(n), of the pointwise doubly-robust pseudo-outcome φ_{ĥ_n,q̂_n} computed at each fold member's observation.

Formal statement
Ω :
P_W :
Measure S.𝒲
sample :
IIDSample Ω S.𝒲 μ P_W
split :
h_hat :
ℕ → Ω → (S.𝒳 → ℝ)
q_hat :
ℕ → Ω → (S.𝒵 → ℝ)
n :
ℕ
ω :
Ω
trae_dr_estimator S sample split h_hat q_hat n ω
= ((split.foldB n).card : ℝ)⁻¹ * ∑ i ∈ split.foldB n, S.phiVal (h_hat n ω) (q_hat n ω) (sample.Z i ω)
Proof (Lean source)
lemma trae_dr_estimator_eq_avg_phi {Ω : Type*} [MeasurableSpace Ω] {μ : Measure Ω} (S : InverseProblemSystem Ω μ) {P_W : Measure S.𝒲} (sample : IIDSample Ω S.𝒲 μ P_W) (split : OneShotSplit sample) (h_hat : ℕ → Ω → (S.𝒳 → ℝ)) (q_hat : ℕ → Ω → (S.𝒵 → ℝ)) (n : ℕ) (ω : Ω) : trae_dr_estimator S sample split h_hat q_hat n ω = ((split.foldB n).card : ℝ)⁻¹ * ∑ i ∈ split.foldB n, S.phiVal (h_hat n ω) (q_hat n ω) (sample.Z i ω) := rfl
Asymptotic­Linear 3 core · 3 supporting States and proves an asymptotic-linearity criterion for the doubly robust NPIV estimator. ★ trae_dr_isAsymLinear

States and proves an asymptotic-linearity criterion for the doubly robust NPIV estimator. Its hypothesis bundle contains exactly the candidate-membership, mixed-bias, empirical-process, and finite-variance conditions used to isolate the leading oracle-score term.

def ρ₀ reviewed
Causalean.Estimation.NPIV.DR

The oracle score for an inverse-problem system on a measured sample space, a dual nuisance, and an observation is the true-primal pseudo-outcome minus the scalar target.

Definition (Lean source)
Ω :
q₀ :
S.𝒵 → ℝ
w :
S.𝒲
ρ₀ S q₀ w :
ℝ
S.phiVal S.h₀ q₀ w - S.θ₀
structure TRAEDRRemainderHyps reviewed
Causalean.Estimation.NPIV.DR

The TRAE-DR remainder hypotheses state that both fitted nuisances stay in their candidate classes, their √-scaled mixed-bias integral is negligible, the centered plug-in empirical-process remainder vanishes at the √-rate, and the oracle score has finite variance. These are precisely the inputs consumed by the asymptotic-linearity criterion.

Definition (Lean source)
Ω :
q₀ :
S.𝒵 → ℝ
_hq₀ :
S.DualSolution q₀
P_W :
sample :
IIDSample Ω S.𝒲 μ P_W
split :
h_hat :
ℕ → Ω → (S.𝒳 → ℝ)
q_hat :
ℕ → Ω → (S.𝒵 → ℝ)
candidate_mem :
∀ n ω, h_hat n ω ∈ S.Hbar ∧ q_hat n ω ∈ S.Qbar

Support condition for the formal mixed-bias identity: the fitted primal and dual nuisance functions lie in the candidate classes for every sample size and outcome.

mixed_bias :
IsLittleOp (fun n ω => sqrt ((split.foldB n).card : ℝ) * ∫ ω', (q₀ (S.zOf (S.W ω')) - q_hat n ω (S.zOf (S.W ω'))) * (h_hat n ω (S.xOf (S.W ω')) - S.h₀ (S.xOf (S.W ω'))) ∂μ) (fun _ => (1 : ℝ)) μ

Unconditional mixed-bias sufficient criterion: scaling the mixed-bias integral by √|B(n)| is o_p(1) under μ. This is the unconditional assumption used here rather than the conditional-on-training-fold hypothesis from the paper statement.

ep_remainder :
IsLittleOp (fun n ω => (sqrt ((split.foldB n).card : ℝ))⁻¹ * ∑ i ∈ split.foldB n, (S.phiVal (h_hat n ω) (q_hat n ω) (sample.Z i ω) - S.phiVal S.h₀ q₀ (sample.Z i ω)) - sqrt ((split.foldB n).card : ℝ) * ∫ ω', (S.phiVal (h_hat n ω) (q_hat n ω) (S.W ω') - S.phiVal S.h₀ q₀ (S.W ω')) ∂μ) (fun _ => (1 : ℝ)) μ

Empirical-process / mean-squared-continuity remainder (iii): the centered fold-B sum of φ̂_n − φ₀ is o_p(1) after √|B(n)| scaling.

finite_var :
Integrable (fun w => (ρ₀ S q₀ w) ^ 2) P_W

(iv) Finite oracle-score variance: E[ρ₀² ] < ∞ under P_W.

theorem trae_dr_isAsymLinear reviewed
Causalean.Estimation.NPIV.DR

Abstract TRAE-DR asymptotic-linearity criterion. For an inverse-problem system, a dual solution, an i.i.d. sample, a one-shot split, primal nuisance functions, and dual nuisance functions, suppose the candidate-membership, unconditional mixed-bias, empirical-process, and finite-variance conditions hold. Given the observation-law bridge and measurability of the oracle score, the TRAE-DR estimator is asymptotically linear at the structural target, with the oracle score as its mean-zero, finite-variance influence function.

Formal statement
Ω :
q₀ :
S.𝒵 → ℝ
hq₀ :
S.DualSolution q₀
P_W :
sample :
IIDSample Ω S.𝒲 μ P_W
split :
h_hat :
ℕ → Ω → (S.𝒳 → ℝ)
q_hat :
ℕ → Ω → (S.𝒵 → ℝ)
_hyps :
TRAEDRRemainderHyps S hq₀ sample split h_hat q_hat
h_law_W :
μ.map S.W = P_W
hρ₀_meas :
Measurable (ρ₀ S q₀)
IsAsymLinear (trae_dr_estimator S sample split h_hat q_hat) S.θ₀ (ρ₀ S q₀) sample split.foldB
Proof (Lean source)
theorem trae_dr_isAsymLinear {Ω : Type*} [MeasurableSpace Ω] {μ : Measure Ω} [IsProbabilityMeasure μ] (S : InverseProblemSystem Ω μ) {q₀ : S.𝒵 → ℝ} (hq₀ : S.DualSolution q₀) {P_W : Measure S.𝒲} [IsProbabilityMeasure P_W] (sample : IIDSample Ω S.𝒲 μ P_W) (split : OneShotSplit sample) (h_hat : ℕ → Ω → (S.𝒳 → ℝ)) (q_hat : ℕ → Ω → (S.𝒵 → ℝ)) (_hyps : TRAEDRRemainderHyps S hq₀ sample split h_hat q_hat) (h_law_W : μ.map S.W = P_W) (hρ₀_meas : Measurable (ρ₀ S q₀)) : IsAsymLinear (trae_dr_estimator S sample split h_hat q_hat) S.θ₀ (ρ₀ S q₀) sample split.foldB := by refine ⟨mean_zero_of_DualSolution S hq₀ h_law_W hρ₀_meas, _hyps.finite_var, ?_⟩ have h_add_one : ∀ {Xn Yn : ℕ → Ω → ℝ}, IsLittleOp Xn (fun _ => (1 : ℝ)) μ → IsLittleOp Yn (fun _ => (1 : ℝ)) μ → IsLittleOp (fun n ω => Xn n ω + Yn n ω) (fun _ => (1 : ℝ)) μ := by intro Xn Yn hX hY ε hε rw [ENNReal.tendsto_nhds_zero] intro δ hδ by_cases hδtop : δ = ⊤ · filter_upwards with n simp [hδtop] have hδpos : 0 < δ.toReal := ENNReal.toReal_pos (ne_of_gt hδ) hδtop let α : ℝ := δ.toReal / 4 have hαpos : 0 < α := by dsimp [α] linarith let A : ℕ → Set Ω := fun n => {ω | (ε / 2) * (1 : ℝ) ≤ |Xn n ω|} let B : ℕ → Set Ω := fun n => {ω | (ε / 2) * (1 : ℝ) ≤ |Yn n ω|} let C : ℕ → Set Ω := fun n => {ω | ε * (1 : ℝ) ≤ |Xn n ω + Yn n ω|} have hXevent_le := (ENNReal.tendsto_nhds_zero.mp (hX (ε / 2) (by linarith))) (ofReal α) (ENNReal.ofReal_pos.mpr hαpos) have hYevent_le := (ENNReal.tendsto_nhds_zero.mp (hY (ε / 2) (by linarith))) (ofReal α) (ENNReal.ofReal_pos.mpr hαpos) have htwo_alpha_lt_delta : ofReal (2 * α) < δ := by rw [ENNReal.ofReal_lt_iff_lt_toReal] · dsimp [α] linarith · dsimp [α] linarith [le_of_lt hδpos] · exact hδtop filter_upwards [hXevent_le, hYevent_le] with n hXA hYB have hsubset : C n ⊆ A n ∪ B n := by intro ω hω by_contra hnot have hnotA : ¬ ε / 2 ≤ |Xn n ω| := by intro hx exact hnot (inl (by simpa [A] using hx)) have hnotB : ¬ ε / 2 ≤ |Yn n ω| := by intro hy exact hnot (inr (by simpa [B] using hy)) have hXlt : |Xn n ω| < ε / 2 := lt_of_not_ge hnotA have hYlt : |Yn n ω| < ε / 2 := lt_of_not_ge hnotB have hsum : |Xn n ω + Yn n ω| < ε := by calc |Xn n ω + Yn n ω| ≤ |Xn n ω| + |Yn n ω| := abs_add_le _ _ _ < ε / 2 + ε / 2 := add_lt_add hXlt hYlt _ = ε := by ring exact (not_le_of_gt hsum) (by simpa [C] using hω) exact le_of_lt <| calc μ {ω | ε * (fun _ => (1 : ℝ)) n ≤ |Xn n ω + Yn n ω|} = μ (C n) := by simp [C] _ ≤ μ (A n ∪ B n) := measure_mono hsubset _ ≤ μ (A n) + μ (B n) := MeasureTheory.measure_union_le (A n) (B n) _ ≤ ofReal α + ofReal α := add_le_add hXA hYB _ = ofReal (2 * α) := by rw [← ENNReal.ofReal_add] · congr 1 ring · linarith · linarith _ < δ := htwo_alpha_lt_delta let EP : ℕ → Ω → ℝ := fun n ω => (sqrt ((split.foldB n).card : ℝ))⁻¹ * ∑ i ∈ split.foldB n, (S.phiVal (h_hat n ω) (q_hat n ω) (sample.Z i ω) - S.phiVal S.h₀ q₀ (sample.Z i ω)) - sqrt ((split.foldB n).card : ℝ) * ∫ ω', (S.phiVal (h_hat n ω) (q_hat n ω) (S.W ω') - S.phiVal S.h₀ q₀ (S.W ω')) ∂μ let MB : ℕ → Ω → ℝ := fun n ω => sqrt ((split.foldB n).card : ℝ) * ∫ ω', (q₀ (S.zOf (S.W ω')) - q_hat n ω (S.zOf (S.W ω'))) * (h_hat n ω (S.xOf (S.W ω')) - S.h₀ (S.xOf (S.W ω'))) ∂μ have hsum : IsLittleOp (fun n ω => EP n ω + MB n ω) (fun _ => (1 : ℝ)) μ := by exact h_add_one _hyps.ep_remainder _hyps.mixed_bias have h_eq : ∀ n ω, sqrt ((split.foldB n).card : ℝ) * (trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀) - (sqrt ((split.foldB n).card : ℝ))⁻¹ * ∑ i ∈ split.foldB n, ρ₀ S q₀ (sample.Z i ω) = EP n ω + MB n ω := by intro n ω have hrange := _hyps.candidate_mem n ω have hphi_hat_int : Integrable (fun ω' => S.phiVal (h_hat n ω) (q_hat n ω) (S.W ω')) μ := by unfold InverseProblemSystem.phiVal exact ((S.integrable_m_e (h_hat n ω) hrange.1).add (S.integrable_m (q_hat n ω) hrange.2)).sub (S.integrable_qh (h_hat n ω) hrange.1 (q_hat n ω) hrange.2) have hphi_zero_int : Integrable (fun ω' => S.phiVal S.h₀ q₀ (S.W ω')) μ := by unfold InverseProblemSystem.phiVal exact ((S.integrable_m_e S.h₀ S.h₀_mem).add (S.integrable_m q₀ hq₀.mem)).sub (S.integrable_qh S.h₀ S.h₀_mem q₀ hq₀.mem) have h_int_eq : (∫ ω', (S.phiVal (h_hat n ω) (q_hat n ω) (S.W ω') - S.phiVal S.h₀ q₀ (S.W ω')) ∂μ) = ∫ ω', (q₀ (S.zOf (S.W ω')) - q_hat n ω (S.zOf (S.W ω'))) * (h_hat n ω (S.xOf (S.W ω')) - S.h₀ (S.xOf (S.W ω'))) ∂μ := by rw [integral_sub hphi_hat_int hphi_zero_int] have hmb := mixed_bias_identity S hq₀ hrange.1 hrange.2 have hzero := Θ_q₀_eq_θ₀ S hq₀ S.h₀_mem unfold InverseProblemSystem.Θ InverseProblemSystem.phi at hmb hzero rw [hzero] simpa [InverseProblemSystem.X, InverseProblemSystem.Z] using hmb by_cases hcard : (split.foldB n).card = 0 · have hempty : split.foldB n = ∅ := Finset.card_eq_zero.mp hcard simp [EP, MB, h_int_eq, trae_dr_estimator, ρ₀, hempty] · have hcard_pos_nat : 0 < (split.foldB n).card := Nat.pos_of_ne_zero hcard have hcard_pos_real : 0 < ((split.foldB n).card : ℝ) := by exact_mod_cast hcard_pos_nat have hsqrt_ne : sqrt ((split.foldB n).card : ℝ) ≠ 0 := by intro hsqrt_zero have hzero_real : ((split.foldB n).card : ℝ) = 0 := by rw [← Real.mul_self_sqrt (le_of_lt hcard_pos_real), hsqrt_zero, zero_mul] exact (ne_of_gt hcard_pos_real) hzero_real have hsqrt_sq : sqrt ((split.foldB n).card : ℝ) * sqrt ((split.foldB n).card : ℝ) = ((split.foldB n).card : ℝ) := Real.mul_self_sqrt (by positivity) have h_sqrt_mul_inv_card : sqrt ((split.foldB n).card : ℝ) * (((split.foldB n).card : ℝ)⁻¹) = (sqrt ((split.foldB n).card : ℝ))⁻¹ := by let r : ℝ := sqrt ((split.foldB n).card : ℝ) let c : ℝ := ((split.foldB n).card : ℝ) have hr : r ≠ 0 := by simpa [r] using hsqrt_ne have hsq : r * r = c := by simp [r, c, hsqrt_sq] change r * c⁻¹ = r⁻¹ rw [← hsq] field_simp [hr] have h_inv_sqrt_mul_card : (sqrt ((split.foldB n).card : ℝ))⁻¹ * ((split.foldB n).card : ℝ) = sqrt ((split.foldB n).card : ℝ) := by let r : ℝ := sqrt ((split.foldB n).card : ℝ) let c : ℝ := ((split.foldB n).card : ℝ) have hr : r ≠ 0 := by simpa [r] using hsqrt_ne have hsq : r * r = c := by simp [r, c, hsqrt_sq] change r⁻¹ * c = r rw [← hsq] field_simp [hr] simp [EP, MB, h_int_eq, trae_dr_estimator, ρ₀, Finset.sum_sub_distrib] rw [mul_sub] rw [← mul_assoc (sqrt ((split.foldB n).card : ℝ)) (((split.foldB n).card : ℝ)⁻¹) (∑ i ∈ split.foldB n, S.phiVal (h_hat n ω) (q_hat n ω) (sample.Z i ω))] rw [h_sqrt_mul_inv_card] rw [mul_sub] rw [← mul_assoc (sqrt ((split.foldB n).card : ℝ))⁻¹ ((split.foldB n).card : ℝ) S.θ₀] rw [h_inv_sqrt_mul_card] ring convert hsum using 1 ext n ω exact h_eq n ω
3 supporting declarations (lemmas, instances)
  • mean_zero_of_DualSolution_mu theorem — Mean-zero of the oracle score under the structural law μ.
    Ω :
    q₀ :
    S.𝒵 → ℝ
    hq₀ :
    S.DualSolution q₀
    ∫ ω, ρ₀ S q₀ (S.W ω) ∂μ = 0
    Proof (Lean source)
    theorem mean_zero_of_DualSolution_mu {Ω : Type*} [MeasurableSpace Ω] {μ : Measure Ω} [IsProbabilityMeasure μ] (S : InverseProblemSystem Ω μ) {q₀ : S.𝒵 → ℝ} (hq₀ : S.DualSolution q₀) : ∫ ω, ρ₀ S q₀ (S.W ω) ∂μ = 0 := by have hphi_int : Integrable (fun ω => S.phiVal S.h₀ q₀ (S.W ω)) μ := by unfold InverseProblemSystem.phiVal exact ((S.integrable_m_e S.h₀ S.h₀_mem).add (S.integrable_m q₀ hq₀.mem)).sub (S.integrable_qh S.h₀ S.h₀_mem q₀ hq₀.mem) have htheta_int : Integrable (fun _ : Ω => S.θ₀) μ := integrable_const _ have hzero := Θ_q₀_eq_θ₀ S hq₀ S.h₀_mem unfold ρ₀ rw [integral_sub hphi_int htheta_int] unfold InverseProblemSystem.Θ InverseProblemSystem.phi at hzero rw [hzero] simp
    Causalean.Estimation.NPIV.DR.mean_zero_of_DualSolution_mu · Causalean/Estimation/NPIV/DR/AsymptoticLinear.lean:83
  • mean_zero_of_DualSolution theorem — Mean-zero of the oracle score under the observation law P_W.
    Ω :
    q₀ :
    S.𝒵 → ℝ
    hq₀ :
    S.DualSolution q₀
    P_W :
    Measure S.𝒲
    h_law_W :
    μ.map S.W = P_W
    hρ₀_meas :
    Measurable (ρ₀ S q₀)
    ∫ w, ρ₀ S q₀ w ∂P_W = 0
    Proof (Lean source)
    theorem mean_zero_of_DualSolution {Ω : Type*} [MeasurableSpace Ω] {μ : Measure Ω} [IsProbabilityMeasure μ] (S : InverseProblemSystem Ω μ) {q₀ : S.𝒵 → ℝ} (hq₀ : S.DualSolution q₀) {P_W : Measure S.𝒲} (h_law_W : μ.map S.W = P_W) (hρ₀_meas : Measurable (ρ₀ S q₀)) : ∫ w, ρ₀ S q₀ w ∂P_W = 0 := by rw [← h_law_W] rw [MeasureTheory.integral_map S.meas_W.aemeasurable hρ₀_meas.aestronglyMeasurable] exact mean_zero_of_DualSolution_mu S hq₀
    Causalean.Estimation.NPIV.DR.mean_zero_of_DualSolution · Causalean/Estimation/NPIV/DR/AsymptoticLinear.lean:107
  • mixed_bias_isLittleOp_of_pointwise_bound theorem — For an inverse-problem system, an i.i.d. sample, a one-shot sample split, primal nuisance estimators, dual nuisance estimators, and a real upper-bound sequence, if the absolute mixed-bias integral is bounded pointwise by that sequence and the fold-scaled bound is o_p(1), then the fold-scaled mixed-bias integral is o_p(1).
    Ω :
    q₀ :
    S.𝒵 → ℝ
    P_W :
    sample :
    IIDSample Ω S.𝒲 μ P_W
    split :
    h_hat :
    ℕ → Ω → (S.𝒳 → ℝ)
    q_hat :
    ℕ → Ω → (S.𝒵 → ℝ)
    bnd :
    ℕ → Ω → ℝ
    _h_dom :
    ∀ n ω,
    |∫ ω', (q₀ (S.zOf (S.W ω')) - q_hat n ω (S.zOf (S.W ω'))) * (h_hat n ω (S.xOf (S.W ω')) - S.h₀ (S.xOf (S.W ω'))) ∂μ|
    ≤ bnd n ω
    _h_rate :
    IsLittleOp (fun n ω => sqrt ((split.foldB n).card : ℝ) * bnd n ω) (fun _ => (1 : ℝ)) μ
    IsLittleOp (fun n ω => sqrt ((split.foldB n).card : ℝ) * ∫ ω', (q₀ (S.zOf (S.W ω')) - q_hat n ω (S.zOf (S.W ω'))) * (h_hat n ω (S.xOf (S.W ω')) - S.h₀ (S.xOf (S.W ω'))) ∂μ) (fun _ => (1 : ℝ)) μ
    Proof (Lean source)
    theorem mixed_bias_isLittleOp_of_pointwise_bound {Ω : Type*} [MeasurableSpace Ω] {μ : Measure Ω} [IsProbabilityMeasure μ] (S : InverseProblemSystem Ω μ) {q₀ : S.𝒵 → ℝ} {P_W : Measure S.𝒲} [IsProbabilityMeasure P_W] (sample : IIDSample Ω S.𝒲 μ P_W) (split : OneShotSplit sample) (h_hat : ℕ → Ω → (S.𝒳 → ℝ)) (q_hat : ℕ → Ω → (S.𝒵 → ℝ)) (bnd : ℕ → Ω → ℝ) (_h_dom : ∀ n ω, |∫ ω', (q₀ (S.zOf (S.W ω')) - q_hat n ω (S.zOf (S.W ω'))) * (h_hat n ω (S.xOf (S.W ω')) - S.h₀ (S.xOf (S.W ω'))) ∂μ| ≤ bnd n ω) (_h_rate : IsLittleOp (fun n ω => sqrt ((split.foldB n).card : ℝ) * bnd n ω) (fun _ => (1 : ℝ)) μ) : IsLittleOp (fun n ω => sqrt ((split.foldB n).card : ℝ) * ∫ ω', (q₀ (S.zOf (S.W ω')) - q_hat n ω (S.zOf (S.W ω'))) * (h_hat n ω (S.xOf (S.W ω')) - S.h₀ (S.xOf (S.W ω'))) ∂μ) (fun _ => (1 : ℝ)) μ := by -- Reference to `sample` is intentional: the conclusion is the precise -- form of the `mixed_bias` field above, indexed by `split.foldB`. let _ := sample intro ε hε rw [ENNReal.tendsto_nhds_zero] intro δ hδ have hrate := (ENNReal.tendsto_nhds_zero.mp (_h_rate ε hε)) δ hδ filter_upwards [hrate] with n hn refine (measure_mono ?_).trans hn intro ω hω simp only [Set.mem_setOf_eq, mul_one, Real.norm_eq_abs] at hω ⊢ let bias : ℝ := ∫ ω', (q₀ (S.zOf (S.W ω')) - q_hat n ω (S.zOf (S.W ω'))) * (h_hat n ω (S.xOf (S.W ω')) - S.h₀ (S.xOf (S.W ω'))) ∂μ have h_bnd_nonneg : 0 ≤ bnd n ω := le_trans (abs_nonneg bias) (_h_dom n ω) have h_sqrt_nonneg : 0 ≤ sqrt ((split.foldB n).card : ℝ) := Real.sqrt_nonneg _ have h_abs_bias : |sqrt ((split.foldB n).card : ℝ) * bias| = sqrt ((split.foldB n).card : ℝ) * |bias| := by rw [abs_mul, abs_of_nonneg h_sqrt_nonneg] have h_abs_bnd : |sqrt ((split.foldB n).card : ℝ) * bnd n ω| = sqrt ((split.foldB n).card : ℝ) * bnd n ω := by rw [abs_of_nonneg (mul_nonneg h_sqrt_nonneg h_bnd_nonneg)] rw [show (∫ ω', (q₀ (S.zOf (S.W ω')) - q_hat n ω (S.zOf (S.W ω'))) * (h_hat n ω (S.xOf (S.W ω')) - S.h₀ (S.xOf (S.W ω'))) ∂μ) = bias from rfl, h_abs_bias] at hω rw [h_abs_bnd] exact hω.trans (mul_le_mul_of_nonneg_left (_h_dom n ω) h_sqrt_nonneg)
    Causalean.Estimation.NPIV.DR.mixed_bias_isLittleOp_of_pointwise_bound · Causalean/Estimation/NPIV/DR/AsymptoticLinear.lean:383
Asymptotic­Normal 2 core · 1 supporting Derives asymptotic normality for the doubly robust NPIV estimator from asymptotic linearity, Gaussian score limits, and studentization/continuous-mapping inputs. ★ trae_dr_asymp_normal★ trae_dr_studentized

Derives asymptotic normality for the doubly robust NPIV estimator from asymptotic linearity, Gaussian score limits, and studentization/continuous-mapping inputs.

theorem trae_dr_asymp_normal reviewed
Causalean.Estimation.NPIV.DR

TRAE-DR asymptotic normality from abstract remainder bounds. For an inverse-problem system, a dual solution, an i.i.d. sample, a one-shot split, primal nuisance functions, and dual nuisance functions, assume the abstract remainder conditions, the observation-law bridge, measurability of the oracle score, measurability of the rescaled estimator, and measurability of its normalized oracle-score sum. Then the rescaled estimator converges along the evaluation folds to the centered Gaussian law whose variance is the oracle score's second moment.

Formal statement
Ω :
q₀ :
S.𝒵 → ℝ
hq₀ :
S.DualSolution q₀
P_W :
sample :
IIDSample Ω S.𝒲 μ P_W
split :
h_hat :
ℕ → Ω → (S.𝒳 → ℝ)
q_hat :
ℕ → Ω → (S.𝒵 → ℝ)
_hyps :
TRAEDRRemainderHyps S hq₀ sample split h_hat q_hat
h_law_W :
μ.map S.W = P_W
_h_ρ₀_meas :
Measurable (ρ₀ S q₀)
h_meas_θ :
∀ n,
AEMeasurable (IsAsymLinear.rescaledEstimator (trae_dr_estimator S sample split h_hat q_hat) S.θ₀ split.foldB n) μ
_h_meas_sum :
∀ n, AEMeasurable (IsAsymLinear.normalizedSum sample (ρ₀ S q₀) split.foldB n) μ
Modes.TendstoInLaw (fun _ : ℕ => μ) (IsAsymLinear.rescaledEstimator (trae_dr_estimator S sample split h_hat q_hat) S.θ₀ split.foldB) atTop (gaussianMeasure 0 (∫ w, (ρ₀ S q₀ w) ^ 2 ∂P_W))
Proof (Lean source)
theorem trae_dr_asymp_normal {Ω : Type*} [MeasurableSpace Ω] {μ : Measure Ω} [IsProbabilityMeasure μ] (S : InverseProblemSystem Ω μ) {q₀ : S.𝒵 → ℝ} (hq₀ : S.DualSolution q₀) {P_W : Measure S.𝒲} [IsProbabilityMeasure P_W] (sample : IIDSample Ω S.𝒲 μ P_W) (split : OneShotSplit sample) (h_hat : ℕ → Ω → (S.𝒳 → ℝ)) (q_hat : ℕ → Ω → (S.𝒵 → ℝ)) (_hyps : TRAEDRRemainderHyps S hq₀ sample split h_hat q_hat) (h_law_W : μ.map S.W = P_W) (_h_ρ₀_meas : Measurable (ρ₀ S q₀)) (h_meas_θ : ∀ n, AEMeasurable (IsAsymLinear.rescaledEstimator (trae_dr_estimator S sample split h_hat q_hat) S.θ₀ split.foldB n) μ) (_h_meas_sum : ∀ n, AEMeasurable (IsAsymLinear.normalizedSum sample (ρ₀ S q₀) split.foldB n) μ) : Modes.TendstoInLaw (fun _ : ℕ => μ) (IsAsymLinear.rescaledEstimator (trae_dr_estimator S sample split h_hat q_hat) S.θ₀ split.foldB) atTop (gaussianMeasure 0 (∫ w, (ρ₀ S q₀ w) ^ 2 ∂P_W)) := by have hAL : IsAsymLinear (trae_dr_estimator S sample split h_hat q_hat) S.θ₀ (ρ₀ S q₀) sample split.foldB := by exact trae_dr_isAsymLinear S hq₀ sample split h_hat q_hat _hyps h_law_W _h_ρ₀_meas exact hAL.tendsto_normal_foldB split _h_ρ₀_meas h_meas_θ _h_meas_sum
theorem trae_dr_studentized reviewed
Causalean.Estimation.NPIV.DR

Studentized TRAE-DR convergence. For an inverse-problem system, a dual solution, an i.i.d. sample, a one-shot split, primal nuisance functions, and dual nuisance functions, assume the abstract remainder conditions, the observation-law bridge, a standard-deviation estimator, a positive limiting standard deviation satisfying the oracle second-moment identity, its consistency in probability, measurability of the oracle score, and the required estimator, oracle-sum, and studentized-statistic measurability conditions. Then the studentized statistic converges in distribution to the standard normal law.

Formal statement
Ω :
q₀ :
S.𝒵 → ℝ
hq₀ :
S.DualSolution q₀
P_W :
sample :
IIDSample Ω S.𝒲 μ P_W
split :
h_hat :
ℕ → Ω → (S.𝒳 → ℝ)
q_hat :
ℕ → Ω → (S.𝒵 → ℝ)
_hyps :
TRAEDRRemainderHyps S hq₀ sample split h_hat q_hat
h_law_W :
μ.map S.W = P_W
σ_hat_n :
ℕ → Ω → ℝ
σ₀ :
ℝ
_hσ₀_pos :
0 < σ₀
_hσ_eq :
σ₀ ^ 2 = ∫ w, (ρ₀ S q₀ w) ^ 2 ∂P_W
_hσ_consistent :
Modes.TendstoInProbability (fun _ : ℕ => μ) σ_hat_n atTop (fun _ _ => σ₀)
h_ρ₀_meas :
Measurable (ρ₀ S q₀)
h_meas_θ :
∀ n,
AEMeasurable (IsAsymLinear.rescaledEstimator (trae_dr_estimator S sample split h_hat q_hat) S.θ₀ split.foldB n) μ
h_meas_sum :
∀ n, AEMeasurable (IsAsymLinear.normalizedSum sample (ρ₀ S q₀) split.foldB n) μ
h_studentized_meas :
∀ n,
AEMeasurable (fun ω => sqrt ((split.foldB n).card : ℝ) * (trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀) / σ_hat_n n ω) μ
Modes.TendstoInLaw (fun _ : ℕ => μ) (fun n ω => sqrt ((split.foldB n).card : ℝ) * (trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀) / σ_hat_n n ω) atTop (gaussianMeasure 0 1)
Proof (Lean source)
theorem trae_dr_studentized {Ω : Type*} [MeasurableSpace Ω] {μ : Measure Ω} [IsProbabilityMeasure μ] (S : InverseProblemSystem Ω μ) {q₀ : S.𝒵 → ℝ} (hq₀ : S.DualSolution q₀) {P_W : Measure S.𝒲} [IsProbabilityMeasure P_W] (sample : IIDSample Ω S.𝒲 μ P_W) (split : OneShotSplit sample) (h_hat : ℕ → Ω → (S.𝒳 → ℝ)) (q_hat : ℕ → Ω → (S.𝒵 → ℝ)) (_hyps : TRAEDRRemainderHyps S hq₀ sample split h_hat q_hat) (h_law_W : μ.map S.W = P_W) (σ_hat_n : ℕ → Ω → ℝ) (σ₀ : ℝ) (_hσ₀_pos : 0 < σ₀) (_hσ_eq : σ₀ ^ 2 = ∫ w, (ρ₀ S q₀ w) ^ 2 ∂P_W) (_hσ_consistent : Modes.TendstoInProbability (fun _ : ℕ => μ) σ_hat_n atTop (fun _ _ => σ₀)) (h_ρ₀_meas : Measurable (ρ₀ S q₀)) (h_meas_θ : ∀ n, AEMeasurable (IsAsymLinear.rescaledEstimator (trae_dr_estimator S sample split h_hat q_hat) S.θ₀ split.foldB n) μ) (h_meas_sum : ∀ n, AEMeasurable (IsAsymLinear.normalizedSum sample (ρ₀ S q₀) split.foldB n) μ) (h_studentized_meas : ∀ n, AEMeasurable (fun ω => sqrt ((split.foldB n).card : ℝ) * (trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀) / σ_hat_n n ω) μ) : Modes.TendstoInLaw (fun _ : ℕ => μ) (fun n ω => sqrt ((split.foldB n).card : ℝ) * (trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀) / σ_hat_n n ω) atTop (gaussianMeasure 0 1) := by let Xn : ℕ → Ω → ℝ := IsAsymLinear.rescaledEstimator (trae_dr_estimator S sample split h_hat q_hat) S.θ₀ split.foldB have hAN : Modes.TendstoInLaw (fun _ : ℕ => μ) Xn atTop (gaussianMeasure 0 (σ₀ ^ 2)) := by have h := trae_dr_asymp_normal S hq₀ sample split h_hat q_hat _hyps h_law_W h_ρ₀_meas h_meas_θ h_meas_sum simpa [Xn, _hσ_eq] using h -- The studentized statistic is `Xn / σ̂ₙ`; apply the generic studentized CLT -- (`Modes.TendstoInLaw.div_tendsto_inProb_gaussian` in `Causalean/Stat/Studentize.lean`). have hdiv : ∀ n, AEMeasurable (fun ω => Xn n ω / σ_hat_n n ω) μ := by intro n simpa [Xn, IsAsymLinear.rescaledEstimator] using h_studentized_meas n have hres := Modes.TendstoInLaw.div_tendsto_inProb_gaussian hAN _hσ₀_pos _hσ_consistent hdiv simpa [Xn, IsAsymLinear.rescaledEstimator] using hres
1 supporting declaration (lemmas, instances)
  • trae_dr_wald_coverage_of_event_bridge theorem — Wald-coverage transfer from a probability bridge. For an inverse-problem system, a dual solution q₀, an i.i.d. sample, a one-shot split, primal nuisance estimators, and dual nuisance estimators satisfying the TRAE-DR remainder conditions, assume the sample's W-marginal is P_W, a standard-deviation-estimator sequence, a limiting standard deviation, its strict positivity, the oracle variance identity, standard-deviation consistency in probability, and measurability of ρ₀, the rescaled estimator, its normalized-sum representation, and the studentized statistic. For a cutoff, if the Wald coverage probability and the studentized interval probability become asymptotically equal, then the Wald coverage probability converges to the standard-normal mass on [-z,z].
    Ω :
    q₀ :
    S.𝒵 → ℝ
    hq₀ :
    S.DualSolution q₀
    P_W :
    sample :
    IIDSample Ω S.𝒲 μ P_W
    split :
    h_hat :
    ℕ → Ω → (S.𝒳 → ℝ)
    q_hat :
    ℕ → Ω → (S.𝒵 → ℝ)
    _hyps :
    TRAEDRRemainderHyps S hq₀ sample split h_hat q_hat
    h_law_W :
    μ.map S.W = P_W
    σ_hat_n :
    ℕ → Ω → ℝ
    σ₀ :
    ℝ
    _hσ₀_pos :
    0 < σ₀
    _hσ_eq :
    σ₀ ^ 2 = ∫ w, (ρ₀ S q₀ w) ^ 2 ∂P_W
    _hσ_consistent :
    Modes.TendstoInProbability (fun _ : ℕ => μ) σ_hat_n atTop (fun _ _ => σ₀)
    h_ρ₀_meas :
    Measurable (ρ₀ S q₀)
    h_meas_θ :
    ∀ n,
    AEMeasurable (IsAsymLinear.rescaledEstimator (trae_dr_estimator S sample split h_hat q_hat) S.θ₀ split.foldB n) μ
    h_meas_sum :
    ∀ n, AEMeasurable (IsAsymLinear.normalizedSum sample (ρ₀ S q₀) split.foldB n) μ
    h_studentized_meas :
    ∀ n,
    AEMeasurable (fun ω => sqrt ((split.foldB n).card : ℝ) * (trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀) / σ_hat_n n ω) μ
    z :
    ℝ
    h_wald_studentized :
    Tendsto (fun n => (μ {ω | |trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀| ≤ z * σ_hat_n n ω / sqrt ((split.foldB n).card : ℝ)}).toReal - (μ {ω | sqrt ((split.foldB n).card : ℝ) * (trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀) / σ_hat_n n ω ∈ Icc (-z) z}).toReal) atTop (𝓝 0)
    Tendsto (fun n => (μ {ω | |trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀| ≤ z * σ_hat_n n ω / sqrt ((split.foldB n).card : ℝ)}).toReal) atTop (𝓝 ((gaussianMeasure 0 1) (Icc (-z) z)).toReal)
    Proof (Lean source)
    theorem trae_dr_wald_coverage_of_event_bridge {Ω : Type*} [MeasurableSpace Ω] {μ : Measure Ω} [IsProbabilityMeasure μ] (S : InverseProblemSystem Ω μ) {q₀ : S.𝒵 → ℝ} (hq₀ : S.DualSolution q₀) {P_W : Measure S.𝒲} [IsProbabilityMeasure P_W] (sample : IIDSample Ω S.𝒲 μ P_W) (split : OneShotSplit sample) (h_hat : ℕ → Ω → (S.𝒳 → ℝ)) (q_hat : ℕ → Ω → (S.𝒵 → ℝ)) (_hyps : TRAEDRRemainderHyps S hq₀ sample split h_hat q_hat) (h_law_W : μ.map S.W = P_W) (σ_hat_n : ℕ → Ω → ℝ) (σ₀ : ℝ) (_hσ₀_pos : 0 < σ₀) (_hσ_eq : σ₀ ^ 2 = ∫ w, (ρ₀ S q₀ w) ^ 2 ∂P_W) (_hσ_consistent : Modes.TendstoInProbability (fun _ : ℕ => μ) σ_hat_n atTop (fun _ _ => σ₀)) (h_ρ₀_meas : Measurable (ρ₀ S q₀)) (h_meas_θ : ∀ n, AEMeasurable (IsAsymLinear.rescaledEstimator (trae_dr_estimator S sample split h_hat q_hat) S.θ₀ split.foldB n) μ) (h_meas_sum : ∀ n, AEMeasurable (IsAsymLinear.normalizedSum sample (ρ₀ S q₀) split.foldB n) μ) (h_studentized_meas : ∀ n, AEMeasurable (fun ω => sqrt ((split.foldB n).card : ℝ) * (trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀) / σ_hat_n n ω) μ) (z : ℝ) (h_wald_studentized : Tendsto (fun n => (μ {ω | |trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀| ≤ z * σ_hat_n n ω / sqrt ((split.foldB n).card : ℝ)}).toReal - (μ {ω | sqrt ((split.foldB n).card : ℝ) * (trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀) / σ_hat_n n ω ∈ Icc (-z) z}).toReal) atTop (𝓝 0)) : Tendsto (fun n => (μ {ω | |trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀| ≤ z * σ_hat_n n ω / sqrt ((split.foldB n).card : ℝ)}).toReal) atTop (𝓝 ((gaussianMeasure 0 1) (Icc (-z) z)).toReal) := by let studentized : ℕ → Ω → ℝ := fun n ω => sqrt ((split.foldB n).card : ℝ) * (trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀) / σ_hat_n n ω let coverProb : ℕ → ℝ := fun n => (μ {ω | |trae_dr_estimator S sample split h_hat q_hat n ω - S.θ₀| ≤ z * σ_hat_n n ω / sqrt ((split.foldB n).card : ℝ)}).toReal let studProb : ℕ → ℝ := fun n => (μ {ω | studentized n ω ∈ Icc (-z) z}).toReal change Tendsto (fun n => coverProb n - studProb n) atTop (𝓝 0) at h_wald_studentized have hStud : Modes.TendstoInLaw (fun _ : ℕ => μ) studentized atTop (gaussianMeasure 0 1) := by simpa [studentized] using trae_dr_studentized S hq₀ sample split h_hat q_hat _hyps h_law_W σ_hat_n σ₀ _hσ₀_pos _hσ_eq _hσ_consistent h_ρ₀_meas h_meas_θ h_meas_sum h_studentized_meas have hfrontier : gaussianMeasure 0 1 (frontier (Icc (-z) z)) = 0 := by by_cases hz : 0 ≤ z · have hle : -z ≤ z := by linarith rw [frontier_Icc hle] rw [show ({-z, z} : Set ℝ) = {-z} ∪ {z} by ext x; simp [or_comm]] exact le_antisymm (by calc gaussianMeasure 0 1 (({-z} : Set ℝ) ∪ {z}) ≤ gaussianMeasure 0 1 ({-z} : Set ℝ) + gaussianMeasure 0 1 ({z} : Set ℝ) := measure_union_le _ _ _ = 0 := by simp [gaussianMeasure_zero_one_singleton]) zero_le · rw [Set.Icc_eq_empty (by linarith)] simp have hpm := Modes.TendstoInLaw.tendsto_measure_of_null_frontier hStud hfrontier have hstudent_event : Tendsto studProb atTop (nhds ((gaussianMeasure 0 1) (Icc (-z) z)).toReal) := by refine hpm.congr' ?_ filter_upwards with n rw [Measure.map_apply_of_aemeasurable (h_studentized_meas n) measurableSet_Icc] rfl have hsum := hstudent_event.add h_wald_studentized have hsum' : Tendsto (fun n => studProb n + (coverProb n - studProb n)) atTop (nhds ((gaussianMeasure 0 1) (Icc (-z) z)).toReal) := by simpa using hsum refine (hsum'.congr' ?_) filter_upwards with n simp [coverProb]
    Causalean.Estimation.NPIV.DR.trae_dr_wald_coverage_of_event_bridge · Causalean/Estimation/NPIV/DR/AsymptoticNormal.lean:175
Primal­Rate 1 core · 1 supporting The primal theorem is stated in the L²(sigma(X)) strong norm. ★ primal_l2_consistency_of_rate

Passing the primal NPIV rate to the doubly robust layer

The primal theorem is stated in the L²(sigma(X)) strong norm. This module proves its equivalence to an explicit eLpNorm convergence statement and derives that convergence from the primal rate theorem. The current doubly robust remainder bundle has no nuisance-consistency field.

theorem primal_l2_consistency_of_rate reviewed
Causalean.Estimation.NPIV.DR

The fitted primal nuisance converges to the truth in the ambient L² metric in probability when an NPIV operator system and its primal TRAE estimator sequence satisfy source smoothness and bias conditions, admissible regularization and localized regimes, valid confidence levels with critical-radius and peeling floors, vanishing confidence and localization sequences, and vanishing regularization and scaled variance.

Formal statement
Omega :
Type*
Measure Omega
P_W :
Measure S.𝒲
IIDSample Omega S.𝒲 mu P_W
split :
lambda_n :
ℕ → ℝ
beta :
ℝ
delta zeta :
ℕ → ℝ
h_hat :
ℕ → Omega → S.𝒳 → ℝ
is_estimator :
IsTRAEPrimalEstimatorSequence S TC sample split lambda_n h_hat
sc :
bias :
hbeta :
0 < beta
hlambda_pos :
∀ n, 0 < lambda_n n
hlambda_lt :
∀ n, lambda_n n < 2
regimes :
∀ n,
LocalizedRegimes S TC sample sc { uniform := bias, lambda_pos := hlambda_pos n } (split.n₁ n) (delta n)
hzeta_pos :
∀ n, 0 < zeta n
hzeta_lt :
∀ n, zeta n < 1
floors :
∀ n, PerSampleConfidenceFloor (regimes n) (zeta n)
peeling :
∀ n, PeelingFloor (regimes n) (zeta n / 4)
hzeta_zero :
Tendsto zeta atTop (nhds 0)
hdelta_zero :
Tendsto delta atTop (nhds 0)
hlambda_zero :
Tendsto lambda_n atTop (nhds 0)
hdelta_sq_div_lambda_zero :
Tendsto (fun n => (delta n) ^ 2 / lambda_n n) atTop (nhds 0)
Modes.TendstoInProbability (fun _ : ℕ => mu) (fun n omega => (eLpNorm (fun omega' => h_hat n omega (S.xOf (S.W omega')) - S.h₀ (S.xOf (S.W omega'))) 2 mu).toReal) atTop (fun _ _ => 0)
Proof (Lean source)
theorem primal_l2_consistency_of_rate {Omega : Type*} [MeasurableSpace Omega] {mu : Measure Omega} (S : OperatorSystem Omega mu) {TC : TRAEClasses S} {P_W : Measure S.𝒲} {sample : IIDSample Omega S.𝒲 mu P_W} {split : OneShotSplit sample} {lambda_n : ℕ → ℝ} {beta : ℝ} {delta zeta : ℕ → ℝ} {h_hat : ℕ → Omega → S.𝒳 → ℝ} (is_estimator : IsTRAEPrimalEstimatorSequence S TC sample split lambda_n h_hat) (sc : SourceCondition S beta) (bias : TikhonovBiasBound S beta sc) [IsProbabilityMeasure mu] (hbeta : 0 < beta) (hlambda_pos : ∀ n, 0 < lambda_n n) (hlambda_lt : ∀ n, lambda_n n < 2) (regimes : ∀ n, LocalizedRegimes S TC sample sc { uniform := bias, lambda_pos := hlambda_pos n } (split.n₁ n) (delta n)) (hzeta_pos : ∀ n, 0 < zeta n) (hzeta_lt : ∀ n, zeta n < 1) (floors : ∀ n, PerSampleConfidenceFloor (regimes n) (zeta n)) (peeling : ∀ n, PeelingFloor (regimes n) (zeta n / 4)) (hzeta_zero : Tendsto zeta atTop (nhds 0)) (hdelta_zero : Tendsto delta atTop (nhds 0)) (hlambda_zero : Tendsto lambda_n atTop (nhds 0)) (hdelta_sq_div_lambda_zero : Tendsto (fun n => (delta n) ^ 2 / lambda_n n) atTop (nhds 0)) : Modes.TendstoInProbability (fun _ : ℕ => mu) (fun n omega => (eLpNorm (fun omega' => h_hat n omega (S.xOf (S.W omega')) - S.h₀ (S.xOf (S.W omega'))) 2 mu).toReal) atTop (fun _ _ => 0) := by let hmem : ∀ n omega, h_hat n omega ∈ S.Hbar := fun n omega => TC.H_subset (is_estimator.mem_H n omega) have hrate := Primal.primal_strongNorm_tendstoInProb_of_rates is_estimator sc bias hbeta hlambda_pos hlambda_lt regimes hzeta_pos hzeta_lt floors peeling hzeta_zero hdelta_zero hlambda_zero hdelta_sq_div_lambda_zero exact (primal_l2_consistency_iff_strongNorm S h_hat hmem).mp <| by simpa [hmem] using hrate
1 supporting declaration (lemmas, instances)
  • primal_l2_consistency_iff_strongNorm theorem — Given an NPIV operator system, a sequence of primal nuisance estimators, and membership of every fitted nuisance in the primal candidate space, strong-norm convergence in probability is equivalent to convergence in the corresponding explicit ambient L² metric.
    Omega :
    Type*
    Measure Omega
    S :
    h_hat :
    ℕ → Omega → S.𝒳 → ℝ
    hmem :
    ∀ n omega, h_hat n omega ∈ S.Hbar
    Modes.TendstoInProbability (fun _ : ℕ => mu) (fun n omega => S.strongNorm (S.hL2 (hmem n omega) - S.hL2 S.h₀_mem)) atTop (fun _ _ => 0)
    ↔ Modes.TendstoInProbability (fun _ : ℕ => mu) (fun n omega => (eLpNorm (fun omega' => h_hat n omega (S.xOf (S.W omega')) - S.h₀ (S.xOf (S.W omega'))) 2 mu).toReal) atTop (fun _ _ => 0)
    Proof (Lean source)
    theorem primal_l2_consistency_iff_strongNorm {Omega : Type*} [MeasurableSpace Omega] {mu : Measure Omega} (S : OperatorSystem Omega mu) (h_hat : ℕ → Omega → S.𝒳 → ℝ) (hmem : ∀ n omega, h_hat n omega ∈ S.Hbar) : Modes.TendstoInProbability (fun _ : ℕ => mu) (fun n omega => S.strongNorm (S.hL2 (hmem n omega) - S.hL2 S.h₀_mem)) atTop (fun _ _ => 0) ↔ Modes.TendstoInProbability (fun _ : ℕ => mu) (fun n omega => (eLpNorm (fun omega' => h_hat n omega (S.xOf (S.W omega')) - S.h₀ (S.xOf (S.W omega'))) 2 mu).toReal) atTop (fun _ _ => 0) := by have hfun : (fun n omega => S.strongNorm (S.hL2 (hmem n omega) - S.hL2 S.h₀_mem)) = fun n omega => (eLpNorm (fun omega' => h_hat n omega (S.xOf (S.W omega')) - S.h₀ (S.xOf (S.W omega'))) 2 mu).toReal := by funext n omega exact S.strongNorm_hL2_sub_eq_eLpNorm_toReal (hmem n omega) S.h₀_mem rw [hfun]
    Causalean.Estimation.NPIV.DR.primal_l2_consistency_iff_strongNorm · Causalean/Estimation/NPIV/DR/PrimalRate.lean:28