Stat.Limit.Observation­Dependent­Van­Trees

Observation-dependent Bayesian Cramér–Rao bounds: guarded-score algebra, absolute-continuity integration by parts, product-measure identities, and weighted L² Cauchy–Schwarz for dominated likelihood models.

Basic 15 core · 16 supporting This module defines the restricted parameter measure, guarded prior, likelihood, and joint scores, and the weighted fields used by the product-measure proof. ★ priorInformation_smoothPrior

Basic fields for observation-dependent van Trees bounds

This module defines the restricted parameter measure, guarded prior, likelihood, and joint scores, and the weighted fields used by the product-measure proof. The guards make every definition meaningful where a density vanishes.

def parameterMeasure reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Given a lower endpoint and an upper endpoint, the parameter reference measure is Lebesgue measure restricted to the closed interval from the lower to the upper endpoint.

Definition (Lean source)
ell u :
parameterMeasure ell u :
volume.restrict (Icc ell u)
Causalean.Stat.Limit.ObservationDependentVanTrees.parameterMeasure · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:26
def jointDensity reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Given a prior density on the real parameter, a conditional observation density given that parameter, and a parameter--observation pair, the joint density is the product of the prior density and the conditional likelihood density at that pair.

Definition (Lean source)
X :
Type*
w :
ℝ → ℝ
p :
ℝ → X → ℝ
z :
ℝ × X
jointDensity w p z :
w z.1 * p z.1 z.2
Causalean.Stat.Limit.ObservationDependentVanTrees.jointDensity · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:31
def priorScore reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Given a prior density, its parameter derivative, and a parameter value, the guarded prior score is the derivative divided by the density when the density is positive, and is zero otherwise.

Definition (Lean source)
w dw :
ℝ → ℝ
θ :
priorScore w dw θ :
if 0 < w θ then dw θ / w θ else 0
Causalean.Stat.Limit.ObservationDependentVanTrees.priorScore · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:37
def likelihoodScore reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Given a conditional likelihood density, its parameter derivative, a parameter value, and an observation, the guarded likelihood score is the derivative divided by the likelihood when that likelihood is positive, and is zero otherwise.

Definition (Lean source)
X :
Type*
p dp :
ℝ → X → ℝ
θ :
x :
X
likelihoodScore p dp θ x :
if 0 < p θ x then dp θ x / p θ x else 0
Causalean.Stat.Limit.ObservationDependentVanTrees.likelihoodScore · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:43
def jointScore reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Given a prior density, its derivative, a conditional likelihood density, its derivative, and a parameter--observation pair, the guarded joint score is the derivative of the prior--likelihood product divided by that product when the product is positive, and is zero otherwise.

Definition (Lean source)
X :
Type*
w dw :
ℝ → ℝ
p dp :
ℝ → X → ℝ
z :
ℝ × X
jointScore w dw p dp z :
if 0 < jointDensity w p z then (dw z.1 * p z.1 z.2 + w z.1 * dp z.1 z.2) / jointDensity w p z else 0
Causalean.Stat.Limit.ObservationDependentVanTrees.jointScore · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:49
def priorInformation reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Given a lower endpoint, an upper endpoint, a prior density, and its derivative, the prior Fisher information is the integral over the closed parameter interval of the prior density times the squared guarded prior score.

Definition (Lean source)
ell u :
w dw :
ℝ → ℝ
priorInformation ell u w dw :
∫ θ, w θ * (priorScore w dw θ) ^ 2 ∂parameterMeasure ell u
Causalean.Stat.Limit.ObservationDependentVanTrees.priorInformation · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:59
def fisherInformation reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Given a measure on a measurable observation space, a conditional likelihood density, its parameter derivative, and a parameter value, the conditional Fisher information is the observation integral of the likelihood times the squared guarded likelihood score at that parameter.

Definition (Lean source)
X :
μ :
p dp :
ℝ → X → ℝ
θ :
fisherInformation μ p dp θ :
∫ x, p θ x * (likelihoodScore p dp θ x) ^ 2 ∂μ
Causalean.Stat.Limit.ObservationDependentVanTrees.fisherInformation · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:65
def errorScoreField reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Given a prior density, its derivative, a conditional likelihood density, its derivative, a target function, an estimator, and a parameter--observation pair, the signed error--joint-score field is estimator error times guarded joint score, weighted by joint density.

Definition (Lean source)
X :
Type*
w dw :
ℝ → ℝ
p dp g :
ℝ → X → ℝ
T :
X → ℝ
z :
ℝ × X
errorScoreField w dw p dp g T z :
(T z.2 - g z.1 z.2) * jointScore w dw p dp z * jointDensity w p z
Causalean.Stat.Limit.ObservationDependentVanTrees.errorScoreField · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:72
def sensitivityField reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Given a prior density, a conditional likelihood density, the parameter derivative of a target function, and a parameter--observation pair, the target-sensitivity field is that derivative weighted by the joint density.

Definition (Lean source)
X :
Type*
w :
ℝ → ℝ
p dg :
ℝ → X → ℝ
z :
ℝ × X
sensitivityField w p dg z :
dg z.1 z.2 * jointDensity w p z
Causalean.Stat.Limit.ObservationDependentVanTrees.sensitivityField · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:80
def derivativeBalanceField reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Given a prior density, its derivative, a conditional likelihood density, its derivative, a target function, its parameter derivative, an estimator, and a parameter--observation pair, the derivative-balance field is the parameter derivative of the joint-density-weighted estimation error.

Definition (Lean source)
X :
Type*
w dw :
ℝ → ℝ
p dp g dg :
ℝ → X → ℝ
T :
X → ℝ
z :
ℝ × X
derivativeBalanceField w dw p dp g dg T z :
(dw z.1 * p z.1 z.2 + w z.1 * dp z.1 z.2) * (T z.2 - g z.1 z.2)
- jointDensity w p z * dg z.1 z.2
Causalean.Stat.Limit.ObservationDependentVanTrees.derivativeBalanceField · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:87
def errorSqField reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Given a prior density, a conditional likelihood density, a target function, an estimator, and a parameter--observation pair, the squared-error field is the squared estimator error weighted by the joint density.

Definition (Lean source)
X :
Type*
w :
ℝ → ℝ
p g :
ℝ → X → ℝ
T :
X → ℝ
z :
ℝ × X
errorSqField w p g T z :
(T z.2 - g z.1 z.2) ^ 2 * jointDensity w p z
Causalean.Stat.Limit.ObservationDependentVanTrees.errorSqField · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:96
def scoreSqField reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Given a prior density, its derivative, a conditional likelihood density, its derivative, and a parameter--observation pair, the squared-score field is the squared guarded joint score weighted by the joint density.

Definition (Lean source)
X :
Type*
w dw :
ℝ → ℝ
p dp :
ℝ → X → ℝ
z :
ℝ × X
scoreSqField w dw p dp z :
(jointScore w dw p dp z) ^ 2 * jointDensity w p z
Causalean.Stat.Limit.ObservationDependentVanTrees.scoreSqField · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:103
def smoothPrior reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Given a center, a radius, and a parameter value, the smooth quartic prior is (15/(16a))[1((θc)/a)2]2(15/(16a))\,[1-((θ-c)/a)^2]^2 when θc<a|θ-c|<a, and is zero otherwise.

Definition (Lean source)
c a θ :
smoothPrior c a θ :
if |θ - c| < a then (15 / (16 * a)) * (1 - ((θ - c) / a) ^ 2) ^ 2 else 0
Causalean.Stat.Limit.ObservationDependentVanTrees.smoothPrior · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:124
def smoothPriorDeriv reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Given a center, a radius, and a parameter value, the smooth quartic prior derivative is (15/(4a3))(θc)[1((θc)/a)2]-(15/(4a^3))(θ-c)[1-((θ-c)/a)^2] when θc<a|θ-c|<a, and is zero otherwise.

Definition (Lean source)
c a θ :
smoothPriorDeriv c a θ :
if |θ - c| < a then -(15 / (4 * a ^ 3)) * (θ - c) * (1 - ((θ - c) / a) ^ 2) else 0
Causalean.Stat.Limit.ObservationDependentVanTrees.smoothPriorDeriv · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:131
theorem priorInformation_smoothPrior reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

If the bandwidth is positive and the prior's left and right support endpoints lie in an ambient interval, then the prior Fisher information equals ten divided by the squared bandwidth.

Formal statement
ell u c a :
ha :
0 < a
hleft :
ell ≤ c - a
hright :
c + a ≤ u
priorInformation ell u (smoothPrior c a) (smoothPriorDeriv c a) = 10 / a ^ 2
Proof (Lean source)
theorem priorInformation_smoothPrior {ell u c a : ℝ} (ha : 0 < a) (hleft : ell ≤ c - a) (hright : c + a ≤ u) : priorInformation ell u (smoothPrior c a) (smoothPriorDeriv c a) = 10 / a ^ 2 := by unfold priorInformation rw [smoothPrior_scoreSq_eq_indicator ha] unfold parameterMeasure rw [← integral_indicator measurableSet_Icc] have hfun : (Icc ell u).indicator ((Ioo (c - a) (c + a)).indicator (fun θ => (15 / a ^ 5) * (θ - c) ^ 2)) = (Ioo (c - a) (c + a)).indicator (fun θ => (15 / a ^ 5) * (θ - c) ^ 2) := by funext θ by_cases hθ : θ ∈ Ioo (c - a) (c + a) · have hambient : θ ∈ Icc ell u := ⟨hleft.trans hθ.1.le, hθ.2.le.trans hright⟩ simp [hθ, hambient] · simp [hθ] rw [hfun, integral_indicator measurableSet_Ioo] rw [← integral_Ioc_eq_integral_Ioo] rw [← intervalIntegral.integral_of_le (by linarith : c - a ≤ c + a)] let f : ℝ → ℝ := fun x => (15 / a ^ 3) * x ^ 2 have hf : (∫ x : ℝ in (-1)..1, f x) = 10 / a ^ 3 := by dsimp [f] rw [intervalIntegral.integral_const_mul, integral_pow] norm_num field_simp [ha.ne'] norm_num have hcomp := intervalIntegral.integral_comp_div_sub (a := c - a) (b := c + a) f ha.ne' (c / a) have heq : (∫ θ in c - a..c + a, (15 / a ^ 5) * (θ - c) ^ 2) = a * (∫ x in (-1)..1, f x) := by rw [show (fun θ : ℝ => (15 / a ^ 5) * (θ - c) ^ 2) = fun θ => f (θ / a - c / a) by funext θ dsimp [f] field_simp [ha.ne']] rw [hcomp] congr 2 <;> field_simp [ha.ne'] <;> ring rw [heq, hf] field_simp [ha.ne']
Causalean.Stat.Limit.ObservationDependentVanTrees.priorInformation_smoothPrior · Causalean/Stat/Limit/ObservationDependentVanTrees/Basic.lean:508 · uses priorInformation , smoothPrior , smoothPriorDeriv
16 supporting declarations (lemmas, instances)
Guarded­Information 2 core · 12 supporting This module proves the density-zero algebra for guarded scores, derives score centering from likelihood normalization and differentiation under the integral, and decomposes the joint score information into prior and Fish ★ joint_score_information_decomposition★ average_fisherInformation_le

Guarded scores, centering, and information decomposition

This module proves the density-zero algebra for guarded scores, derives score centering from likelihood normalization and differentiation under the integral, and decomposes the joint score information into prior and Fisher terms.

theorem joint_score_information_decomposition reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

For nonnegative prior and likelihood densities with zero-set derivative control, likelihood normalization, centered conditional scores, and the stated measurable integrability of all square and cross fields, joint-score information equals prior information plus average conditional Fisher information.

Formal statement
X :
a b :
w dw :
ℝ → ℝ
p dp :
ℝ → X → ℝ
hw :
∀ θ, 0 ≤ w θ
hp :
∀ θ x, 0 ≤ p θ x
hwzero :
∀ᵐ θ ∂parameterMeasure a b, w θ = 0 → dw θ = 0
hpzero :
∀ᵐ z ∂((parameterMeasure a b).prod μ), p z.1 z.2 = 0 → dp z.1 z.2 = 0
hnorm :
∀ᵐ θ ∂parameterMeasure a b, ∫ x, p θ x ∂μ = 1
hcenter :
∀ᵐ θ ∂parameterMeasure a b, ∫ x, likelihoodScore p dp θ x * p θ x ∂μ = 0
hscoreSm :
hscoreInt :
hpriorSm :
AEStronglyMeasurable (fun θ => w θ * (priorScore w dw θ) ^ 2) (parameterMeasure a b)
hpriorInt :
Integrable (fun θ => w θ * (priorScore w dw θ) ^ 2) (parameterMeasure a b)
hpriorJointSm :
AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1) ^ 2) ((parameterMeasure a b).prod μ)
hpriorJointInt :
Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1) ^ 2) ((parameterMeasure a b).prod μ)
hfisherSm :
AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (likelihoodScore p dp z.1 z.2) ^ 2) ((parameterMeasure a b).prod μ)
hfisherInt :
Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (likelihoodScore p dp z.1 z.2) ^ 2) ((parameterMeasure a b).prod μ)
hcrossSm :
AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1 * likelihoodScore p dp z.1 z.2)) ((parameterMeasure a b).prod μ)
hcrossInt :
Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1 * likelihoodScore p dp z.1 z.2)) ((parameterMeasure a b).prod μ)
∫ z, scoreSqField w dw p dp z ∂((parameterMeasure a b).prod μ)
= priorInformation a b w dw + ∫ θ, w θ * fisherInformation μ p dp θ ∂parameterMeasure a b
Proof (Lean source)
theorem joint_score_information_decomposition {X : Type*} [MeasurableSpace X] {μ : Measure X} [SigmaFinite μ] {a b : ℝ} {w dw : ℝ → ℝ} {p dp : ℝ → X → ℝ} (hw : ∀ θ, 0 ≤ w θ) (hp : ∀ θ x, 0 ≤ p θ x) (hwzero : ∀ᵐ θ ∂parameterMeasure a b, w θ = 0 → dw θ = 0) (hpzero : ∀ᵐ z ∂((parameterMeasure a b).prod μ), p z.1 z.2 = 0 → dp z.1 z.2 = 0) (hnorm : ∀ᵐ θ ∂parameterMeasure a b, ∫ x, p θ x ∂μ = 1) (hcenter : ∀ᵐ θ ∂parameterMeasure a b, ∫ x, likelihoodScore p dp θ x * p θ x ∂μ = 0) (hscoreSm : AEStronglyMeasurable (scoreSqField w dw p dp) ((parameterMeasure a b).prod μ)) (hscoreInt : Integrable (scoreSqField w dw p dp) ((parameterMeasure a b).prod μ)) (hpriorSm : AEStronglyMeasurable (fun θ => w θ * (priorScore w dw θ) ^ 2) (parameterMeasure a b)) (hpriorInt : Integrable (fun θ => w θ * (priorScore w dw θ) ^ 2) (parameterMeasure a b)) (hpriorJointSm : AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1) ^ 2) ((parameterMeasure a b).prod μ)) (hpriorJointInt : Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1) ^ 2) ((parameterMeasure a b).prod μ)) (hfisherSm : AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (likelihoodScore p dp z.1 z.2) ^ 2) ((parameterMeasure a b).prod μ)) (hfisherInt : Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (likelihoodScore p dp z.1 z.2) ^ 2) ((parameterMeasure a b).prod μ)) (hcrossSm : AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1 * likelihoodScore p dp z.1 z.2)) ((parameterMeasure a b).prod μ)) (hcrossInt : Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1 * likelihoodScore p dp z.1 z.2)) ((parameterMeasure a b).prod μ)) : ∫ z, scoreSqField w dw p dp z ∂((parameterMeasure a b).prod μ) = priorInformation a b w dw + ∫ θ, w θ * fisherInformation μ p dp θ ∂parameterMeasure a b := by letI : IsFiniteMeasure (parameterMeasure a b) := by unfold parameterMeasure infer_instance have hscore_expand (θ : ℝ) (x : X) : scoreSqField w dw p dp (θ, x) = w θ * p θ x * (priorScore w dw θ) ^ 2 + (w θ * p θ x * (likelihoodScore p dp θ x) ^ 2 + 2 * (w θ * p θ x * (priorScore w dw θ * likelihoodScore p dp θ x))) := by by_cases hwpos : 0 < w θ · by_cases hppos : 0 < p θ x · simp only [scoreSqField, jointScore, jointDensity, priorScore, likelihoodScore, hwpos, hppos, mul_pos, if_true] field_simp ring · have hpz : p θ x = 0 := le_antisymm (le_of_not_gt hppos) (hp θ x) simp [scoreSqField, jointScore, jointDensity, hpz] · have hwz : w θ = 0 := le_antisymm (le_of_not_gt hwpos) (hw θ) simp [scoreSqField, jointScore, jointDensity, hwz] have hsplit : (∫ z, scoreSqField w dw p dp z ∂((parameterMeasure a b).prod μ)) = (∫ z : ℝ × X, w z.1 * p z.1 z.2 * (priorScore w dw z.1) ^ 2 ∂((parameterMeasure a b).prod μ)) + (∫ z : ℝ × X, w z.1 * p z.1 z.2 * (likelihoodScore p dp z.1 z.2) ^ 2 ∂((parameterMeasure a b).prod μ)) + 2 * (∫ z : ℝ × X, w z.1 * p z.1 z.2 * (priorScore w dw z.1 * likelihoodScore p dp z.1 z.2) ∂((parameterMeasure a b).prod μ)) := by calc _ = ∫ z : ℝ × X, (w z.1 * p z.1 z.2 * (priorScore w dw z.1) ^ 2) + ((w z.1 * p z.1 z.2 * (likelihoodScore p dp z.1 z.2) ^ 2) + 2 * (w z.1 * p z.1 z.2 * (priorScore w dw z.1 * likelihoodScore p dp z.1 z.2))) ∂((parameterMeasure a b).prod μ) := by apply integral_congr_ae filter_upwards with z exact hscore_expand z.1 z.2 _ = (∫ z : ℝ × X, w z.1 * p z.1 z.2 * (priorScore w dw z.1) ^ 2 ∂((parameterMeasure a b).prod μ)) + ∫ z : ℝ × X, (w z.1 * p z.1 z.2 * (likelihoodScore p dp z.1 z.2) ^ 2) + 2 * (w z.1 * p z.1 z.2 * (priorScore w dw z.1 * likelihoodScore p dp z.1 z.2)) ∂((parameterMeasure a b).prod μ) := integral_add hpriorJointInt (hfisherInt.add (hcrossInt.const_mul 2)) _ = _ := by rw [integral_add hfisherInt (hcrossInt.const_mul 2), integral_const_mul] ring have hprior_eval : (∫ z : ℝ × X, w z.1 * p z.1 z.2 * (priorScore w dw z.1) ^ 2 ∂((parameterMeasure a b).prod μ)) = priorInformation a b w dw := by rw [integral_prod _ hpriorJointInt] unfold priorInformation apply integral_congr_ae filter_upwards [hnorm] with θ hnormθ calc (∫ x, w θ * p θ x * (priorScore w dw θ) ^ 2 ∂μ) = ∫ x, (w θ * (priorScore w dw θ) ^ 2) * p θ x ∂μ := by apply integral_congr_ae filter_upwards with x ring _ = (w θ * (priorScore w dw θ) ^ 2) * ∫ x, p θ x ∂μ := integral_const_mul (w θ * (priorScore w dw θ) ^ 2) (fun x => p θ x) _ = w θ * (priorScore w dw θ) ^ 2 := by rw [hnormθ]; ring have hfisher_eval : (∫ z : ℝ × X, w z.1 * p z.1 z.2 * (likelihoodScore p dp z.1 z.2) ^ 2 ∂((parameterMeasure a b).prod μ)) = ∫ θ, w θ * fisherInformation μ p dp θ ∂parameterMeasure a b := by rw [integral_prod _ hfisherInt] apply integral_congr_ae filter_upwards with θ unfold fisherInformation calc (∫ x, w θ * p θ x * (likelihoodScore p dp θ x) ^ 2 ∂μ) = ∫ x, w θ * (p θ x * (likelihoodScore p dp θ x) ^ 2) ∂μ := by apply integral_congr_ae filter_upwards with x ring _ = w θ * ∫ x, p θ x * (likelihoodScore p dp θ x) ^ 2 ∂μ := integral_const_mul (w θ) (fun x => p θ x * (likelihoodScore p dp θ x) ^ 2) have hcross_eval : (∫ z : ℝ × X, w z.1 * p z.1 z.2 * (priorScore w dw z.1 * likelihoodScore p dp z.1 z.2) ∂((parameterMeasure a b).prod μ)) = 0 := by rw [integral_prod _ hcrossInt] have hinner : ∀ᵐ θ ∂parameterMeasure a b, (∫ x, w θ * p θ x * (priorScore w dw θ * likelihoodScore p dp θ x) ∂μ) = 0 := by filter_upwards [hcenter] with θ hcenterθ calc (∫ x, w θ * p θ x * (priorScore w dw θ * likelihoodScore p dp θ x) ∂μ) = ∫ x, (w θ * priorScore w dw θ) * (likelihoodScore p dp θ x * p θ x) ∂μ := by apply integral_congr_ae filter_upwards with x ring _ = (w θ * priorScore w dw θ) * ∫ x, likelihoodScore p dp θ x * p θ x ∂μ := integral_const_mul (w θ * priorScore w dw θ) (fun x => likelihoodScore p dp θ x * p θ x) _ = 0 := by rw [hcenterθ, mul_zero] calc (∫ θ, ∫ x, w θ * p θ x * (priorScore w dw θ * likelihoodScore p dp θ x) ∂μ ∂parameterMeasure a b) = ∫ _θ : ℝ, 0 ∂parameterMeasure a b := integral_congr_ae hinner _ = 0 := by simp rw [hsplit, hprior_eval, hfisher_eval, hcross_eval] ring
theorem average_fisherInformation_le reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

If the prior is nonnegative, normalized, and integrable, prior-weighted Fisher information is integrable, and conditional Fisher information is pointwise bounded wherever the prior is positive, then average Fisher information is bounded by the same constant.

Formal statement
X :
ell u I :
w :
ℝ → ℝ
p dp :
ℝ → X → ℝ
hw_nonneg :
∀ θ, 0 ≤ w θ
hw_norm :
∫ θ, w θ ∂parameterMeasure ell u = 1
hw_int :
hweighted_int :
Integrable (fun θ => w θ * fisherInformation μ p dp θ) (parameterMeasure ell u)
hpointwise :
∀ θ
if
0 < w θ
then
fisherInformation μ p dp θ ≤ I
∫ θ, w θ * fisherInformation μ p dp θ ∂parameterMeasure ell u ≤ I
Proof (Lean source)
theorem average_fisherInformation_le {X : Type*} [MeasurableSpace X] {μ : Measure X} {ell u I : ℝ} {w : ℝ → ℝ} {p dp : ℝ → X → ℝ} (hw_nonneg : ∀ θ, 0 ≤ w θ) (hw_norm : ∫ θ, w θ ∂parameterMeasure ell u = 1) (hw_int : Integrable w (parameterMeasure ell u)) (hweighted_int : Integrable (fun θ => w θ * fisherInformation μ p dp θ) (parameterMeasure ell u)) (hpointwise : ∀ θ, 0 < w θ → fisherInformation μ p dp θ ≤ I) : ∫ θ, w θ * fisherInformation μ p dp θ ∂parameterMeasure ell u ≤ I := by calc ∫ θ, w θ * fisherInformation μ p dp θ ∂parameterMeasure ell u ≤ ∫ θ, w θ * I ∂parameterMeasure ell u := by apply integral_mono hweighted_int (hw_int.mul_const I) intro θ by_cases hwpos : 0 < w θ · exact mul_le_mul_of_nonneg_left (hpointwise θ hwpos) (hw_nonneg θ) · have hwzero : w θ = 0 := le_antisymm (le_of_not_gt hwpos) (hw_nonneg θ) simp [hwzero] _ = (∫ θ, w θ ∂parameterMeasure ell u) * I := integral_mul_const I w _ = I := by rw [hw_norm, one_mul]
Causalean.Stat.Limit.ObservationDependentVanTrees.average_fisherInformation_le · Causalean/Stat/Limit/ObservationDependentVanTrees/GuardedInformation.lean:335 · uses fisherInformation , parameterMeasure
12 supporting declarations (lemmas, instances)
  • derivative_eq_zero_of_nonnegative_of_eq_zero theorem — A differentiable nonnegative function has zero derivative at any point where it attains value zero, so the supplied derivative is zero.
    f :
    ℝ → ℝ
    df θ :
    hnonneg :
    ∀ t, 0 ≤ f t
    hderiv :
    HasDerivAt f df θ
    hzero :
    f θ = 0
    df = 0
    Proof (Lean source)
    theorem derivative_eq_zero_of_nonnegative_of_eq_zero {f : ℝ → ℝ} {df θ : ℝ} (hnonneg : ∀ t, 0 ≤ f t) (hderiv : HasDerivAt f df θ) (hzero : f θ = 0) : df = 0 := by have hmin : IsLocalMin f θ := by filter_upwards with t rw [hzero] exact hnonneg t exact IsLocalMin.hasDerivAt_eq_zero hmin hderiv
    Causalean.Stat.Limit.ObservationDependentVanTrees.derivative_eq_zero_of_nonnegative_of_eq_zero · Causalean/Stat/Limit/ObservationDependentVanTrees/GuardedInformation.lean:24
  • guarded_score_mul_density theorem — A nonnegative density with a derivative numerator that vanishes whenever the density vanishes has its guarded score times its density equal to that derivative numerator.
    q dq :
    hq :
    0 ≤ q
    hzero :
    q = 0 → dq = 0
    (if 0 < q then dq / q else 0) * q = dq
    Proof (Lean source)
    theorem guarded_score_mul_density {q dq : ℝ} (hq : 0 ≤ q) (hzero : q = 0 → dq = 0) : (if 0 < q then dq / q else 0) * q = dq := by by_cases hqpos : 0 < q · simp [hqpos, ne_of_gt hqpos] · have hqzero : q = 0 := le_antisymm (le_of_not_gt hqpos) hq simp [hqzero, hzero hqzero]
    Causalean.Stat.Limit.ObservationDependentVanTrees.guarded_score_mul_density · Causalean/Stat/Limit/ObservationDependentVanTrees/GuardedInformation.lean:34
  • jointScore_eq_add theorem — At a point where both the prior and likelihood densities are positive, the guarded joint score equals the sum of their guarded scores.
    X :
    Type*
    w dw :
    ℝ → ℝ
    p dp :
    ℝ → X → ℝ
    θ :
    x :
    X
    hw :
    0 < w θ
    hp :
    0 < p θ x
    jointScore w dw p dp (θ, x) = priorScore w dw θ + likelihoodScore p dp θ x
    Proof (Lean source)
    theorem jointScore_eq_add {X : Type*} {w dw : ℝ → ℝ} {p dp : ℝ → X → ℝ} {θ : ℝ} {x : X} (hw : 0 < w θ) (hp : 0 < p θ x) : jointScore w dw p dp (θ, x) = priorScore w dw θ + likelihoodScore p dp θ x := by simp only [jointScore, jointDensity, priorScore, likelihoodScore, hw, hp, mul_pos hw hp, if_true] field_simp
    Causalean.Stat.Limit.ObservationDependentVanTrees.jointScore_eq_add · Causalean/Stat/Limit/ObservationDependentVanTrees/GuardedInformation.lean:43
  • jointScore_mul_jointDensity theorem — For nonnegative prior and likelihood densities whose derivative numerators vanish on their respective zero-density sets, joint density times guarded joint score equals the product-rule derivative numerator.
    X :
    Type*
    w dw :
    ℝ → ℝ
    p dp :
    ℝ → X → ℝ
    θ :
    x :
    X
    hw :
    0 ≤ w θ
    hp :
    0 ≤ p θ x
    hwzero :
    w θ = 0 → dw θ = 0
    hpzero :
    p θ x = 0 → dp θ x = 0
    jointScore w dw p dp (θ, x) * jointDensity w p (θ, x) = dw θ * p θ x + w θ * dp θ x
    Proof (Lean source)
    theorem jointScore_mul_jointDensity {X : Type*} {w dw : ℝ → ℝ} {p dp : ℝ → X → ℝ} {θ : ℝ} {x : X} (hw : 0 ≤ w θ) (hp : 0 ≤ p θ x) (hwzero : w θ = 0 → dw θ = 0) (hpzero : p θ x = 0 → dp θ x = 0) : jointScore w dw p dp (θ, x) * jointDensity w p (θ, x) = dw θ * p θ x + w θ * dp θ x := by apply guarded_score_mul_density (mul_nonneg hw hp) intro hzero rcases mul_eq_zero.mp hzero with hwz | hpz · rw [hwzero hwz, hwz] ring · rw [hpzero hpz, hpz] ring
    Causalean.Stat.Limit.ObservationDependentVanTrees.jointScore_mul_jointDensity · Causalean/Stat/Limit/ObservationDependentVanTrees/GuardedInformation.lean:51
  • errorScoreField_eq_numerator theorem — For nonnegative prior and likelihood densities whose derivative numerators vanish wherever the corresponding density is zero, the weighted error--score field equals estimation error times the unguarded product-rule numerator.
    X :
    Type*
    w dw :
    ℝ → ℝ
    p dp g :
    ℝ → X → ℝ
    T :
    X → ℝ
    θ :
    x :
    X
    hw :
    0 ≤ w θ
    hp :
    0 ≤ p θ x
    hwzero :
    w θ = 0 → dw θ = 0
    hpzero :
    p θ x = 0 → dp θ x = 0
    errorScoreField w dw p dp g T (θ, x) = (T x - g θ x) * (dw θ * p θ x + w θ * dp θ x)
    Proof (Lean source)
    theorem errorScoreField_eq_numerator {X : Type*} {w dw : ℝ → ℝ} {p dp g : ℝ → X → ℝ} {T : X → ℝ} {θ : ℝ} {x : X} (hw : 0 ≤ w θ) (hp : 0 ≤ p θ x) (hwzero : w θ = 0 → dw θ = 0) (hpzero : p θ x = 0 → dp θ x = 0) : errorScoreField w dw p dp g T (θ, x) = (T x - g θ x) * (dw θ * p θ x + w θ * dp θ x) := by have hjoint := jointScore_mul_jointDensity (w := w) (dw := dw) (p := p) (dp := dp) (θ := θ) (x := x) hw hp hwzero hpzero rw [errorScoreField, mul_assoc, hjoint]
    Causalean.Stat.Limit.ObservationDependentVanTrees.errorScoreField_eq_numerator · Causalean/Stat/Limit/ObservationDependentVanTrees/GuardedInformation.lean:66
  • likelihoodScore_integral_eq_zero_of_normalization theorem — At an interior parameter value, a normalized likelihood whose integral may be differentiated using the supplied derivative, with nonnegative density, zero-set derivative control, and both fields integrable has conditional mean-zero guarded likelihood score.
    X :
    a b θ :
    p dp :
    ℝ → X → ℝ
    :
    θ ∈ Ioo a b
    hnorm :
    ∀ t ∈ Icc a b, ∫ x, p t x ∂μ = 1
    hdiff :
    HasDerivAt (fun t => ∫ x, p t x ∂μ) (∫ x, dp θ x ∂μ) θ
    hp :
    ∀ x, 0 ≤ p θ x
    hpzero :
    ∀ᵐ x ∂μ, p θ x = 0 → dp θ x = 0
    hpint :
    Integrable (fun x => p θ x) μ
    hdpint :
    Integrable (fun x => dp θ x) μ
    ∫ x, likelihoodScore p dp θ x * p θ x ∂μ = 0
    Proof (Lean source)
    theorem likelihoodScore_integral_eq_zero_of_normalization {X : Type*} [MeasurableSpace X] {μ : Measure X} {a b θ : ℝ} {p dp : ℝ → X → ℝ} (hθ : θ ∈ Ioo a b) (hnorm : ∀ t ∈ Icc a b, ∫ x, p t x ∂μ = 1) (hdiff : HasDerivAt (fun t => ∫ x, p t x ∂μ) (∫ x, dp θ x ∂μ) θ) (hp : ∀ x, 0 ≤ p θ x) (hpzero : ∀ᵐ x ∂μ, p θ x = 0 → dp θ x = 0) (hpint : Integrable (fun x => p θ x) μ) (hdpint : Integrable (fun x => dp θ x) μ) : ∫ x, likelihoodScore p dp θ x * p θ x ∂μ = 0 := by have hnorm_nhds : (fun t => ∫ x, p t x ∂μ) =ᶠ[nhds θ] fun _ => 1 := by filter_upwards [Ioo_mem_nhds hθ.1 hθ.2] with t ht exact hnorm t ⟨ht.1.le, ht.2.le⟩ have hderiv_zero : (∫ x, dp θ x ∂μ) = 0 := by apply hdiff.unique exact (hasDerivAt_const θ 1).congr_of_eventuallyEq hnorm_nhds have hscore_mul : (fun x => likelihoodScore p dp θ x * p θ x) =ᵐ[μ] fun x => dp θ x := by filter_upwards [hpzero] with x hx exact guarded_score_mul_density (hp x) hx rw [integral_congr_ae hscore_mul, hderiv_zero]
    Causalean.Stat.Limit.ObservationDependentVanTrees.likelihoodScore_integral_eq_zero_of_normalization · Causalean/Stat/Limit/ObservationDependentVanTrees/GuardedInformation.lean:77
  • finite_likelihood_normalization theorem — If the masses of a finite likelihood sum to one, then its integral against counting measure is one.
    X :
    θ :
    hnorm :
    ∑ x, p θ x = 1
    ∫ x, p θ x ∂Measure.count = 1
    Proof (Lean source)
    theorem finite_likelihood_normalization {X : Type*} [Fintype X] [MeasurableSpace X] [MeasurableSingletonClass X] {p : ℝ → X → ℝ} {θ : ℝ} (hnorm : ∑ x, p θ x = 1) : ∫ x, p θ x ∂Measure.count = 1 := by rw [integral_count, hnorm]
    Causalean.Stat.Limit.ObservationDependentVanTrees.finite_likelihood_normalization · Causalean/Stat/Limit/ObservationDependentVanTrees/GuardedInformation.lean:275
  • hasDerivAt_finite_likelihood_sum theorem — If each cell probability has the supplied parameter derivative, then the derivative of their finite sum is the sum of those derivatives.
    X :
    Type*
    ℝ → X → ℝ
    θ :
    hderiv :
    ∀ x, HasDerivAt (fun t => p t x) (dp θ x) θ
    HasDerivAt (fun t => ∑ x, p t x) (∑ x, dp θ x) θ
    Proof (Lean source)
    theorem hasDerivAt_finite_likelihood_sum {X : Type*} [Fintype X] {p dp : ℝ → X → ℝ} {θ : ℝ} (hderiv : ∀ x, HasDerivAt (fun t => p t x) (dp θ x) θ) : HasDerivAt (fun t => ∑ x, p t x) (∑ x, dp θ x) θ := by have hsum : HasDerivAt (∑ x : X, fun t => p t x) (∑ x, dp θ x) θ := HasDerivAt.sum (u := univ) (fun x _ => hderiv x) have heq : (fun t => ∑ x, p t x) = (∑ x : X, fun t => p t x) := by funext t rw [Finset.sum_apply] rw [heq] exact hsum
    Causalean.Stat.Limit.ObservationDependentVanTrees.hasDerivAt_finite_likelihood_sum · Causalean/Stat/Limit/ObservationDependentVanTrees/GuardedInformation.lean:283
  • finite_derivative_centering theorem — If each cell probability has the supplied derivative and the finite likelihood is locally normalized, then the derivative masses sum to zero.
    X :
    Type*
    ℝ → X → ℝ
    θ :
    hderiv :
    ∀ x, HasDerivAt (fun t => p t x) (dp θ x) θ
    hnorm :
    ∀ᶠ t in nhds θ, ∑ x, p t x = 1
    ∑ x, dp θ x = 0
    Proof (Lean source)
    theorem finite_derivative_centering {X : Type*} [Fintype X] {p dp : ℝ → X → ℝ} {θ : ℝ} (hderiv : ∀ x, HasDerivAt (fun t => p t x) (dp θ x) θ) (hnorm : ∀ᶠ t in nhds θ, ∑ x, p t x = 1) : ∑ x, dp θ x = 0 := by have hsum := hasDerivAt_finite_likelihood_sum hderiv apply hsum.unique exact (hasDerivAt_const θ 1).congr_of_eventuallyEq hnorm
    Causalean.Stat.Limit.ObservationDependentVanTrees.finite_derivative_centering · Causalean/Stat/Limit/ObservationDependentVanTrees/GuardedInformation.lean:297
  • finite_likelihoodScore_mul theorem — If finite likelihood masses are nonnegative and their derivatives vanish on zero-mass cells, then likelihood mass times guarded score equals the cell derivative.
    X :
    Type*
    ℝ → X → ℝ
    θ :
    hp :
    ∀ x, 0 ≤ p θ x
    hzero :
    ∀ x
    if
    p θ x = 0
    then
    dp θ x = 0
    x :
    X
    likelihoodScore p dp θ x * p θ x = dp θ x
    Proof (Lean source)
    theorem finite_likelihoodScore_mul {X : Type*} {p dp : ℝ → X → ℝ} {θ : ℝ} (hp : ∀ x, 0 ≤ p θ x) (hzero : ∀ x, p θ x = 0 → dp θ x = 0) (x : X) : likelihoodScore p dp θ x * p θ x = dp θ x := by exact guarded_score_mul_density (hp x) (hzero x)
    Causalean.Stat.Limit.ObservationDependentVanTrees.finite_likelihoodScore_mul · Causalean/Stat/Limit/ObservationDependentVanTrees/GuardedInformation.lean:309
  • finite_likelihoodScore_centered theorem — If finite likelihood masses are nonnegative, derivatives vanish on zero-mass cells, and the derivative masses are centered, then the likelihood-weighted guarded scores sum to zero.
    X :
    Type*
    ℝ → X → ℝ
    θ :
    hp :
    ∀ x, 0 ≤ p θ x
    hzero :
    ∀ x
    if
    p θ x = 0
    then
    dp θ x = 0
    hcenter :
    ∑ x, dp θ x = 0
    ∑ x, likelihoodScore p dp θ x * p θ x = 0
    Proof (Lean source)
    theorem finite_likelihoodScore_centered {X : Type*} [Fintype X] {p dp : ℝ → X → ℝ} {θ : ℝ} (hp : ∀ x, 0 ≤ p θ x) (hzero : ∀ x, p θ x = 0 → dp θ x = 0) (hcenter : ∑ x, dp θ x = 0) : ∑ x, likelihoodScore p dp θ x * p θ x = 0 := by simpa only [finite_likelihoodScore_mul hp hzero] using hcenter
    Causalean.Stat.Limit.ObservationDependentVanTrees.finite_likelihoodScore_centered · Causalean/Stat/Limit/ObservationDependentVanTrees/GuardedInformation.lean:317
  • fisherInformation_count_eq_sum theorem — Conditional Fisher information under counting measure equals the finite sum of likelihood mass times squared guarded score.
    p dp :
    ℝ → X → ℝ
    θ :
    fisherInformation Measure.count p dp θ = ∑ x, p θ x * (likelihoodScore p dp θ x) ^ 2
    Proof (Lean source)
    theorem fisherInformation_count_eq_sum {X : Type*} [Fintype X] [MeasurableSpace X] [MeasurableSingletonClass X] (p dp : ℝ → X → ℝ) (θ : ℝ) : fisherInformation Measure.count p dp θ = ∑ x, p θ x * (likelihoodScore p dp θ x) ^ 2 := by exact integral_count _
    Causalean.Stat.Limit.ObservationDependentVanTrees.fisherInformation_count_eq_sum · Causalean/Stat/Limit/ObservationDependentVanTrees/GuardedInformation.lean:327
Integration­By­Parts 1 core · 2 supporting This module supplies integration-by-parts identities from absolute continuity and almost-everywhere derivative representatives, including the weighted-error identity used for observation-dependent targets. ★ product_integral_derivativeBalance_eq_zero

Absolute-continuity integration by parts

This module supplies integration-by-parts identities from absolute continuity and almost-everywhere derivative representatives, including the weighted-error identity used for observation-dependent targets.

theorem product_integral_derivativeBalance_eq_zero reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

In a σ-finite observation model, if the prior weight and almost every likelihood and target section are absolutely continuous with the stated derivative representatives, endpoint error products vanish, and the derivative-balance field is measurable and integrable, the joint integral of the derivative-balance field is zero.

Formal statement
X :
a b :
hab :
a ≤ b
w dw :
ℝ → ℝ
p dp g dg :
ℝ → X → ℝ
T :
X → ℝ
hp :
∀ᵐ x ∂μ, AbsolutelyContinuousOnInterval (fun θ => p θ x) a b
hg :
∀ᵐ x ∂μ, AbsolutelyContinuousOnInterval (fun θ => g θ x) a b
hdw :
∀ᵐ θ ∂parameterMeasure a b, HasDerivAt w (dw θ) θ
hdp :
∀ᵐ x ∂μ, ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt (fun t => p t x) (dp θ x) θ
hdg :
∀ᵐ x ∂μ, ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt (fun t => g t x) (dg θ x) θ
hboundary :
∀ᵐ x ∂μ, w b * p b x * (T x - g b x) = 0 ∧ w a * p a x * (T x - g a x) = 0
hint :
∫ z, derivativeBalanceField w dw p dp g dg T z ∂((parameterMeasure a b).prod μ) = 0
Proof (Lean source)
theorem product_integral_derivativeBalance_eq_zero {X : Type*} [MeasurableSpace X] {μ : Measure X} [SigmaFinite μ] {a b : ℝ} (hab : a ≤ b) {w dw : ℝ → ℝ} {p dp g dg : ℝ → X → ℝ} {T : X → ℝ} (hw : AbsolutelyContinuousOnInterval w a b) (hp : ∀ᵐ x ∂μ, AbsolutelyContinuousOnInterval (fun θ => p θ x) a b) (hg : ∀ᵐ x ∂μ, AbsolutelyContinuousOnInterval (fun θ => g θ x) a b) (hdw : ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt w (dw θ) θ) (hdp : ∀ᵐ x ∂μ, ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt (fun t => p t x) (dp θ x) θ) (hdg : ∀ᵐ x ∂μ, ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt (fun t => g t x) (dg θ x) θ) (hboundary : ∀ᵐ x ∂μ, w b * p b x * (T x - g b x) = 0 ∧ w a * p a x * (T x - g a x) = 0) (hsm : AEStronglyMeasurable (derivativeBalanceField w dw p dp g dg T) ((parameterMeasure a b).prod μ)) (hint : Integrable (derivativeBalanceField w dw p dp g dg T) ((parameterMeasure a b).prod μ)) : ∫ z, derivativeBalanceField w dw p dp g dg T z ∂((parameterMeasure a b).prod μ) = 0 := by letI : IsFiniteMeasure (parameterMeasure a b) := by unfold parameterMeasure infer_instance rw [integral_prod_symm _ hint] apply integral_eq_zero_of_ae filter_upwards [hp, hg, hdp, hdg, hboundary, hint.prod_left_ae] with x hpx hgx hdpx hdgx hboundaryx hintx let q : ℝ → ℝ := fun θ => w θ * p θ x * (T x - g θ x) have hconst : AbsolutelyContinuousOnInterval (fun _ : ℝ => T x) a b := by rw [absolutelyContinuousOnInterval_iff] intro ε hε exact ⟨1, zero_lt_one, by intros; simpa using hε⟩ have hq : AbsolutelyContinuousOnInterval q a b := (hw.fun_mul hpx).fun_mul (hconst.sub hgx) have hqderiv : ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt q (derivativeBalanceField w dw p dp g dg T (θ, x)) θ := by filter_upwards [hdw, hdpx, hdgx] with θ hdwθ hdpθ hdgθ have hmul := (hdwθ.mul hdpθ).mul (hdgθ.const_sub (T x)) simp only [Pi.mul_apply] at hmul have hder : (dw θ * p θ x + w θ * dp θ x) * (T x - g θ x) + w θ * p θ x * -dg θ x = derivativeBalanceField w dw p dp g dg T (θ, x) := by simp only [derivativeBalanceField, jointDensity] ring rw [hder] at hmul exact hmul calc ∫ θ, derivativeBalanceField w dw p dp g dg T (θ, x) ∂parameterMeasure a b = ∫ θ, deriv q θ ∂parameterMeasure a b := by apply MeasureTheory.integral_congr_ae filter_upwards [hqderiv] with θ hθ exact hθ.deriv.symm _ = ∫ θ in a..b, deriv q θ := by rw [intervalIntegral.integral_of_le hab, parameterMeasure, restrict_Ioc_eq_restrict_Icc] _ = q b - q a := hq.integral_deriv_eq_sub _ = 0 := by simp [q, hboundaryx.1, hboundaryx.2]
Causalean.Stat.Limit.ObservationDependentVanTrees.product_integral_derivativeBalance_eq_zero · Causalean/Stat/Limit/ObservationDependentVanTrees/IntegrationByParts.lean:104 · uses derivativeBalanceField , parameterMeasure
2 supporting declarations (lemmas, instances)
  • ac_product_integral_eq_boundary theorem — Two functions on an ordered interval with absolute continuity, almost-everywhere derivative representatives, and an integrable product-rule field satisfy the product-rule integral equals the endpoint change in their product.
    a b :
    f g df dg :
    ℝ → ℝ
    hab :
    a ≤ b
    hdf :
    ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt f (df θ) θ
    hdg :
    ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt g (dg θ) θ
    hint :
    IntervalIntegrable (fun θ => df θ * g θ + f θ * dg θ) volume a b
    (∫ θ in a..b, df θ * g θ + f θ * dg θ) = f b * g b - f a * g a
    Proof (Lean source)
    theorem ac_product_integral_eq_boundary {a b : ℝ} {f g df dg : ℝ → ℝ} (hab : a ≤ b) (hf : AbsolutelyContinuousOnInterval f a b) (hg : AbsolutelyContinuousOnInterval g a b) (hdf : ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt f (df θ) θ) (hdg : ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt g (dg θ) θ) (hint : IntervalIntegrable (fun θ => df θ * g θ + f θ * dg θ) volume a b) : (∫ θ in a..b, df θ * g θ + f θ * dg θ) = f b * g b - f a * g a := by let q : ℝ → ℝ := fun θ => f θ * g θ have hq : AbsolutelyContinuousOnInterval q a b := hf.fun_mul hg have hqderiv : ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt q (df θ * g θ + f θ * dg θ) θ := by filter_upwards [hdf, hdg] with θ hdfθ hdgθ exact hdfθ.mul hdgθ calc ∫ θ in a..b, df θ * g θ + f θ * dg θ = ∫ θ, df θ * g θ + f θ * dg θ ∂parameterMeasure a b := by rw [intervalIntegral.integral_of_le hab, parameterMeasure, restrict_Ioc_eq_restrict_Icc] _ = ∫ θ, deriv q θ ∂parameterMeasure a b := by apply MeasureTheory.integral_congr_ae filter_upwards [hqderiv] with θ hθ exact hθ.deriv.symm _ = ∫ θ in a..b, deriv q θ := by rw [intervalIntegral.integral_of_le hab, parameterMeasure, restrict_Ioc_eq_restrict_Icc] _ = q b - q a := hq.integral_deriv_eq_sub _ = f b * g b - f a * g a := rfl
    Causalean.Stat.Limit.ObservationDependentVanTrees.ac_product_integral_eq_boundary · Causalean/Stat/Limit/ObservationDependentVanTrees/IntegrationByParts.lean:22
  • ac_weighted_error_integral_eq_boundary theorem — A prior weight, likelihood section, and observation-dependent target with absolute continuity, almost-everywhere derivative representatives, and an integrable weighted-error derivative field satisfy the weighted-error derivative integral equals the weighted endpoint difference.
    a b c :
    w p g dw dp dg :
    ℝ → ℝ
    hab :
    a ≤ b
    hdw :
    ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt w (dw θ) θ
    hdp :
    ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt p (dp θ) θ
    hdg :
    ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt g (dg θ) θ
    hint :
    IntervalIntegrable (fun θ => (dw θ * p θ + w θ * dp θ) * (c - g θ) - w θ * p θ * dg θ) volume a b
    (∫ θ in a..b, (dw θ * p θ + w θ * dp θ) * (c - g θ) - w θ * p θ * dg θ)
    = w b * p b * (c - g b) - w a * p a * (c - g a)
    Proof (Lean source)
    theorem ac_weighted_error_integral_eq_boundary {a b c : ℝ} {w p g dw dp dg : ℝ → ℝ} (hab : a ≤ b) (hw : AbsolutelyContinuousOnInterval w a b) (hp : AbsolutelyContinuousOnInterval p a b) (hg : AbsolutelyContinuousOnInterval g a b) (hdw : ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt w (dw θ) θ) (hdp : ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt p (dp θ) θ) (hdg : ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt g (dg θ) θ) (hint : IntervalIntegrable (fun θ => (dw θ * p θ + w θ * dp θ) * (c - g θ) - w θ * p θ * dg θ) volume a b) : (∫ θ in a..b, (dw θ * p θ + w θ * dp θ) * (c - g θ) - w θ * p θ * dg θ) = w b * p b * (c - g b) - w a * p a * (c - g a) := by let q : ℝ → ℝ := fun θ => w θ * p θ * (c - g θ) have hconst : AbsolutelyContinuousOnInterval (fun _ : ℝ => c) a b := by rw [absolutelyContinuousOnInterval_iff] intro ε hε exact ⟨1, zero_lt_one, by intros; simpa using hε⟩ have hq : AbsolutelyContinuousOnInterval q a b := (hw.fun_mul hp).fun_mul (hconst.sub hg) have hqderiv : ∀ᵐ θ ∂parameterMeasure a b, HasDerivAt q ((dw θ * p θ + w θ * dp θ) * (c - g θ) - w θ * p θ * dg θ) θ := by filter_upwards [hdw, hdp, hdg] with θ hdwθ hdpθ hdgθ have hmul := (hdwθ.mul hdpθ).mul (hdgθ.const_sub c) have hder : (dw θ * p θ + w θ * dp θ) * (c - g θ) + (w * p) θ * -dg θ = (dw θ * p θ + w θ * dp θ) * (c - g θ) - w θ * p θ * dg θ := by simp only [Pi.mul_apply] ring rw [hder] at hmul exact hmul calc ∫ θ in a..b, (dw θ * p θ + w θ * dp θ) * (c - g θ) - w θ * p θ * dg θ = ∫ θ, (dw θ * p θ + w θ * dp θ) * (c - g θ) - w θ * p θ * dg θ ∂parameterMeasure a b := by rw [intervalIntegral.integral_of_le hab, parameterMeasure, restrict_Ioc_eq_restrict_Icc] _ = ∫ θ, deriv q θ ∂parameterMeasure a b := by apply MeasureTheory.integral_congr_ae filter_upwards [hqderiv] with θ hθ exact hθ.deriv.symm _ = ∫ θ in a..b, deriv q θ := by rw [intervalIntegral.integral_of_le hab, parameterMeasure, restrict_Ioc_eq_restrict_Icc] _ = q b - q a := hq.integral_deriv_eq_sub _ = w b * p b * (c - g b) - w a * p a * (c - g a) := rfl
    Causalean.Stat.Limit.ObservationDependentVanTrees.ac_weighted_error_integral_eq_boundary · Causalean/Stat/Limit/ObservationDependentVanTrees/IntegrationByParts.lean:52
Main 3 core · 1 supporting This module proves a paper-independent Bayesian Cramér--Rao inequality for a sigma-finite dominated observation model. ★ observation_dependent_van_trees★ smoothPrior_finite_vanTrees_lower_bound

Observation-dependent van Trees inequality

This module proves a paper-independent Bayesian Cramér--Rao inequality for a sigma-finite dominated observation model. Unlike the classical parameter-only form, the target may depend on both the parameter and the observation. It assembles the guarded-score, absolute-continuity, product-measure, and weighted L² ingredients from the accompanying modules.

theorem observation_dependent_van_trees reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

A nondegenerate parameter interval with a continuously differentiable, compactly supported, normalized nonnegative prior; a normalized nonnegative dominated likelihood; the stated differentiation-under-the-integral, sectionwise absolute-continuity, derivative, boundary, product-measurability, and integrability conditions; and strictly positive finite total information ensures that Bayes mean-squared error for an estimator of an observation-dependent target is at least the squared joint mean of the target's parameter derivative divided by prior information plus average Fisher information.

Formal statement
X :
μ :
ell u :
hellu :
ell < u
w dw :
ℝ → ℝ
p dp g dg :
ℝ → X → ℝ
T :
X → ℝ
Compactly supported C1 prior density and derivative representative.
hwC1 :
ContDiff ℝ 1 w
hwsupport :
support w ⊆ Icc ell u
hwderiv :
∀ θ, HasDerivAt w (dw θ) θ
hwnonneg :
∀ θ, 0 ≤ w θ
hwnorm :
∫ θ, w θ ∂parameterMeasure ell u = 1
Dominated likelihood density and normalization.
hpnonneg :
∀ θ x, 0 ≤ p θ x
hpnorm :
∀ θ ∈ Icc ell u, ∫ x, p θ x ∂μ = 1
hpint :
∀ θ ∈ Icc ell u, Integrable (fun x => p θ x) μ
hdpint :
∀ θ ∈ Icc ell u, Integrable (fun x => dp θ x) μ
hdiffUnder :
∀ θ ∈ Ioo ell u, HasDerivAt (fun t => ∫ x, p t x ∂μ) (∫ x, dp θ x ∂μ) θ
Absolute continuity of observation sections and joint-a.e. derivative representatives.
hpAC :
∀ᵐ x ∂μ, AbsolutelyContinuousOnInterval (fun θ => p θ x) ell u
hgAC :
∀ᵐ x ∂μ, AbsolutelyContinuousOnInterval (fun θ => g θ x) ell u
hdp :
∀ᵐ z ∂((parameterMeasure ell u).prod μ), HasDerivAt (fun t => p t z.2) (dp z.1 z.2) z.1
hdg :
∀ᵐ z ∂((parameterMeasure ell u).prod μ), HasDerivAt (fun t => g t z.2) (dg z.1 z.2) z.1
Boundary product required by integration by parts.
hboundary :
∀ᵐ x ∂μ, w u * p u x * (T x - g u x) = 0 ∧ w ell * p ell x * (T x - g ell x) = 0
Explicit product-measure measurability and integrability of signed fields.
hbalanceSm :
hbalanceInt :
Integrable (derivativeBalanceField w dw p dp g dg T) ((parameterMeasure ell u).prod μ)
herrorScoreSm :
herrorScoreInt :
Integrable (errorScoreField w dw p dp g T) ((parameterMeasure ell u).prod μ)
hsensitivitySm :
hsensitivityInt :
Explicit product-measure weighted-square and cross-integrability hypotheses.
herrorSqSm :
herrorSqInt :
hscoreSqSm :
hscoreSqInt :
Integrable (scoreSqField w dw p dp) ((parameterMeasure ell u).prod μ)
hpriorSqSm :
AEStronglyMeasurable (fun θ => w θ * (priorScore w dw θ) ^ 2) (parameterMeasure ell u)
hpriorSqInt :
Integrable (fun θ => w θ * (priorScore w dw θ) ^ 2) (parameterMeasure ell u)
hpriorJointSqSm :
AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1) ^ 2) ((parameterMeasure ell u).prod μ)
hpriorJointSqInt :
Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1) ^ 2) ((parameterMeasure ell u).prod μ)
hfisherSqSm :
AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (likelihoodScore p dp z.1 z.2) ^ 2) ((parameterMeasure ell u).prod μ)
hfisherSqInt :
Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (likelihoodScore p dp z.1 z.2) ^ 2) ((parameterMeasure ell u).prod μ)
hcrossSm :
AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1 * likelihoodScore p dp z.1 z.2)) ((parameterMeasure ell u).prod μ)
hcrossInt :
Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1 * likelihoodScore p dp z.1 z.2)) ((parameterMeasure ell u).prod μ)
Positive finite total prior-plus-Fisher information.
hinfoPos :
0 < priorInformation ell u w dw
+ ∫ θ, w θ * fisherInformation μ p dp θ ∂parameterMeasure ell u
(∫ z, sensitivityField w p dg z ∂((parameterMeasure ell u).prod μ)) ^ 2 / (priorInformation ell u w dw + ∫ θ, w θ * fisherInformation μ p dp θ ∂parameterMeasure ell u)
≤ ∫ z, errorSqField w p g T z ∂((parameterMeasure ell u).prod μ)
Proof (Lean source)
theorem observation_dependent_van_trees {X : Type*} [MeasurableSpace X] (μ : Measure X) [SigmaFinite μ] {ell u : ℝ} (hellu : ell < u) (w dw : ℝ → ℝ) (p dp g dg : ℝ → X → ℝ) (T : X → ℝ) -- Compactly supported C1 prior density and derivative representative. (hwC1 : ContDiff ℝ 1 w) (hwsupport : support w ⊆ Icc ell u) (hwderiv : ∀ θ, HasDerivAt w (dw θ) θ) (hwnonneg : ∀ θ, 0 ≤ w θ) (hwnorm : ∫ θ, w θ ∂parameterMeasure ell u = 1) -- Dominated likelihood density and normalization. (hpnonneg : ∀ θ x, 0 ≤ p θ x) (hpnorm : ∀ θ ∈ Icc ell u, ∫ x, p θ x ∂μ = 1) (hpint : ∀ θ ∈ Icc ell u, Integrable (fun x => p θ x) μ) (hdpint : ∀ θ ∈ Icc ell u, Integrable (fun x => dp θ x) μ) (hdiffUnder : ∀ θ ∈ Ioo ell u, HasDerivAt (fun t => ∫ x, p t x ∂μ) (∫ x, dp θ x ∂μ) θ) -- Absolute continuity of observation sections and joint-a.e. derivative representatives. (hpAC : ∀ᵐ x ∂μ, AbsolutelyContinuousOnInterval (fun θ => p θ x) ell u) (hgAC : ∀ᵐ x ∂μ, AbsolutelyContinuousOnInterval (fun θ => g θ x) ell u) (hdp : ∀ᵐ z ∂((parameterMeasure ell u).prod μ), HasDerivAt (fun t => p t z.2) (dp z.1 z.2) z.1) (hdg : ∀ᵐ z ∂((parameterMeasure ell u).prod μ), HasDerivAt (fun t => g t z.2) (dg z.1 z.2) z.1) -- Boundary product required by integration by parts. (hboundary : ∀ᵐ x ∂μ, w u * p u x * (T x - g u x) = 0 ∧ w ell * p ell x * (T x - g ell x) = 0) -- Explicit product-measure measurability and integrability of signed fields. (hbalanceSm : AEStronglyMeasurable (derivativeBalanceField w dw p dp g dg T) ((parameterMeasure ell u).prod μ)) (hbalanceInt : Integrable (derivativeBalanceField w dw p dp g dg T) ((parameterMeasure ell u).prod μ)) (herrorScoreSm : AEStronglyMeasurable (errorScoreField w dw p dp g T) ((parameterMeasure ell u).prod μ)) (herrorScoreInt : Integrable (errorScoreField w dw p dp g T) ((parameterMeasure ell u).prod μ)) (hsensitivitySm : AEStronglyMeasurable (sensitivityField w p dg) ((parameterMeasure ell u).prod μ)) (hsensitivityInt : Integrable (sensitivityField w p dg) ((parameterMeasure ell u).prod μ)) -- Explicit product-measure weighted-square and cross-integrability hypotheses. (herrorSqSm : AEStronglyMeasurable (errorSqField w p g T) ((parameterMeasure ell u).prod μ)) (herrorSqInt : Integrable (errorSqField w p g T) ((parameterMeasure ell u).prod μ)) (hscoreSqSm : AEStronglyMeasurable (scoreSqField w dw p dp) ((parameterMeasure ell u).prod μ)) (hscoreSqInt : Integrable (scoreSqField w dw p dp) ((parameterMeasure ell u).prod μ)) (hpriorSqSm : AEStronglyMeasurable (fun θ => w θ * (priorScore w dw θ) ^ 2) (parameterMeasure ell u)) (hpriorSqInt : Integrable (fun θ => w θ * (priorScore w dw θ) ^ 2) (parameterMeasure ell u)) (hpriorJointSqSm : AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1) ^ 2) ((parameterMeasure ell u).prod μ)) (hpriorJointSqInt : Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1) ^ 2) ((parameterMeasure ell u).prod μ)) (hfisherSqSm : AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (likelihoodScore p dp z.1 z.2) ^ 2) ((parameterMeasure ell u).prod μ)) (hfisherSqInt : Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (likelihoodScore p dp z.1 z.2) ^ 2) ((parameterMeasure ell u).prod μ)) (hcrossSm : AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1 * likelihoodScore p dp z.1 z.2)) ((parameterMeasure ell u).prod μ)) (hcrossInt : Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1 * likelihoodScore p dp z.1 z.2)) ((parameterMeasure ell u).prod μ)) -- Positive finite total prior-plus-Fisher information. (hinfoPos : 0 < priorInformation ell u w dw + ∫ θ, w θ * fisherInformation μ p dp θ ∂parameterMeasure ell u) : (∫ z, sensitivityField w p dg z ∂((parameterMeasure ell u).prod μ)) ^ 2 / (priorInformation ell u w dw + ∫ θ, w θ * fisherInformation μ p dp θ ∂parameterMeasure ell u) ≤ ∫ z, errorSqField w p g T z ∂((parameterMeasure ell u).prod μ) := by -- Proof roadmap for the filler: -- 1. Obtain absolute continuity of `w` from `hwC1`, and obtain derivative-zero -- facts for `w` and (joint-a.e.) `p` from global nonnegativity. -- 2. Transport `hdp` and `hdg` across `Measure.measurePreserving_swap`, then use -- `ae_ae_of_ae_prod` to feed observation-first sections to -- `product_integral_derivativeBalance_eq_zero`. -- 3. Expand `errorScoreField` with `errorScoreField_eq_numerator`; the zero -- derivative-balance integral identifies its integral with sensitivity. -- 4. Exclude the two endpoints almost everywhere under `parameterMeasure`, -- derive likelihood-score centering, and invoke -- `joint_score_information_decomposition`. -- 5. Apply `weighted_integral_mul_sq_le` on the product measure with weight -- `jointDensity`, error `T - g`, and score `jointScore`, then divide by the -- strictly positive information denominator. letI : IsFiniteMeasure (parameterMeasure ell u) := by unfold parameterMeasure infer_instance have hwAC : AbsolutelyContinuousOnInterval w ell u := hwC1.contDiffOn.absolutelyContinuousOnInterval have hdw : ∀ᵐ θ ∂parameterMeasure ell u, HasDerivAt w (dw θ) θ := by filter_upwards with θ exact hwderiv θ have hwzero : ∀ θ, w θ = 0 → dw θ = 0 := by intro θ hzero exact derivative_eq_zero_of_nonnegative_of_eq_zero hwnonneg (hwderiv θ) hzero have hpzero : ∀ᵐ z ∂((parameterMeasure ell u).prod μ), p z.1 z.2 = 0 → dp z.1 z.2 = 0 := by filter_upwards [hdp] with z hdpz intro hzero exact derivative_eq_zero_of_nonnegative_of_eq_zero (fun t => hpnonneg t z.2) hdpz hzero have hdpSwap : ∀ᵐ z ∂(μ.prod (parameterMeasure ell u)), HasDerivAt (fun t => p t z.1) (dp z.2 z.1) z.2 := by have h := Measure.measurePreserving_swap.quasiMeasurePreserving.tendsto_ae.eventually hdp simpa [swap] using h have hdgSwap : ∀ᵐ z ∂(μ.prod (parameterMeasure ell u)), HasDerivAt (fun t => g t z.1) (dg z.2 z.1) z.2 := by have h := Measure.measurePreserving_swap.quasiMeasurePreserving.tendsto_ae.eventually hdg simpa [swap] using h have hdpSections : ∀ᵐ x ∂μ, ∀ᵐ θ ∂parameterMeasure ell u, HasDerivAt (fun t => p t x) (dp θ x) θ := by simpa using Measure.ae_ae_of_ae_prod hdpSwap have hdgSections : ∀ᵐ x ∂μ, ∀ᵐ θ ∂parameterMeasure ell u, HasDerivAt (fun t => g t x) (dg θ x) θ := by simpa using Measure.ae_ae_of_ae_prod hdgSwap have hbalanceZero : ∫ z, derivativeBalanceField w dw p dp g dg T z ∂((parameterMeasure ell u).prod μ) = 0 := product_integral_derivativeBalance_eq_zero hellu.le hwAC hpAC hgAC hdw hdpSections hdgSections hboundary hbalanceSm hbalanceInt have herrorSensitivity : (∫ z, errorScoreField w dw p dp g T z ∂((parameterMeasure ell u).prod μ)) = ∫ z, sensitivityField w p dg z ∂((parameterMeasure ell u).prod μ) := by have hbalanceRewrite : (∫ z, derivativeBalanceField w dw p dp g dg T z ∂((parameterMeasure ell u).prod μ)) = (∫ z, errorScoreField w dw p dp g T z ∂((parameterMeasure ell u).prod μ)) - ∫ z, sensitivityField w p dg z ∂((parameterMeasure ell u).prod μ) := by calc _ = ∫ z, errorScoreField w dw p dp g T z - sensitivityField w p dg z ∂((parameterMeasure ell u).prod μ) := by apply integral_congr_ae filter_upwards [hpzero] with z hpzeroz rw [errorScoreField_eq_numerator (hwnonneg z.1) (hpnonneg z.1 z.2) (hwzero z.1) hpzeroz] simp only [derivativeBalanceField, sensitivityField, jointDensity] ring _ = _ := integral_sub herrorScoreInt hsensitivityInt rw [hbalanceZero] at hbalanceRewrite linarith have hmemIcc : ∀ᵐ θ ∂parameterMeasure ell u, θ ∈ Icc ell u := by unfold parameterMeasure exact ae_restrict_mem measurableSet_Icc have hneEll : ∀ᵐ θ ∂parameterMeasure ell u, θ ≠ ell := by unfold parameterMeasure exact ae_restrict_of_ae (volume.ae_ne ell) have hneU : ∀ᵐ θ ∂parameterMeasure ell u, θ ≠ u := by unfold parameterMeasure exact ae_restrict_of_ae (volume.ae_ne u) have hmemIoo : ∀ᵐ θ ∂parameterMeasure ell u, θ ∈ Ioo ell u := by filter_upwards [hmemIcc, hneEll, hneU] with θ hθ hθell hθu exact ⟨lt_of_le_of_ne hθ.1 (Ne.symm hθell), lt_of_le_of_ne hθ.2 hθu⟩ have hpzeroSections : ∀ᵐ θ ∂parameterMeasure ell u, ∀ᵐ x ∂μ, p θ x = 0 → dp θ x = 0 := Measure.ae_ae_of_ae_prod hpzero have hnormAE : ∀ᵐ θ ∂parameterMeasure ell u, ∫ x, p θ x ∂μ = 1 := by filter_upwards [hmemIcc] with θ hθ exact hpnorm θ hθ have hcenter : ∀ᵐ θ ∂parameterMeasure ell u, ∫ x, likelihoodScore p dp θ x * p θ x ∂μ = 0 := by filter_upwards [hmemIoo, hpzeroSections] with θ hθ hpzeroθ exact likelihoodScore_integral_eq_zero_of_normalization hθ hpnorm (hdiffUnder θ hθ) (hpnonneg θ) hpzeroθ (hpint θ ⟨hθ.1.le, hθ.2.le⟩) (hdpint θ ⟨hθ.1.le, hθ.2.le⟩) have hinformation : (∫ z, scoreSqField w dw p dp z ∂((parameterMeasure ell u).prod μ)) = priorInformation ell u w dw + ∫ θ, w θ * fisherInformation μ p dp θ ∂parameterMeasure ell u := joint_score_information_decomposition hwnonneg hpnonneg (by filter_upwards with θ; exact hwzero θ) hpzero hnormAE hcenter hscoreSqSm hscoreSqInt hpriorSqSm hpriorSqInt hpriorJointSqSm hpriorJointSqInt hfisherSqSm hfisherSqInt hcrossSm hcrossInt have hcs : (∫ z, errorScoreField w dw p dp g T z ∂((parameterMeasure ell u).prod μ)) ^ 2 ≤ (∫ z, errorSqField w p g T z ∂((parameterMeasure ell u).prod μ)) * ∫ z, scoreSqField w dw p dp z ∂((parameterMeasure ell u).prod μ) := by simpa only [errorScoreField, errorSqField, scoreSqField] using (weighted_integral_mul_sq_le (μ := (parameterMeasure ell u).prod μ) (q := jointDensity w p) (f := fun z : ℝ × X => T z.2 - g z.1 z.2) (s := jointScore w dw p dp) (by filter_upwards with z; exact mul_nonneg (hwnonneg z.1) (hpnonneg z.1 z.2)) herrorSqSm hscoreSqSm herrorScoreSm herrorSqInt hscoreSqInt herrorScoreInt) apply (div_le_iff₀ hinfoPos).2 rw [← hinformation, ← herrorSensitivity] exact hcs
structure FiniteVanTreesModelRegularity reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Finite-experiment van Trees regularity collects the model-specific normalization, absolute-continuity, derivative, measurability, and integrability conditions for a fixed prior and counting-measure observation model.

Definition (Lean source)
ell u :
w dw :
ℝ → ℝ
p dp g dg :
ℝ → X → ℝ
T :
X → ℝ
hpnonneg :
∀ θ x, 0 ≤ p θ x

Every likelihood mass is nonnegative.

hpnorm :
∀ θ ∈ Icc ell u, ∫ x, p θ x ∂Measure.count = 1

Every likelihood mass function is normalized on the ambient interval.

hpint :
∀ θ ∈ Icc ell u, Integrable (fun x => p θ x) Measure.count

Likelihood sections are integrable on the finite carrier.

hdpint :
∀ θ ∈ Icc ell u, Integrable (fun x => dp θ x) Measure.count

Likelihood derivative sections are integrable on the finite carrier.

hdiffUnder :
∀ θ ∈ Ioo ell u,
HasDerivAt (fun t => ∫ x, p t x ∂Measure.count) (∫ x, dp θ x ∂Measure.count) θ

Differentiation of the normalized likelihood integral is valid in the interior.

hpAC :
∀ᵐ x ∂Measure.count, AbsolutelyContinuousOnInterval (fun θ => p θ x) ell u

Almost every likelihood section is absolutely continuous in the parameter.

hgAC :
∀ᵐ x ∂Measure.count, AbsolutelyContinuousOnInterval (fun θ => g θ x) ell u

Almost every observation-dependent target section is absolutely continuous.

hdp :
∀ᵐ z ∂((parameterMeasure ell u).prod Measure.count), HasDerivAt (fun t => p t z.2) (dp z.1 z.2) z.1

The supplied likelihood derivative is valid almost everywhere jointly.

hdg :
∀ᵐ z ∂((parameterMeasure ell u).prod Measure.count), HasDerivAt (fun t => g t z.2) (dg z.1 z.2) z.1

The supplied target derivative is valid almost everywhere jointly.

hbalanceSm :
AEStronglyMeasurable (derivativeBalanceField w dw p dp g dg T) ((parameterMeasure ell u).prod Measure.count)

The derivative-balance field is strongly measurable.

hbalanceInt :
Integrable (derivativeBalanceField w dw p dp g dg T) ((parameterMeasure ell u).prod Measure.count)

The derivative-balance field is integrable.

herrorScoreSm :
AEStronglyMeasurable (errorScoreField w dw p dp g T) ((parameterMeasure ell u).prod Measure.count)

The error-score field is strongly measurable.

herrorScoreInt :
Integrable (errorScoreField w dw p dp g T) ((parameterMeasure ell u).prod Measure.count)

The error-score field is integrable.

hsensitivitySm :

The sensitivity field is strongly measurable.

hsensitivityInt :
Integrable (sensitivityField w p dg) ((parameterMeasure ell u).prod Measure.count)

The sensitivity field is integrable.

herrorSqSm :
AEStronglyMeasurable (errorSqField w p g T) ((parameterMeasure ell u).prod Measure.count)

The weighted squared-error field is strongly measurable.

herrorSqInt :
Integrable (errorSqField w p g T) ((parameterMeasure ell u).prod Measure.count)

The weighted squared-error field is integrable.

hscoreSqSm :
AEStronglyMeasurable (scoreSqField w dw p dp) ((parameterMeasure ell u).prod Measure.count)

The joint squared-score field is strongly measurable.

hscoreSqInt :
Integrable (scoreSqField w dw p dp) ((parameterMeasure ell u).prod Measure.count)

The joint squared-score field is integrable.

hpriorJointSqSm :
AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1) ^ 2) ((parameterMeasure ell u).prod Measure.count)

The lifted prior-score square is strongly measurable.

hpriorJointSqInt :
Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1) ^ 2) ((parameterMeasure ell u).prod Measure.count)

The lifted prior-score square is integrable.

hfisherSqSm :
AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (likelihoodScore p dp z.1 z.2) ^ 2) ((parameterMeasure ell u).prod Measure.count)

The lifted likelihood-score square is strongly measurable.

hfisherSqInt :
Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (likelihoodScore p dp z.1 z.2) ^ 2) ((parameterMeasure ell u).prod Measure.count)

The lifted likelihood-score square is integrable.

hcrossSm :
AEStronglyMeasurable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1 * likelihoodScore p dp z.1 z.2)) ((parameterMeasure ell u).prod Measure.count)

The prior-likelihood score cross field is strongly measurable.

hcrossInt :
Integrable (fun z : ℝ × X => w z.1 * p z.1 z.2 * (priorScore w dw z.1 * likelihoodScore p dp z.1 z.2)) ((parameterMeasure ell u).prod Measure.count)

The prior-likelihood score cross field is integrable.

Causalean.Stat.Limit.ObservationDependentVanTrees.FiniteVanTreesModelRegularity · Causalean/Stat/Limit/ObservationDependentVanTrees/Main.lean:244
theorem smoothPrior_finite_vanTrees_lower_bound reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

A positive bandwidth, strict containment of the left and right prior-support endpoints, finite-model regularity, a nonnegative sensitivity bound that lies below average sensitivity, a pointwise likelihood-information bound, and positive total information imply a native-real Bayes squared-risk lower bound equal to squared sensitivity divided by likelihood information plus forty over the squared bandwidth.

Formal statement
ell u c a s I :
p dp g dg :
ℝ → X → ℝ
T :
X → ℝ
ha :
0 < a
hleft :
ell < c - a
hright :
c + a < u
M :
hs_nonneg :
0 ≤ s
hsensitivity :
s
≤ ∫ z, sensitivityField (smoothPrior c a) p dg z ∂((parameterMeasure ell u).prod Measure.count)
hpointwise :
∀ θ
if
0 < smoothPrior c a θ
then
fisherInformation Measure.count p dp θ ≤ I
hinfoPos :
+ ∫ θ, smoothPrior c a θ * fisherInformation Measure.count p dp θ ∂parameterMeasure ell u
s ^ 2 / (I + 40 / a ^ 2)
≤ ∫ z, errorSqField (smoothPrior c a) p g T z ∂((parameterMeasure ell u).prod Measure.count)
Proof (Lean source)
theorem smoothPrior_finite_vanTrees_lower_bound {X : Type*} [Fintype X] [MeasurableSpace X] [MeasurableSingletonClass X] {ell u c a s I : ℝ} {p dp g dg : ℝ → X → ℝ} {T : X → ℝ} (ha : 0 < a) (hleft : ell < c - a) (hright : c + a < u) (M : FiniteVanTreesModelRegularity X ell u (smoothPrior c a) (smoothPriorDeriv c a) p dp g dg T) (hs_nonneg : 0 ≤ s) (hsensitivity : s ≤ ∫ z, sensitivityField (smoothPrior c a) p dg z ∂((parameterMeasure ell u).prod Measure.count)) (hpointwise : ∀ θ, 0 < smoothPrior c a θ → fisherInformation Measure.count p dp θ ≤ I) (hinfoPos : 0 < priorInformation ell u (smoothPrior c a) (smoothPriorDeriv c a) + ∫ θ, smoothPrior c a θ * fisherInformation Measure.count p dp θ ∂parameterMeasure ell u) : s ^ 2 / (I + 40 / a ^ 2) ≤ ∫ z, errorSqField (smoothPrior c a) p g T z ∂((parameterMeasure ell u).prod Measure.count) := by have hellu : ell < u := by linarith have hendpoints := smoothPrior_ambient_endpoints ha hleft hright have hboundary : ∀ᵐ x ∂Measure.count, smoothPrior c a u * p u x * (T x - g u x) = 0 ∧ smoothPrior c a ell * p ell x * (T x - g ell x) = 0 := by filter_upwards with x simp [hendpoints.1, hendpoints.2] have hweightedInt : Integrable (fun θ => smoothPrior c a θ * fisherInformation Measure.count p dp θ) (parameterMeasure ell u) := by have h := M.hfisherSqInt.integral_prod_left convert h using 1 funext θ rw [fisherInformation, ← integral_const_mul] congr 1 funext x ring have hlike : ∫ θ, smoothPrior c a θ * fisherInformation Measure.count p dp θ ∂parameterMeasure ell u ≤ I := average_fisherInformation_le (smoothPrior_nonneg ha) (integral_smoothPrior_parameterMeasure ha hleft.le hright.le) (smoothPrior_integrable_parameterMeasure ha) hweightedInt hpointwise exact finite_vanTrees_lower_bound hellu M (smoothPrior_contDiff ha) (support_smoothPrior_subset_Icc ha hleft hright) (hasDerivAt_smoothPrior ha) (smoothPrior_nonneg ha) (integral_smoothPrior_parameterMeasure ha hleft.le hright.le) hboundary (smoothPrior_scoreSq_aestronglyMeasurable ha) (smoothPrior_scoreSq_integrable ha) hs_nonneg hsensitivity hlike (priorInformation_smoothPrior_le ha hleft.le hright.le) hinfoPos
1 supporting declaration (lemmas, instances)
  • finite_vanTrees_lower_bound theorem — A nondegenerate parameter interval, [finite-model regularity] (hyp:M), continuous differentiability, compact support, a valid prior derivative, nonnegativity, normalization, vanishing boundary errors, measurability and integrability of prior information, a nonnegative sensitivity bound that lies below average sensitivity, upper bounds on average likelihood information and prior information, and positive total information imply a native-real Bayes squared-risk lower bound equal to squared sensitivity divided by the sum of the two information bounds.
    ell u s I P :
    w dw :
    ℝ → ℝ
    p dp g dg :
    ℝ → X → ℝ
    T :
    X → ℝ
    hellu :
    ell < u
    M :
    FiniteVanTreesModelRegularity X ell u w dw p dp g dg T
    hwC1 :
    ContDiff ℝ 1 w
    hwsupport :
    support w ⊆ Icc ell u
    hwderiv :
    ∀ θ, HasDerivAt w (dw θ) θ
    hwnonneg :
    ∀ θ, 0 ≤ w θ
    hwnorm :
    ∫ θ, w θ ∂parameterMeasure ell u = 1
    hboundary :
    ∀ᵐ x ∂Measure.count, w u * p u x * (T x - g u x)
    = 0 ∧ w ell * p ell x * (T x - g ell x) = 0
    hpriorSqSm :
    AEStronglyMeasurable (fun θ => w θ * (priorScore w dw θ) ^ 2) (parameterMeasure ell u)
    hpriorSqInt :
    Integrable (fun θ => w θ * (priorScore w dw θ) ^ 2) (parameterMeasure ell u)
    hs_nonneg :
    0 ≤ s
    hsensitivity :
    s ≤ ∫ z, sensitivityField w p dg z ∂((parameterMeasure ell u).prod Measure.count)
    hlike :
    (∫ θ, w θ * fisherInformation Measure.count p dp θ ∂parameterMeasure ell u) ≤ I
    hprior :
    priorInformation ell u w dw ≤ P
    hinfoPos :
    0 < priorInformation ell u w dw
    + ∫ θ, w θ * fisherInformation Measure.count p dp θ ∂parameterMeasure ell u
    s ^ 2 / (I + P)
    ≤ ∫ z, errorSqField w p g T z ∂((parameterMeasure ell u).prod Measure.count)
    Proof (Lean source)
    theorem finite_vanTrees_lower_bound {X : Type*} [Fintype X] [MeasurableSpace X] [MeasurableSingletonClass X] {ell u s I P : ℝ} {w dw : ℝ → ℝ} {p dp g dg : ℝ → X → ℝ} {T : X → ℝ} (hellu : ell < u) (M : FiniteVanTreesModelRegularity X ell u w dw p dp g dg T) (hwC1 : ContDiff ℝ 1 w) (hwsupport : support w ⊆ Icc ell u) (hwderiv : ∀ θ, HasDerivAt w (dw θ) θ) (hwnonneg : ∀ θ, 0 ≤ w θ) (hwnorm : ∫ θ, w θ ∂parameterMeasure ell u = 1) (hboundary : ∀ᵐ x ∂Measure.count, w u * p u x * (T x - g u x) = 0 ∧ w ell * p ell x * (T x - g ell x) = 0) (hpriorSqSm : AEStronglyMeasurable (fun θ => w θ * (priorScore w dw θ) ^ 2) (parameterMeasure ell u)) (hpriorSqInt : Integrable (fun θ => w θ * (priorScore w dw θ) ^ 2) (parameterMeasure ell u)) (hs_nonneg : 0 ≤ s) (hsensitivity : s ≤ ∫ z, sensitivityField w p dg z ∂((parameterMeasure ell u).prod Measure.count)) (hlike : (∫ θ, w θ * fisherInformation Measure.count p dp θ ∂parameterMeasure ell u) ≤ I) (hprior : priorInformation ell u w dw ≤ P) (hinfoPos : 0 < priorInformation ell u w dw + ∫ θ, w θ * fisherInformation Measure.count p dp θ ∂parameterMeasure ell u) : s ^ 2 / (I + P) ≤ ∫ z, errorSqField w p g T z ∂((parameterMeasure ell u).prod Measure.count) := by have hvanTrees := observation_dependent_van_trees Measure.count hellu w dw p dp g dg T hwC1 hwsupport hwderiv hwnonneg hwnorm M.hpnonneg M.hpnorm M.hpint M.hdpint M.hdiffUnder M.hpAC M.hgAC M.hdp M.hdg hboundary M.hbalanceSm M.hbalanceInt M.herrorScoreSm M.herrorScoreInt M.hsensitivitySm M.hsensitivityInt M.herrorSqSm M.herrorSqInt M.hscoreSqSm M.hscoreSqInt hpriorSqSm hpriorSqInt M.hpriorJointSqSm M.hpriorJointSqInt M.hfisherSqSm M.hfisherSqInt M.hcrossSm M.hcrossInt hinfoPos have hs_sq : s ^ 2 ≤ (∫ z, sensitivityField w p dg z ∂((parameterMeasure ell u).prod Measure.count)) ^ 2 := by nlinarith have hdenom : priorInformation ell u w dw + ∫ θ, w θ * fisherInformation Measure.count p dp θ ∂parameterMeasure ell u ≤ I + P := by linarith exact (div_le_div₀ (sq_nonneg _) hs_sq hinfoPos hdenom).trans hvanTrees
    Causalean.Stat.Limit.ObservationDependentVanTrees.finite_vanTrees_lower_bound · Causalean/Stat/Limit/ObservationDependentVanTrees/Main.lean:331
Weighted­L2 1 core · 1 supporting This module packages Fubini for explicitly integrable product fields and proves the squared weighted Cauchy--Schwarz inequality used in van Trees arguments. ★ weighted_integral_mul_sq_le

Product-measure weighted L2 Cauchy--Schwarz

This module packages Fubini for explicitly integrable product fields and proves the squared weighted Cauchy--Schwarz inequality used in van Trees arguments.

theorem weighted_integral_mul_sq_le reviewed
Causalean.Stat.Limit.ObservationDependentVanTrees

Under a nonnegative weight and measurable, integrable weighted square and cross-product fields, the squared weighted pairing is bounded by the product of the two weighted second moments.

Formal statement
A :
Type*
A → ℝ
hq :
∀ᵐ a ∂μ, 0 ≤ q a
hfsm :
AEStronglyMeasurable (fun a => f a ^ 2 * q a) μ
hssm :
AEStronglyMeasurable (fun a => s a ^ 2 * q a) μ
hfssm :
AEStronglyMeasurable (fun a => f a * s a * q a) μ
hfint :
Integrable (fun a => f a ^ 2 * q a) μ
hsint :
Integrable (fun a => s a ^ 2 * q a) μ
hfsint :
Integrable (fun a => f a * s a * q a) μ
(∫ a, f a * s a * q a ∂μ) ^ 2 ≤ (∫ a, f a ^ 2 * q a ∂μ) * (∫ a, s a ^ 2 * q a ∂μ)
Proof (Lean source)
theorem weighted_integral_mul_sq_le {A : Type*} [MeasurableSpace A] {μ : Measure A} {q f s : A → ℝ} (hq : ∀ᵐ a ∂μ, 0 ≤ q a) (hfsm : AEStronglyMeasurable (fun a => f a ^ 2 * q a) μ) (hssm : AEStronglyMeasurable (fun a => s a ^ 2 * q a) μ) (hfssm : AEStronglyMeasurable (fun a => f a * s a * q a) μ) (hfint : Integrable (fun a => f a ^ 2 * q a) μ) (hsint : Integrable (fun a => s a ^ 2 * q a) μ) (hfsint : Integrable (fun a => f a * s a * q a) μ) : (∫ a, f a * s a * q a ∂μ) ^ 2 ≤ (∫ a, f a ^ 2 * q a ∂μ) * (∫ a, s a ^ 2 * q a ∂μ) := by have hfint' : Integrable (fun a => f a ^ 2 * q a) μ := ⟨hfsm, hfint.hasFiniteIntegral⟩ have hsint' : Integrable (fun a => s a ^ 2 * q a) μ := ⟨hssm, hsint.hasFiniteIntegral⟩ have hfsint' : Integrable (fun a => f a * s a * q a) μ := ⟨hfssm, hfsint.hasFiniteIntegral⟩ have hquad : ∀ t : ℝ, 0 ≤ (∫ a, s a ^ 2 * q a ∂μ) * (t * t) + (-2 * (∫ a, f a * s a * q a ∂μ)) * t + (∫ a, f a ^ 2 * q a ∂μ) := by intro t have hnonneg : 0 ≤ ∫ a, (f a - t * s a) ^ 2 * q a ∂μ := by apply integral_nonneg_of_ae filter_upwards [hq] with a hqa exact mul_nonneg (sq_nonneg _) hqa have hcross : Integrable (fun a => (2 * t) * (f a * s a * q a)) μ := hfsint'.const_mul (2 * t) have hsquare : Integrable (fun a => t ^ 2 * (s a ^ 2 * q a)) μ := hsint'.const_mul (t ^ 2) have hexpand : (∫ a, (f a - t * s a) ^ 2 * q a ∂μ) = (∫ a, f a ^ 2 * q a ∂μ) - (2 * t) * (∫ a, f a * s a * q a ∂μ) + t ^ 2 * (∫ a, s a ^ 2 * q a ∂μ) := by calc (∫ a, (f a - t * s a) ^ 2 * q a ∂μ) = ∫ a, (f a ^ 2 * q a) - (2 * t) * (f a * s a * q a) + t ^ 2 * (s a ^ 2 * q a) ∂μ := by apply integral_congr_ae filter_upwards with a ring _ = (∫ a, (f a ^ 2 * q a) - (2 * t) * (f a * s a * q a) ∂μ) + (∫ a, t ^ 2 * (s a ^ 2 * q a) ∂μ) := integral_add (hfint'.sub hcross) hsquare _ = ((∫ a, f a ^ 2 * q a ∂μ) - (∫ a, (2 * t) * (f a * s a * q a) ∂μ)) + (∫ a, t ^ 2 * (s a ^ 2 * q a) ∂μ) := by rw [integral_sub hfint' hcross] _ = (∫ a, f a ^ 2 * q a ∂μ) - (2 * t) * (∫ a, f a * s a * q a ∂μ) + t ^ 2 * (∫ a, s a ^ 2 * q a ∂μ) := by rw [integral_const_mul, integral_const_mul] rw [hexpand] at hnonneg nlinarith [hnonneg] have hdisc : discrim (∫ a, s a ^ 2 * q a ∂μ) (-2 * (∫ a, f a * s a * q a ∂μ)) (∫ a, f a ^ 2 * q a ∂μ) ≤ 0 := by apply discrim_le_zero intro t exact hquad t unfold discrim at hdisc nlinarith [hdisc]
Causalean.Stat.Limit.ObservationDependentVanTrees.weighted_integral_mul_sq_le · Causalean/Stat/Limit/ObservationDependentVanTrees/WeightedL2.lean:32
1 supporting declaration (lemmas, instances)