Stat.Minimax.Mixture.Moment­Matched.Marked­Poisson

Total-variation bounds for mixtures of Poisson count experiments under priors built from a signed measure with vanishing low-order moments.

Certificate 10 core · 17 supporting This module realizes a normalized finite signed moment functional as an atomic signed measure. ★ orientedPrior_target_separation

Finite signed moment certificates

This module realizes a normalized finite signed moment functional as an atomic signed measure. It exposes its total variation, a measurable polar sign, and the normalized positive and negative Jordan priors, including an orientation that makes any chosen target separation nonnegative.

structure NormalizedFiniteSignedMomentCertificate reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

A normalized finite signed moment certificate on a finite node index set through a matching degree consists of distinct real nodes, signed weights of total absolute mass one, and vanishing algebraic moments through that degree.

Definition (Lean source)
ι :
Type*
L :
ℕ
node :
ι → ℝ
weight :
ι → ℝ
node_injective :
normalized :
∑ i, |weight i| = 1
moments_zero :
∀ j
if
j ≤ L
then
∑ i, weight i * node i ^ j = 0
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/Certificate.lean:28
def signedMeasure reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

A finite signed certificate induces the atomic signed measure that places each signed weight at its certificate node.

Definition (Lean source)
ι :
Type u_1
shared
L :
ℕ
shared
signedMeasure C :
∑ i, MeasureTheory.VectorMeasure.dirac (C.node i) (C.weight i)
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.signedMeasure · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/Certificate.lean:43 · uses NormalizedFiniteSignedMomentCertificate
def absoluteMeasure reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

A finite signed certificate induces the atomic absolute-weight measure that places the absolute value of each weight at its certificate node.

Definition (Lean source)
ι :
Type u_1
shared
L :
ℕ
shared
absoluteMeasure C :
∑ i, ofReal |C.weight i| • Measure.dirac (C.node i)
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.absoluteMeasure · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/Certificate.lean:49 · uses NormalizedFiniteSignedMomentCertificate
def polarSign reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

The atomic polar sign of a finite signed certificate at an evaluation point equals the sign of the unique weight at a certificate node and is zero away from all nodes.

Definition (Lean source)
ι :
Type u_1
shared
L :
ℕ
shared
x :
ℝ
polarSign C x :
ℝ
∑ i, if x = C.node i then sign (C.weight i) else 0
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.polarSign · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/Certificate.lean:190 · uses NormalizedFiniteSignedMomentCertificate
def positivePrior reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

The normalized positive Jordan prior of a finite signed certificate is obtained by doubling the positive atomic weights.

Definition (Lean source)
ι :
Type u_1
shared
L :
ℕ
shared
positivePrior C :
∑ i, ofReal (2 * max (C.weight i) 0) • Measure.dirac (C.node i)
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.positivePrior · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/Certificate.lean:227 · uses NormalizedFiniteSignedMomentCertificate
def negativePrior reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

The normalized negative Jordan prior of a finite signed certificate is obtained by doubling the magnitudes of the negative atomic weights.

Definition (Lean source)
ι :
Type u_1
shared
L :
ℕ
shared
negativePrior C :
∑ i, ofReal (2 * max (-C.weight i) 0) • Measure.dirac (C.node i)
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.negativePrior · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/Certificate.lean:233 · uses NormalizedFiniteSignedMomentCertificate
def orientedPrior0 reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

The target-oriented null prior for a finite signed certificate and a target function chooses the Jordan prior that makes the alternative target mean at least as large as the null target mean.

Definition (Lean source)
ι :
Type u_1
shared
L :
ℕ
shared
f :
ℝ → ℝ
orientedPrior0 C f :
if 0 ≤ ∑ i, C.weight i * f (C.node i) then C.negativePrior else C.positivePrior
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.orientedPrior0 · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/Certificate.lean:497 · uses NormalizedFiniteSignedMomentCertificate
def orientedPrior1 reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

The target-oriented alternative prior for a finite signed certificate and a target function chooses the opposite Jordan prior from the oriented null, swapping the pair exactly when the certificate evaluates the target negatively.

Definition (Lean source)
ι :
Type u_1
shared
L :
ℕ
shared
f :
ℝ → ℝ
orientedPrior1 C f :
if 0 ≤ ∑ i, C.weight i * f (C.node i) then C.positivePrior else C.negativePrior
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.orientedPrior1 · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/Certificate.lean:504 · uses NormalizedFiniteSignedMomentCertificate
theorem orientedPrior_target_separation reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

Orienting the Jordan priors of a finite signed certificate for a target function makes the alternative-minus-null expectation gap equal twice the absolute signed certificate evaluation.

Formal statement
ι :
Type u_1
shared
L :
ℕ
shared
f :
ℝ → ℝ
∫ x, f x ∂C.orientedPrior1 f - ∫ x, f x ∂C.orientedPrior0 f
= 2 * |∑ i, C.weight i * f (C.node i)|
Proof (Lean source)
theorem orientedPrior_target_separation (C : NormalizedFiniteSignedMomentCertificate ι L) (f : ℝ → ℝ) : ∫ x, f x ∂C.orientedPrior1 f - ∫ x, f x ∂C.orientedPrior0 f = 2 * |∑ i, C.weight i * f (C.node i)| := by by_cases h : 0 ≤ ∑ i, C.weight i * f (C.node i) · rw [orientedPrior1, if_pos h, orientedPrior0, if_pos h, prior_integral_sub, abs_of_nonneg h] · rw [orientedPrior1, if_neg h, orientedPrior0, if_neg h, abs_of_neg (lt_of_not_ge h)] have hsub := prior_integral_sub C f linarith
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.orientedPrior_target_separation · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/Certificate.lean:529 · uses NormalizedFiniteSignedMomentCertificate , orientedPrior0 , orientedPrior1
def ofFiniteMomentDual reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

A finite alternation moment dual for a target function on an interval with lower endpoint and upper endpoint supplies a normalized finite signed moment certificate by using its nodes, weights, normalization, and moment identities.

Definition (Lean source)
L :
ℕ
shared
f :
ℝ → ℝ
r s :
ℝ
D :
ofFiniteMomentDual D :
clause 1
node := D.nodes
clause 2
weight := D.weights
clause 3
node_injective := D.nodes_strictMono.injective
clause 4
normalized := D.weights_normalized
clause 5
moments_zero := D.moments_zero
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.ofFiniteMomentDual · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/Certificate.lean:557 · uses FiniteMomentDual , NormalizedFiniteSignedMomentCertificate
17 supporting declarations (lemmas, instances)
Aggregate­Poisson 8 core · 4 supporting This module isolates the analytic core needed by the marked experiment. ★ exists_geometric_aggregatePoisson_jordan_tv_bound

Aggregate affine-Poisson moment-matched mixtures

This module isolates the analytic core needed by the marked experiment. It combines the treated counts before marking, leaving two independent Poisson counts whose affine rates add to t * p. The resulting Jordan-prior mixture is controlled by the standard exponential-Gram moment-matching bound.

abbrev AggregatePoissonObservation reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

An aggregate Poisson observation records the treated and control counts as a pair.

Definition (Lean source)
AggregatePoissonObservation :
Type
ℕ × ℕ
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.AggregatePoissonObservation · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/AggregatePoisson.lean:25
def aggregateTreatedRate reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

The aggregate treated rate at latent mass is the product of aggregate intensity, overlap fraction, and the mass plus shift, as given by the displayed formula.

Definition (Lean source)
ε a t p :
ℝ
aggregateTreatedRate ε a t p :
ℝ
t * ε * (p + a)
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.aggregateTreatedRate · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/AggregatePoisson.lean:29
def aggregateControlRate reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

The aggregate control rate at latent mass is aggregate intensity times the non-overlap mass after subtracting the contribution from overlap fraction and shift, as given by the displayed formula.

Definition (Lean source)
ε a t p :
ℝ
aggregateControlRate ε a t p :
ℝ
t * ((1 - ε) * p - ε * a)
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.aggregateControlRate · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/AggregatePoisson.lean:34
def aggregatePoissonLaw reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

At latent mass, overlap fraction, shift, and aggregate intensity, the aggregate Poisson law is the product of independent Poisson laws with the aggregate treated and control rates.

Definition (Lean source)
ε a t p :
ℝ
aggregatePoissonLaw ε a t p :
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.aggregatePoissonLaw · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/AggregatePoisson.lean:40 · uses AggregatePoissonObservation
def aggregatePoissonKernelOfRealRate reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

A real-valued rate function determines a Poisson probability law for each latent mass, with negative rates truncated to zero. This kernel is the one-count building block for the aggregate Poisson experiment.

Definition (Lean source)
r :
ℝ → ℝ
aggregatePoissonKernelOfRealRate r :
Kernel ℝ ℕ
(Kernel.const ℝ Measure.count).withDensity fun p n
=> ofReal (exp (-(toNNReal (r p) : ℝ)) * (toNNReal (r p) : ℝ) ^ n / factorial n)
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.aggregatePoissonKernelOfRealRate · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/AggregatePoisson.lean:56
def aggregatePoissonKernel reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

The aggregate affine-Poisson experiment sends latent mass to treated and control counts at overlap fraction, shift, and aggregate intensity, using the product of the corresponding one-count kernels.

Definition (Lean source)
ε a t :
ℝ
aggregatePoissonKernel ε a t :
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.aggregatePoissonKernel · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/AggregatePoisson.lean:83 · uses AggregatePoissonObservation
def aggregatePoissonPredictive reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

Mixing a latent prior through the aggregate experiment with overlap fraction, shift, and aggregate intensity gives the prior-predictive treated/control count law, defined by the usual prior-predictive mixture.

Definition (Lean source)
π :
ε a t :
ℝ
aggregatePoissonPredictive π ε a t :
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.aggregatePoissonPredictive · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/AggregatePoisson.lean:263 · uses AggregatePoissonObservation
theorem exists_geometric_aggregatePoisson_jordan_tv_bound reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

If the overlap fraction is positive and below one half and the support ratio has the stated overlap-dependent value, there are positive constants and a decay factor strictly between zero and one that make the two aggregate Jordan-prior predictive laws geometrically close, whenever intensity times the support bound is sufficiently small relative to the matching degree.

Formal statement
ε κ :
ℝ
hε :
0 < ε
hεhalf :
ε < 1 / 2
hκ :
κ = (1 - 2 * ε) / ε
∃ b D ρ : ℝ,
0 < b
0 < D
ρ ∈ Ioo (0 : ℝ) 1
conclusion 1
ι :
Type*
L :
ℕ
a B t :
ℝ
0 < a
0 < B
0 < t
(∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B)
t * B ≤ b * L
tvDist (aggregatePoissonPredictive C.positivePrior ε a t) (aggregatePoissonPredictive C.negativePrior ε a t)
≤ D * ρ ^ L
Proof (Lean source)
theorem exists_geometric_aggregatePoisson_jordan_tv_bound (ε κ : ℝ) (hε : 0 < ε) (hεhalf : ε < 1 / 2) (hκ : κ = (1 - 2 * ε) / ε) : ∃ b D ρ : ℝ, 0 < b ∧ 0 < D ∧ ρ ∈ Ioo (0 : ℝ) 1 ∧ ∀ {ι : Type*} [Fintype ι] {L : ℕ} (C : NormalizedFiniteSignedMomentCertificate ι L) (a B t : ℝ), 0 < a → 0 < B → 0 < t → (∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) → t * B ≤ b * L → tvDist (aggregatePoissonPredictive C.positivePrior ε a t) (aggregatePoissonPredictive C.negativePrior ε a t) ≤ D * ρ ^ L := by rcases exists_aggregatePoisson_jordan_sqrt_tail_bound ε κ hε hεhalf hκ with ⟨A, hA, htail⟩ rcases exists_geometric_sqrt_exponentialSeriesTail_bound A hA with ⟨b, D, ρ, hb, hD, hρ, hgeom⟩ refine ⟨b, D, ρ, hb, hD, hρ, ?_⟩ intro ι _ L C a B t ha hB ht hsupp hband exact (htail C a B t ha hB ht hsupp).trans (hgeom L (t * B) (mul_nonneg ht.le hB.le) hband)
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.exists_geometric_aggregatePoisson_jordan_tv_bound · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/AggregatePoisson.lean:774 · uses AggregatePoissonObservation , NormalizedFiniteSignedMomentCertificate , negativePrior , positivePrior , signedMeasure , aggregatePoissonPredictive , tvDist
4 supporting declarations (lemmas, instances)
  • aggregatePoissonLaw_isProbabilityMeasure instance — The aggregate two-count law at any overlap fraction, shift, aggregate intensity, and latent mass is a probability measure, because it is a product of Poisson probability measures.
    ε a t p :
    ℝ
    aggregatePoissonLaw_isProbabilityMeasure ε a t p :
    by unfold aggregatePoissonLaw infer_instance
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.aggregatePoissonLaw_isProbabilityMeasure · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/AggregatePoisson.lean:48
  • aggregatePoissonKernel_apply theorem — The fibre of the aggregate kernel at latent mass equals the explicit independent product-Poisson law for the same overlap fraction, shift, and aggregate intensity.
    ε a t p :
    ℝ
    Proof (Lean source)
    theorem aggregatePoissonKernel_apply (ε a t p : ℝ) : aggregatePoissonKernel ε a t p = aggregatePoissonLaw ε a t p := by unfold aggregatePoissonKernel aggregatePoissonLaw rw [Kernel.prod_apply, aggregatePoissonKernelOfRealRate_apply _ (by change Measurable (fun p : ℝ => t * ε * (p + a)) fun_prop), aggregatePoissonKernelOfRealRate_apply _ (by change Measurable (fun p : ℝ => t * ((1 - ε) * p - ε * a)) fun_prop)]
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.aggregatePoissonKernel_apply · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/AggregatePoisson.lean:91
  • exists_geometric_sqrt_exponentialSeriesTail_bound theorem — For any positive tail-scale constant, there are positive constants and a decay factor strictly between zero and one that uniformly bound the square root of the scaled exponential-series tail geometrically in the matching degree, whenever the argument is at most a sufficiently small multiple of that degree.
    A :
    ℝ
    hA :
    0 < A
    ∃ b D ρ : ℝ,
    0 < b
    0 < D
    ρ ∈ Ioo (0 : ℝ) 1
    conclusion 1
    L :
    ℕ
    x :
    ℝ
    0 ≤ x
    x ≤ b * L
    ≤ D * ρ ^ L
    Proof (Lean source)
    theorem exists_geometric_sqrt_exponentialSeriesTail_bound (A : ℝ) (hA : 0 < A) : ∃ b D ρ : ℝ, 0 < b ∧ 0 < D ∧ ρ ∈ Ioo (0 : ℝ) 1 ∧ ∀ (L : ℕ) (x : ℝ), 0 ≤ x → x ≤ b * L → sqrt (exponentialSeriesTail L (A * x)) ≤ D * ρ ^ L := by refine ⟨1 / (16 * A * exp 1), 1, 1 / 2, by positivity, by norm_num, ⟨by norm_num, by norm_num⟩, ?_⟩ intro L x hx hband obtain rfl | hL := L.eq_zero_or_pos · have hxle : x ≤ 0 := by simpa using hband have hxeq : x = 0 := le_antisymm hxle hx subst x have htailzero : exponentialSeriesTail 0 0 = 0 := by unfold exponentialSeriesTail rw [show (fun n : ℕ => if 0 < n then (0 : ℝ) ^ n / (n.factorial : ℝ) else 0) = 0 by funext n split_ifs with hn · simp [zero_pow (Nat.ne_of_gt hn)] · rfl] exact tsum_zero simp only [mul_zero] rw [htailzero, Real.sqrt_zero, pow_zero] norm_num have hz : 0 ≤ A * x := mul_nonneg hA.le hx have hzL : A * x ≤ (L : ℝ) / (16 * exp 1) := by calc A * x ≤ A * ((1 / (16 * A * exp 1)) * (L : ℝ)) := mul_le_mul_of_nonneg_left hband hA.le _ = (L : ℝ) / (16 * exp 1) := by field_simp let f : ℕ → ℝ := fun n => if L < n then (A * x) ^ n / (n.factorial : ℝ) else 0 let g : ℕ → ℝ := fun n => if L < n then (1 / 4 : ℝ) ^ n else 0 have hq : Summable (fun n : ℕ => (1 / 4 : ℝ) ^ n) := summable_geometric_of_norm_lt_one (by norm_num) have hg : Summable g := by apply hq.of_nonneg_of_le · intro n dsimp [g] positivity · intro n dsimp [g] split_ifs · rfl · positivity have hf_nonneg : ∀ n, 0 ≤ f n := by intro n dsimp [f] positivity have hfg : ∀ n, f n ≤ g n := by intro n dsimp [f, g] split_ifs with hn · exact exponential_term_le_quarter_pow L n (A * x) hz hzL hn · rfl have hf : Summable f := hg.of_nonneg_of_le hf_nonneg hfg have htail : exponentialSeriesTail L (A * x) ≤ (1 / 4 : ℝ) ^ L := by unfold exponentialSeriesTail change (∑' n, f n) ≤ _ exact (hf.tsum_le_tsum hfg hg).trans (geometric_quarter_tail L) rw [one_mul, Real.sqrt_le_iff] refine ⟨by positivity, htail.trans_eq ?_⟩ rw [show (1 / 4 : ℝ) = (1 / 2) ^ 2 by norm_num, ← pow_mul, ← pow_mul] congr 1 omega
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.exists_geometric_sqrt_exponentialSeriesTail_bound · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/AggregatePoisson.lean:342
  • exists_aggregatePoisson_jordan_sqrt_tail_bound theorem — If the overlap fraction is positive and below one half and the support ratio has the stated overlap-dependent value, one positive constant uniformly makes the total-variation distance between the aggregate mixtures of the two Jordan priors no larger than a square-root exponential-series tail, with argument proportional to intensity times the support bound.
    ε κ :
    ℝ
    hε :
    0 < ε
    hεhalf :
    ε < 1 / 2
    hκ :
    κ = (1 - 2 * ε) / ε
    ∃ A : ℝ,
    0 < A
    conclusion 1
    ι :
    Type*
    L :
    ℕ
    a B t :
    ℝ
    0 < a
    0 < B
    0 < t
    (∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B)
    tvDist (aggregatePoissonPredictive C.positivePrior ε a t) (aggregatePoissonPredictive C.negativePrior ε a t)
    ≤ sqrt (exponentialSeriesTail L (A * (t * B)))
    Proof (Lean source)
    theorem exists_aggregatePoisson_jordan_sqrt_tail_bound (ε κ : ℝ) (hε : 0 < ε) (hεhalf : ε < 1 / 2) (hκ : κ = (1 - 2 * ε) / ε) : ∃ A : ℝ, 0 < A ∧ ∀ {ι : Type*} [Fintype ι] {L : ℕ} (C : NormalizedFiniteSignedMomentCertificate ι L) (a B t : ℝ), 0 < a → 0 < B → 0 < t → (∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) → tvDist (aggregatePoissonPredictive C.positivePrior ε a t) (aggregatePoissonPredictive C.negativePrior ε a t) ≤ sqrt (exponentialSeriesTail L (A * (t * B))) := by have hden : 0 < 1 - 2 * ε := by nlinarith have hκpos : 0 < κ := by rw [hκ]; positivity let A : ℝ := 2 * ε + 2 * (1 - ε) ^ 2 / ε have hA : 0 < A := by dsimp [A] positivity refine ⟨A, hA, ?_⟩ intro ι _ L C a B t ha hB ht hsupp let l : ℝ := a / κ let c : ℝ := (l + B) / 2 let R : ℝ := (B - l) / 2 let qT : ℝ := t * ε * (c + a) let qC : ℝ := t * ((1 - ε) * c - ε * a) let sT : ℝ := t * ε let sC : ℝ := t * (1 - ε) let lambda : ℝ := sT ^ 2 / qT + sC ^ 2 / qC let πP : Measure ℝ := Measure.map (fun p : ℝ => p - c) C.positivePrior let πN : Measure ℝ := Measure.map (fun p : ℝ => p - c) C.negativePrior let Kc : Kernel ℝ AggregatePoissonObservation := (aggregatePoissonKernel ε a t).comap (fun θ : ℝ => θ + c) (by fun_prop) let Q : Measure AggregatePoissonObservation := (poissonMeasure (toNNReal qT)).prod (poissonMeasure (toNNReal qC)) let likelihood : ℝ → AggregatePoissonObservation → ℝ := aggregateCenteredLikelihood qT qC sT sC have hlB : l ≤ B := by rcases hsupp.exists with ⟨p, hp⟩ exact hp.1.trans hp.2 have hlpos : 0 < l := div_pos ha hκpos have ha_le : a ≤ κ * B := by simpa [mul_comm] using (div_le_iff₀ hκpos).mp (by simpa [l] using hlB) have hcontrol_l : 0 < (1 - ε) * l - ε * a := by have hinv : κ⁻¹ = ε / (1 - 2 * ε) := by rw [hκ, inv_div] have hden' : 1 - ε * 2 ≠ 0 := by nlinarith have hid : (1 - ε) * l - ε * a = a * ε ^ 2 / (1 - 2 * ε) := by dsimp [l] rw [div_eq_mul_inv, hinv] field_simp [hden'] ring rw [hid] positivity have hcontrol_B : ε * B ≤ (1 - ε) * B - ε * a := by have hκmul : ε * κ = 1 - 2 * ε := by rw [hκ] field_simp nlinarith [mul_le_mul_of_nonneg_left ha_le hε.le] have hc_ge_halfB : B / 2 ≤ c := by dsimp [c] nlinarith [hlpos.le] have hRnonneg : 0 ≤ R := by dsimp [R]; linarith have hRleB : R ≤ B := by dsimp [R]; nlinarith [hlpos.le] have hqT_lower : t * ε * (B / 2) ≤ qT := by dsimp [qT] apply mul_le_mul_of_nonneg_left _ (mul_nonneg ht.le hε.le) linarith [ha] have hqT : 0 < qT := lt_of_lt_of_le (by positivity) hqT_lower have hqC_lower : t * (ε * B / 2) ≤ qC := by dsimp [qC, c] have hcidentity : (1 - ε) * ((l + B) / 2) - ε * a = (((1 - ε) * l - ε * a) + ((1 - ε) * B - ε * a)) / 2 := by ring rw [hcidentity] have : ε * B / 2 ≤ (((1 - ε) * l - ε * a) + ((1 - ε) * B - ε * a)) / 2 := by nlinarith [hcontrol_l, hcontrol_B] exact mul_le_mul_of_nonneg_left this ht.le have hqC : 0 < qC := lt_of_lt_of_le (by positivity) hqC_lower have hlambda : 0 ≤ lambda := by dsimp [lambda] positivity have hcenter_mem (θ : ℝ) (hθ : |θ| ≤ R) : θ + c ∈ Icc l B := by rw [abs_le] at hθ constructor <;> dsimp [c, R] at * <;> linarith have hrates (θ : ℝ) (hθ : |θ| ≤ R) : 0 ≤ qT + sT * θ ∧ 0 ≤ qC + sC * θ := by have hp := hcenter_mem θ hθ constructor · have : 0 < θ + c + a := lt_of_lt_of_le (add_pos hlpos ha) (by linarith [hp.1]) dsimp [qT, sT] nlinarith [mul_pos (mul_pos ht hε) this] · have hc0 : 0 ≤ (1 - ε) * (θ + c) - ε * a := (le_of_lt hcontrol_l).trans (by have he1 : 0 ≤ 1 - ε := by nlinarith nlinarith [mul_le_mul_of_nonneg_left hp.1 he1]) dsimp [qC, sC] nlinarith [mul_nonneg ht.le hc0] have hparamT (θ : ℝ) : aggregateTreatedRate ε a t (θ + c) = qT + sT * θ := by dsimp [aggregateTreatedRate, qT, sT] ring have hparamC (θ : ℝ) : aggregateControlRate ε a t (θ + c) = qC + sC * θ := by dsimp [aggregateControlRate, qC, sC] ring haveI : IsProbabilityMeasure πP := by dsimp [πP] exact Measure.isProbabilityMeasure_map (by fun_prop) haveI : IsProbabilityMeasure πN := by dsimp [πN] exact Measure.isProbabilityMeasure_map (by fun_prop) haveI : IsProbabilityMeasure Q := by dsimp [Q] infer_instance have hKprob : ∀ θ, IsProbabilityMeasure (Kc θ) := by intro θ dsimp [Kc] rw [aggregatePoissonKernel_apply] infer_instance have hmeas : Measurable (fun z : ℝ × AggregatePoissonObservation => likelihood z.1 z.2) := by exact measurable_aggregateCenteredLikelihood qT qC sT sC have hnonneg : ∀ θ, |θ| ≤ R → ∀ z, 0 ≤ likelihood θ z := by intro θ hθ z exact aggregateCenteredLikelihood_nonnegative qT qC sT sC θ hqT hqC (hrates θ hθ).1 (hrates θ hθ).2 z have hdensity : ∀ θ, |θ| ≤ R → Kc θ = Q.withDensity fun z => ofReal (likelihood θ z) := by intro θ hθ dsimp [Kc, Q, likelihood] rw [aggregatePoissonKernel_apply] exact aggregatePoissonLaw_centered_eq_withDensity ε a t c θ qT qC sT sC hqT hqC (hrates θ hθ).1 (hrates θ hθ).2 (hparamT θ) (hparamC θ) have hinner : ∀ θ, |θ| ≤ R → ∀ θ', |θ'| ≤ R → ∫ z, likelihood θ z * likelihood θ' z ∂Q = exp (lambda * θ * θ') := by intro θ hθ θ' hθ' exact aggregateCenteredLikelihood_inner qT qC sT sC θ θ' hqT hqC rcases jordanPriors_ae_of_variation C hsupp with ⟨hsuppP, hsuppN⟩ have hsuppπP : πP {θ | |θ| ≤ R} = 1 := by exact centered_map_supported C.positivePrior l B c R rfl rfl hsuppP have hsuppπN : πN {θ | |θ| ≤ R} = 1 := by exact centered_map_supported C.negativePrior l B c R rfl rfl hsuppN have hmom : ∀ n ≤ L, ∫ θ, θ ^ n ∂πP = ∫ θ, θ ^ n ∂πN := by intro n hn exact centered_map_moments_eq C l B c hsupp n hn have hlambdaR : lambda * R ^ 2 ≤ A * (t * B) := by have hqTbound : sT ^ 2 / qT ≤ 2 * t * ε / B := by rw [div_le_iff₀ hqT] have := hqT_lower dsimp [sT] field_simp nlinarith have hqCbound : sC ^ 2 / qC ≤ 2 * t * (1 - ε) ^ 2 / (ε * B) := by rw [div_le_iff₀ hqC] have := hqC_lower dsimp [sC] field_simp nlinarith [sq_nonneg (1 - ε)] have hR2 : R ^ 2 ≤ B ^ 2 := by nlinarith [sq_nonneg R, sq_nonneg B] dsimp [lambda, A] calc (sT ^ 2 / qT + sC ^ 2 / qC) * R ^ 2 ≤ (2 * t * ε / B + 2 * t * (1 - ε) ^ 2 / (ε * B)) * R ^ 2 := by gcongr _ ≤ (2 * t * ε / B + 2 * t * (1 - ε) ^ 2 / (ε * B)) * B ^ 2 := by gcongr _ = (2 * ε + 2 * (1 - ε) ^ 2 / ε) * (t * B) := by field_simp have htv := momentMatchedMixture_tv_le_sqrt_tail_of_supported πP πN Kc Q likelihood hKprob lambda R L hlambda hRnonneg hmeas hnonneg hdensity hinner hsuppπP hsuppπN hmom rw [priorPredictive_centered_map C.positivePrior (aggregatePoissonKernel ε a t) c, priorPredictive_centered_map C.negativePrior (aggregatePoissonKernel ε a t) c] at htv exact htv.trans (Real.sqrt_le_sqrt (exponentialSeriesTail_mono L (mul_nonneg hlambda (sq_nonneg R)) hlambdaR))
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.exists_aggregatePoisson_jordan_sqrt_tail_bound · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/AggregatePoisson.lean:586
Palm­Split 15 core · 15 supporting This module defines a paper-independent four-count experiment. ★ palmSplit_aggregatePoissonLaw_real_target

Label-gated marked-Poisson mixtures

This module defines a paper-independent four-count experiment. Its two labeled treated counts receive opposite homogeneous binary marks, while an auxiliary treated count and an aggregate control count do not depend on the branch. Moment cancellation yields a geometric prior-predictive TV bound.

abbrev MarkedPoissonObservation reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

The marked-Poisson observation is the four-count outcome consisting of labeled treated counts with marks one and zero, followed by auxiliary-treated and aggregate-control counts, and is given by the Cartesian product of four natural-number count spaces.

Definition (Lean source)
MarkedPoissonObservation :
Type
(ℕ × ℕ) × (ℕ × ℕ)
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.MarkedPoissonObservation · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:23
def treatedMass reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

The treated mass at latent mass is the overlap fraction times the mass plus a shift, as given by the displayed formula.

Definition (Lean source)
ε a p :
ℝ
treatedMass ε a p :
ℝ
ε * (p + a)
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.treatedMass · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:29
def controlMass reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

The aggregate control mass subtracts treated mass from latent cell mass. It is evaluated at an overlap parameter, a shift, and a latent cell mass.

Definition (Lean source)
ε a p :
ℝ
controlMass ε a p :
ℝ
p - treatedMass ε a p
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.controlMass · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:33
def branchMark reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

The signed branch mark equals the mark on the alternative branch and its negation on the null branch, for an outcome-mark branch and a mark value.

Definition (Lean source)
branch :
h :
ℝ
branchMark branch h :
ℝ
if branch then h else -h
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.branchMark · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:38
def markedPoissonLaw reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

At latent mass, the marked-Poisson observation law for overlap fraction, shift, labeled intensity, auxiliary intensity, mark function, and branch is the product of four independent Poisson laws with the corresponding marked rates.

Definition (Lean source)
ε a u v :
ℝ
h :
ℝ → ℝ
branch :
p :
ℝ
markedPoissonLaw ε a u v h branch p :
((poissonMeasure (toNNReal (u * treatedMass ε a p * (1 + branchMark branch (h p)) / 2))).prod (poissonMeasure (toNNReal (u * treatedMass ε a p * (1 - branchMark branch (h p)) / 2)))).prod ((poissonMeasure (toNNReal (v * treatedMass ε a p))).prod (poissonMeasure (toNNReal ((u + v) * controlMass ε a p))))
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.markedPoissonLaw · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:42 · uses MarkedPoissonObservation
def poissonKernelOfRealRate reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

A real-valued rate function determines a Poisson probability law for each latent mass, with negative rates truncated to zero. This kernel is the one-count building block for the marked Poisson experiment.

Definition (Lean source)
r :
ℝ → ℝ
poissonKernelOfRealRate r :
Kernel ℝ ℕ
(Kernel.const ℝ Measure.count).withDensity fun p n
=> ofReal (exp (-(toNNReal (r p) : ℝ)) * (toNNReal (r p) : ℝ) ^ n / factorial n)
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.poissonKernelOfRealRate · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:69
def markedPoissonKernel reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture

The four-count marked-Poisson experiment sends latent mass to observations using overlap fraction, shift, labeled intensity, auxiliary intensity, a measurable mark function, and a branch, and is formed as the product of the four corresponding Poisson kernels.

Definition (Lean source)
ε a u v :
ℝ
h :
ℝ → ℝ
hh :
branch :
markedPoissonKernel ε a u v h hh branch :
((poissonKernelOfRealRate fun p => u * treatedMass ε a p * (1 + branchMark branch (h p)) / 2) ×ₖ (poissonKernelOfRealRate fun p => u * treatedMass ε a p * (1 - branchMark branch (h p)) / 2)) ×ₖ ((poissonKernelOfRealRate fun p => v * treatedMass ε a p) ×ₖ (poissonKernelOfRealRate fun p => (u + v) * controlMass ε a p))
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.markedPoissonKernel · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:95 · uses MarkedPoissonObservation
def markedPoissonPredictive reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

A finite signed certificate, with node index set and matching degree, induces the one-coordinate marked-Poisson predictive law for overlap fraction, shift, labeled intensity, auxiliary intensity, and branch by mixing over its zero-inflated variation prior.

Definition (Lean source)
ι :
Type*
L :
ℕ
ε a u v :
ℝ
branch :
markedPoissonPredictive C ε a u v branch :
priorPredictive (C.zeroInflatedPrior a) (markedPoissonKernel ε a u v C.polarSign C.measurable_polarSign branch)
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.markedPoissonPredictive · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:129 · uses MarkedPoissonObservation , NormalizedFiniteSignedMomentCertificate
def noLabeledTreated reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

The zero-labeled-count event consists of observations in which neither outcome mark has a labeled treated count.

Definition (Lean source)
noLabeledTreated :
{z | z.1.1 + z.1.2 = 0}
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.noLabeledTreated · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:162 · uses MarkedPoissonObservation
def palmSplitEmbed reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

For an outcome-mark branch, an aggregate Poisson observation, and a splitting count, the Palm-split embedded observation records the marked observation obtained by assigning that count to the selected branch. It is the atomic outcome used to construct the Palm-split law.

Definition (Lean source)
first :
k :
ℕ
palmSplitEmbed first z k :
if k
≤ z.1 then if first then ((k + 1, 0), (z.1 - k, z.2)) else ((0, k + 1), (z.1 - k, z.2)) else ((0, 0), (0, 0))
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.palmSplitEmbed · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:235 · uses AggregatePoissonObservation , MarkedPoissonObservation
def palmSplitSubmeasure reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

For a binomial success probability, an outcome-mark branch, and an aggregate Poisson observation, the Palm-split submeasure distributes inverse-size-biased binomial mass over its marked split outcomes. It provides the non-null part of the Palm-split probability law.

Definition (Lean source)
palmSplitSubmeasure q first z :
∑ k ∈ range (z.1 + 1), ofReal ((binomial z.1 q).real {k} * (1 / ((k : ℝ) + 1))) • Measure.dirac (palmSplitEmbed first z k)
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.palmSplitSubmeasure · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:247 · uses AggregatePoissonObservation , MarkedPoissonObservation
def palmSplitMeasure reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

For a binomial success probability, an outcome-mark branch, and an aggregate Poisson observation, the Palm-split probability measure completes the Palm-split submeasure by placing its remaining mass on the null observation. It is the probability law used to define the associated Markov kernel.

Definition (Lean source)
palmSplitMeasure q first z :
+ (1 - palmSplitSubmeasure q first z univ) • Measure.dirac ((0, 0), (0, 0))
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.palmSplitMeasure · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:283 · uses AggregatePoissonObservation , MarkedPoissonObservation
def palmSplitKernel reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

For a binomial success probability and an outcome-mark branch, the Palm-split kernel maps each aggregate Poisson observation to its Palm-split probability law. It transports aggregate predictive laws into the marked-observation experiment.

Definition (Lean source)
first :
Kernel.ofFunOfCountable (palmSplitMeasure q first)
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.palmSplitKernel · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:305 · uses AggregatePoissonObservation , MarkedPoissonObservation
def palmSplitTarget reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

For an outcome-mark branch, a selected count, and the remaining treated and control counts, the Palm-split target observation places the selected count in the branch's labeled coordinate and retains the remaining counts. It names the singleton event evaluated in the Palm-split identities.

Definition (Lean source)
first :
k s t :
ℕ
palmSplitTarget first k s t :
if first then ((k + 1, 0), (s, t)) else ((0, k + 1), (s, t))
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.palmSplitTarget · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:321 · uses MarkedPoissonObservation
theorem palmSplit_aggregatePoissonLaw_real_target reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

For an overlap fraction, positive shift, labeled and auxiliary treated intensities, and latent mass, if both intensities are nonnegative, their sum is positive, and the treated rate is nonnegative, then for a selected outcome branch and three count indices, the Palm-split aggregate Poisson law assigns the target singleton the displayed inverse-size-biased product of three Poisson masses.

Formal statement
ε a u v p :
ℝ
hu :
0 ≤ u
hv :
0 ≤ v
ht :
0 < u + v
hr :
0 ≤ ε * (p + a)
first :
k s t :
ℕ
(palmSplitKernel (⟨u / (u + v), by constructor · positivity · rw [div_le_one ht] linarith⟩ : unitInterval) first ∘ₘ aggregatePoissonLaw ε a (u + v) p).real {palmSplitTarget first k s t}
= (1 / ((k : ℝ) + 1)) * (poissonMeasure (toNNReal (u * (ε * (p + a))))).real {k} * (poissonMeasure (toNNReal (v * (ε * (p + a))))).real {s} * (poissonMeasure (toNNReal ((u + v) * controlMass ε a p))).real {t}
Proof (Lean source)
theorem palmSplit_aggregatePoissonLaw_real_target (ε a u v p : ℝ) (hu : 0 ≤ u) (hv : 0 ≤ v) (ht : 0 < u + v) (hr : 0 ≤ ε * (p + a)) (first : Bool) (k s t : ℕ) : (palmSplitKernel (⟨u / (u + v), by constructor · positivity · rw [div_le_one ht] linarith⟩ : unitInterval) first ∘ₘ aggregatePoissonLaw ε a (u + v) p).real {palmSplitTarget first k s t} = (1 / ((k : ℝ) + 1)) * (poissonMeasure (toNNReal (u * (ε * (p + a))))).real {k} * (poissonMeasure (toNNReal (v * (ε * (p + a))))).real {s} * (poissonMeasure (toNNReal ((u + v) * controlMass ε a p))).real {t} := by let q : unitInterval := ⟨u / (u + v), by constructor · positivity · rw [div_le_one ht] linarith⟩ let A : Set MarkedPoissonObservation := {palmSplitTarget first k s t} have hreal : (palmSplitKernel q first ∘ₘ aggregatePoissonLaw ε a (u + v) p).real A = ∫ z, (palmSplitMeasure q first z).real A ∂aggregatePoissonLaw ε a (u + v) p := by rw [measureReal_def, Measure.bind_apply (measurableSet_singleton _) (by fun_prop)] rw [← integral_toReal (by fun_prop)] · apply integral_congr_ae filter_upwards with z rfl · filter_upwards with z exact measure_lt_top _ _ change (palmSplitKernel q first ∘ₘ aggregatePoissonLaw ε a (u + v) p).real A = _ rw [hreal] rw [integral_countable (by apply Integrable.of_bound (by fun_prop) 1 filter_upwards with z rw [Real.norm_eq_abs, abs_of_nonneg measureReal_nonneg] exact (measureReal_mono (Set.subset_univ A) (measure_ne_top _ _)).trans_eq (by simp))] simp only [smul_eq_mul] rw [show (fun z : AggregatePoissonObservation => (aggregatePoissonLaw ε a (u + v) p).real {z} * (palmSplitMeasure q first z).real A) = fun z => if z = (k + s, t) then (aggregatePoissonLaw ε a (u + v) p).real {z} * ((binomial (k + s) q).real {k} * (1 / ((k : ℝ) + 1))) else 0 by funext z dsimp [A] simp only [measureReal_def] rw [palmSplitMeasure_target_eq_ite] split_ifs with hz · rw [ENNReal.toReal_ofReal (mul_nonneg measureReal_nonneg (by positivity))] rfl · simp] rw [tsum_ite_eq (k + s, t)] rw [aggregatePoissonLaw, prod_real_singleton, aggregateTreatedRate, aggregateControlRate] have hcontrol : (1 - ε) * p - ε * a = controlMass ε a p := by simp [controlMass, treatedMass] ring rw [hcontrol] rw [show (u + v) * ε * (p + a) = (u + v) * (ε * (p + a)) by ring] dsimp [q] have hsplit := poisson_binomial_split u v (ε * (p + a)) hu hv hr ht k s calc _ = ((poissonMeasure (toNNReal ((u + v) * (ε * (p + a))))).real {k + s} * (binomial (k + s) (⟨u / (u + v), by constructor · positivity · rw [div_le_one ht] linarith⟩ : unitInterval)).real {k}) * (1 / ((k : ℝ) + 1)) * (poissonMeasure (toNNReal ((u + v) * controlMass ε a p))).real {t} := by ring _ = _ := by rw [hsplit]; ring
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.palmSplit_aggregatePoissonLaw_real_target · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PalmSplit.lean:578 · uses AggregatePoissonObservation , MarkedPoissonObservation , palmSplitKernel , palmSplitTarget , aggregatePoissonLaw , controlMass
15 supporting declarations (lemmas, instances)
Predictive­Identities 1 core · 2 supporting This module proves predictive identities for the four-count experiment defined in PalmSplit. ★ markedPredictive_real_target_sub

Predictive identities for label-gated marked-Poisson mixtures

This module proves predictive identities for the four-count experiment defined in PalmSplit. It identifies the branch-sensitive singleton masses and relates the marked predictive laws to aggregate Poisson mixtures.

theorem markedPredictive_real_target_sub reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

For a finite latent index set, moment degree, and normalized moment-matching certificate, an overlap fraction, support ratio, positive shift, support bound, and labeled and auxiliary intensities, if the overlap fraction is positive and below one half, the support ratio has its required value, the shift is positive, both intensities are nonnegative with positive sum, and the signed prior is supported on the required interval, then for a selected branch and three count indices, the difference between the two marked prior-predictive singleton masses equals the signed Palm-split difference scaled by the labeled intensity, overlap, and shift.

Formal statement
ι :
Type*
L :
ℕ
ε κ a B u v :
ℝ
hε :
0 < ε
hεhalf :
ε < 1 / 2
hκeq :
κ = (1 - 2 * ε) / ε
ha :
0 < a
hu :
0 ≤ u
hv :
0 ≤ v
ht :
0 < u + v
hsupp :
∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
first :
k s t :
ℕ
(C.markedPoissonPredictive ε a u v false).real {palmSplitTarget first k s t}
- (C.markedPoissonPredictive ε a u v true).real {palmSplitTarget first k s t}
= (if first then (-1 : ℝ) else 1) * (u * ε * a / 2) * ((palmSplitKernel (⟨u / (u + v), by constructor · positivity · rw [div_le_one ht] linarith⟩ : unitInterval) first ∘ₘ aggregatePoissonPredictive C.positivePrior ε a (u + v)).real {palmSplitTarget first k s t} - (palmSplitKernel (⟨u / (u + v), by constructor · positivity · rw [div_le_one ht] linarith⟩ : unitInterval) first ∘ₘ aggregatePoissonPredictive C.negativePrior ε a (u + v)).real {palmSplitTarget first k s t})
Proof (Lean source)
theorem markedPredictive_real_target_sub {ι : Type*} [Fintype ι] {L : ℕ} (C : NormalizedFiniteSignedMomentCertificate ι L) (ε κ a B u v : ℝ) (hε : 0 < ε) (hεhalf : ε < 1 / 2) (hκeq : κ = (1 - 2 * ε) / ε) (ha : 0 < a) (hu : 0 ≤ u) (hv : 0 ≤ v) (ht : 0 < u + v) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) (first : Bool) (k s t : ℕ) : (C.markedPoissonPredictive ε a u v false).real {palmSplitTarget first k s t} - (C.markedPoissonPredictive ε a u v true).real {palmSplitTarget first k s t} = (if first then (-1 : ℝ) else 1) * (u * ε * a / 2) * ((palmSplitKernel (⟨u / (u + v), by constructor · positivity · rw [div_le_one ht] linarith⟩ : unitInterval) first ∘ₘ aggregatePoissonPredictive C.positivePrior ε a (u + v)).real {palmSplitTarget first k s t} - (palmSplitKernel (⟨u / (u + v), by constructor · positivity · rw [div_le_one ht] linarith⟩ : unitInterval) first ∘ₘ aggregatePoissonPredictive C.negativePrior ε a (u + v)).real {palmSplitTarget first k s t}) := by have hκpos : 0 < κ := by rw [hκeq] apply div_pos · nlinarith · exact hε let q : unitInterval := ⟨u / (u + v), by constructor · positivity · rw [div_le_one ht] linarith⟩ rw [markedPredictive_real_singleton_sub C ε a u v κ B ha hκpos hsupp, palmSplit_aggregatePredictive_real_target_sub C ε a u v hu hv ht] calc _ = ∑ i, (if first then (-1 : ℝ) else 1) * (u * ε * a) * (C.weight i * (palmSplitKernel q first ∘ₘ aggregatePoissonLaw ε a (u + v) (C.node i)).real {palmSplitTarget first k s t}) := by apply Finset.sum_congr rfl intro i hi by_cases hw : C.weight i = 0 · simp [hw] · have hnode := node_mem_support C a κ B hsupp i hw have hp : 0 < C.node i := lt_of_lt_of_le (div_pos ha hκpos) hnode.1 have hpa : 0 < C.node i + a := add_pos hp ha have hr : 0 ≤ ε * (C.node i + a) := by positivity have hrate : 0 ≤ u * (ε * (C.node i + a)) := mul_nonneg hu hr have ha_le : a ≤ κ * C.node i := by simpa [mul_comm] using (div_le_iff₀ hκpos).mp hnode.1 have hκε : κ * ε = 1 - 2 * ε := by rw [hκeq] field_simp have hc : 0 ≤ controlMass ε a (C.node i) := by simp [controlMass, treatedMass] nlinarith [mul_nonneg hε.le hp.le] have hsign : sign (C.weight i) = 1 ∨ sign (C.weight i) = -1 := (Real.sign_apply_eq_of_ne_zero _ hw).symm have hlaw (branch : Bool) : markedPoissonLaw ε a u v C.polarSign branch (C.node i) = markedPoissonLaw ε a u v (fun _ => sign (C.weight i)) branch (C.node i) := by unfold markedPoissonLaw rw [polarSign_node] rw [hlaw false, hlaw true] change |C.weight i| * (a / (C.node i + a)) * ((markedPoissonLaw ε a u v (fun _ => sign (C.weight i)) false (C.node i)).real {palmSplitTarget first k s t} - (markedPoissonLaw ε a u v (fun _ => sign (C.weight i)) true (C.node i)).real {palmSplitTarget first k s t}) = _ rw [markedPoissonLaw_real_target_sub ε a u v (C.node i) (sign (C.weight i)) hsign first k s t, palmSplit_aggregatePoissonLaw_real_target ε a u v (C.node i) hu hv ht hr first k s t] calc _ = |C.weight i| * (if first then -sign (C.weight i) else sign (C.weight i)) * ((a / (C.node i + a)) * (poissonMeasure (toNNReal (u * (ε * (C.node i + a))))).real {k + 1}) * (poissonMeasure (toNNReal (v * (ε * (C.node i + a))))).real {s} * (poissonMeasure (toNNReal ((u + v) * controlMass ε a (C.node i)))).real {t} := by ring _ = |C.weight i| * (if first then -sign (C.weight i) else sign (C.weight i)) * ((u * ε * a / (k + 1)) * (poissonMeasure (toNNReal (u * (ε * (C.node i + a))))).real {k}) * (poissonMeasure (toNNReal (v * (ε * (C.node i + a))))).real {s} * (poissonMeasure (toNNReal ((u + v) * controlMass ε a (C.node i)))).real {t} := by rw [poisson_palm ε a u (C.node i) hrate hpa k] _ = _ := by rw [show |C.weight i| * (if first then -sign (C.weight i) else sign (C.weight i)) = (if first then (-1 : ℝ) else 1) * C.weight i by cases first <;> simp [abs_mul_sign]] ring _ = _ := by dsimp [q] rw [← Finset.mul_sum] ring
2 supporting declarations (lemmas, instances)
  • markedPredictive_real_both_positive_sub_eq_zero theorem — If the offset is positive, the scaling constant is positive, and the certificate's variation measure is supported on the stated interval, then the two marked predictive laws assign equal real mass to every singleton with both labeled counts positive.
    ι :
    Type*
    L :
    ℕ
    ε a u v κ B :
    ℝ
    ha :
    0 < a
    hκ :
    0 < κ
    hsupp :
    ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
    k l s t :
    ℕ
    (C.markedPoissonPredictive ε a u v false).real {((k + 1, l + 1), (s, t))}
    - (C.markedPoissonPredictive ε a u v true).real {((k + 1, l + 1), (s, t))}
    = 0
    Proof (Lean source)
    theorem markedPredictive_real_both_positive_sub_eq_zero {ι : Type*} [Fintype ι] {L : ℕ} (C : NormalizedFiniteSignedMomentCertificate ι L) (ε a u v κ B : ℝ) (ha : 0 < a) (hκ : 0 < κ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) (k l s t : ℕ) : (C.markedPoissonPredictive ε a u v false).real {((k + 1, l + 1), (s, t))} - (C.markedPoissonPredictive ε a u v true).real {((k + 1, l + 1), (s, t))} = 0 := by rw [markedPredictive_real_singleton_sub C ε a u v κ B ha hκ hsupp] apply Finset.sum_eq_zero intro i hi by_cases hw : C.weight i = 0 · simp [hw] · have hsign : sign (C.weight i) = 1 ∨ sign (C.weight i) = -1 := (Real.sign_apply_eq_of_ne_zero _ hw).symm have hlaw (branch : Bool) : markedPoissonLaw ε a u v C.polarSign branch (C.node i) = markedPoissonLaw ε a u v (fun _ => sign (C.weight i)) branch (C.node i) := by unfold markedPoissonLaw rw [polarSign_node] rw [hlaw false, hlaw true] rcases hsign with hs | hs <;> rw [hs] <;> simp [markedPoissonLaw, branchMark, prod_real_singleton, poissonMeasure_real_singleton, zero_pow (by omega : k + 1 ≠ 0), zero_pow (by omega : l + 1 ≠ 0)]
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.markedPredictive_real_both_positive_sub_eq_zero · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PredictiveIdentities.lean:194
  • aggregatePoissonKernel_isMarkovKernel instance — For a sampling scale, an offset, and an exposure, the aggregate Poisson kernel is a Markov kernel, because each of its output measures is a probability measure.
    ε a t :
    ℝ
    aggregatePoissonKernel_isMarkovKernel ε a t :
    isProbabilityMeasure p := by rw [aggregatePoissonKernel_apply] infer_instance
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.aggregatePoissonKernel_isMarkovKernel · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/PredictiveIdentities.lean:258
Product 2 core · 2 supporting The one-coordinate experiment is tensorized over finitely many independent coordinates, and the reusable total-variation product inequality transfers the geometric one-coordinate estimate with the expected factor k. ★ markedPoissonProductPredictive_geometric_tv_le_of_one_coordinate_bound

Finite products of label-gated marked-Poisson mixtures

The one-coordinate experiment is tensorized over finitely many independent coordinates, and the reusable total-variation product inequality transfers the geometric one-coordinate estimate with the expected factor k.

def markedPoissonProductPredictive reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

The product marked-Poisson predictive measure takes the finite product of the one-coordinate predictive measure across the chosen coordinates. Its inputs are a finite signed certificate, the coordinate count, overlap, shift, labeled and auxiliary intensities, and an outcome-mark branch.

Definition (Lean source)
ι :
Type u_1
shared
L :
ℕ
shared
k :
ℕ
ε a u v :
ℝ
branch :
markedPoissonProductPredictive C k ε a u v branch :
Measure.pi fun _ : Fin k => C.markedPoissonPredictive ε a u v branch
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.markedPoissonProductPredictive · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/Product.lean:23 · uses MarkedPoissonObservation , NormalizedFiniteSignedMomentCertificate
theorem markedPoissonProductPredictive_geometric_tv_le_of_one_coordinate_bound reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

Given a finite signed certificate, a number of coordinates, an overlap parameter, a shift parameter, a labeled intensity, an auxiliary intensity, a support ratio, a support bound, a coefficient, and a power base, if the shift is positive, the support ratio is positive, the certificate variation has the stated support, and the one-coordinate geometric total-variation bound is assumed, then that assumed bound tensorizes over the coordinates with an extra factor k.

Formal statement
ι :
Type u_1
shared
L :
ℕ
shared
k :
ℕ
ε a u v κ B C₀ ρ :
ℝ
ha :
0 < a
hκ :
0 < κ
hsupp :
∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
hone :
tvDist (C.markedPoissonPredictive ε a u v false) (C.markedPoissonPredictive ε a u v true)
≤ C₀ * u * a * ρ ^ L
tvDist (C.markedPoissonProductPredictive k ε a u v false) (C.markedPoissonProductPredictive k ε a u v true)
≤ C₀ * u * k * a * ρ ^ L
Proof (Lean source)
theorem markedPoissonProductPredictive_geometric_tv_le_of_one_coordinate_bound (C : NormalizedFiniteSignedMomentCertificate ι L) (k : ℕ) (ε a u v κ B C₀ ρ : ℝ) (ha : 0 < a) (hκ : 0 < κ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) (hone : tvDist (C.markedPoissonPredictive ε a u v false) (C.markedPoissonPredictive ε a u v true) ≤ C₀ * u * a * ρ ^ L) : tvDist (C.markedPoissonProductPredictive k ε a u v false) (C.markedPoissonProductPredictive k ε a u v true) ≤ C₀ * u * k * a * ρ ^ L := by calc tvDist (C.markedPoissonProductPredictive k ε a u v false) (C.markedPoissonProductPredictive k ε a u v true) ≤ k * (C₀ * u * a * ρ ^ L) := C.tvDist_markedPoissonProductPredictive_le k ε a u v κ B (C₀ * u * a * ρ ^ L) ha hκ hsupp hone _ = C₀ * u * k * a * ρ ^ L := by ring
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.markedPoissonProductPredictive_geometric_tv_le_of_one_coordinate_bound · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/Product.lean:87 · uses MarkedPoissonObservation , NormalizedFiniteSignedMomentCertificate , markedPoissonPredictive , markedPoissonProductPredictive , signedMeasure , tvDist
2 supporting declarations (lemmas, instances)
  • markedPoissonProductPredictive_isProbabilityMeasure theorem — The independent product of the marked-Poisson predictive law is a probability measure, provided the scalar prior's support conditions hold: for a certificate, coordinate count, overlap, shift, intensities, support ratio, support bound and branch, if the shift is positive, the support ratio is positive, and the certificate's variation is almost surely supported in the interval from the shift-to-ratio quotient up to the bound, then the product law is a probability measure.
    ι :
    Type u_1
    shared
    L :
    ℕ
    shared
    k :
    ℕ
    ε a u v κ B :
    ℝ
    branch :
    ha :
    0 < a
    hκ :
    0 < κ
    hsupp :
    ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
    IsProbabilityMeasure (C.markedPoissonProductPredictive k ε a u v branch)
    Proof (Lean source)
    theorem markedPoissonProductPredictive_isProbabilityMeasure (C : NormalizedFiniteSignedMomentCertificate ι L) (k : ℕ) (ε a u v κ B : ℝ) (branch : Bool) (ha : 0 < a) (hκ : 0 < κ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) : IsProbabilityMeasure (C.markedPoissonProductPredictive k ε a u v branch) := by letI : IsProbabilityMeasure (C.markedPoissonPredictive ε a u v branch) := C.markedPoissonPredictive_isProbabilityMeasure ε a u v κ B branch ha hκ hsupp change IsProbabilityMeasure (Measure.pi fun _ : Fin k => C.markedPoissonPredictive ε a u v branch) exact inferInstance
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.markedPoissonProductPredictive_isProbabilityMeasure · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/Product.lean:36
  • tvDist_markedPoissonProductPredictive_le theorem — A one-coordinate total-variation bound by a distance threshold tensorizes to the same bound times the number of independent coordinates for a certificate, coordinate count, and overlap, shift, intensity, and support parameters, provided the shift is positive, the support ratio is positive, and the certificate variation has the stated compact support.
    ι :
    Type u_1
    shared
    L :
    ℕ
    shared
    k :
    ℕ
    ε a u v κ B δ :
    ℝ
    ha :
    0 < a
    hκ :
    0 < κ
    hsupp :
    ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
    hone :
    tvDist (C.markedPoissonPredictive ε a u v false) (C.markedPoissonPredictive ε a u v true)
    ≤ δ
    tvDist (C.markedPoissonProductPredictive k ε a u v false) (C.markedPoissonProductPredictive k ε a u v true)
    ≤ k * δ
    Proof (Lean source)
    theorem tvDist_markedPoissonProductPredictive_le (C : NormalizedFiniteSignedMomentCertificate ι L) (k : ℕ) (ε a u v κ B δ : ℝ) (ha : 0 < a) (hκ : 0 < κ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) (hone : tvDist (C.markedPoissonPredictive ε a u v false) (C.markedPoissonPredictive ε a u v true) ≤ δ) : tvDist (C.markedPoissonProductPredictive k ε a u v false) (C.markedPoissonProductPredictive k ε a u v true) ≤ k * δ := by letI : IsProbabilityMeasure (C.markedPoissonPredictive ε a u v false) := C.markedPoissonPredictive_isProbabilityMeasure ε a u v κ B false ha hκ hsupp letI : IsProbabilityMeasure (C.markedPoissonPredictive ε a u v true) := C.markedPoissonPredictive_isProbabilityMeasure ε a u v κ B true ha hκ hsupp unfold markedPoissonProductPredictive calc tvDist (Measure.pi fun _ : Fin k => C.markedPoissonPredictive ε a u v false) (Measure.pi fun _ : Fin k => C.markedPoissonPredictive ε a u v true) ≤ k * tvDist (C.markedPoissonPredictive ε a u v false) (C.markedPoissonPredictive ε a u v true) := tvDist_pi_iid_le k _ _ _ ≤ k * δ := mul_le_mul_of_nonneg_left hone (Nat.cast_nonneg k)
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.tvDist_markedPoissonProductPredictive_le · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/Product.lean:55
TVBound 1 core · 1 supporting This module derives total-variation bounds for the four-count experiment defined in PalmSplit. ★ exists_geometric_markedPoisson_tv_bound

Total-variation bounds for label-gated marked-Poisson mixtures

This module derives total-variation bounds for the four-count experiment defined in PalmSplit. It first reduces the marked-law discrepancy to an aggregate Poisson mixture discrepancy, then combines that reduction with moment cancellation to obtain a geometric prior-predictive bound.

theorem exists_geometric_markedPoisson_tv_bound reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

If the overlap fraction is positive and below one half and the support ratio has the stated overlap-dependent value, there are positive constants and a decay factor strictly between zero and one that uniformly bound the one-coordinate marked-Poisson total-variation distance by a geometric term, whenever total intensity times the support bound is sufficiently small relative to the matching degree.

Formal statement
ε κ :
ℝ
hε :
0 < ε
hεhalf :
ε < 1 / 2
hκ :
κ = (1 - 2 * ε) / ε
∃ b C₀ ρ : ℝ,
0 < b
0 < C₀
ρ ∈ Ioo (0 : ℝ) 1
conclusion 1
ι :
Type*
L :
ℕ
a B u v :
ℝ
0 < a
0 < B
0 ≤ u
0 ≤ v
0 < u + v
(∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B)
(u + v) * B ≤ b * L
tvDist (C.markedPoissonPredictive ε a u v false) (C.markedPoissonPredictive ε a u v true)
≤ C₀ * u * a * ρ ^ L
Proof (Lean source)
theorem exists_geometric_markedPoisson_tv_bound (ε κ : ℝ) (hε : 0 < ε) (hεhalf : ε < 1 / 2) (hκ : κ = (1 - 2 * ε) / ε) : ∃ b C₀ ρ : ℝ, 0 < b ∧ 0 < C₀ ∧ ρ ∈ Ioo (0 : ℝ) 1 ∧ ∀ {ι : Type*} [Fintype ι] {L : ℕ} (C : NormalizedFiniteSignedMomentCertificate ι L) (a B u v : ℝ), 0 < a → 0 < B → 0 ≤ u → 0 ≤ v → 0 < u + v → (∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) → (u + v) * B ≤ b * L → tvDist (C.markedPoissonPredictive ε a u v false) (C.markedPoissonPredictive ε a u v true) ≤ C₀ * u * a * ρ ^ L := by rcases exists_geometric_aggregatePoisson_jordan_tv_bound ε κ hε hεhalf hκ with ⟨b, D, ρ, hb, hD, hρ, hagg⟩ refine ⟨b, ε * D, ρ, hb, mul_pos hε hD, hρ, ?_⟩ intro ι _ L C a B u v ha hB hu hv ht hsupp hband calc tvDist (C.markedPoissonPredictive ε a u v false) (C.markedPoissonPredictive ε a u v true) ≤ u * ε * a * tvDist (aggregatePoissonPredictive C.positivePrior ε a (u + v)) (aggregatePoissonPredictive C.negativePrior ε a (u + v)) := C.tvDist_markedPoissonPredictive_le_palm_aggregate ε κ a B u v hε hεhalf hκ ha hu hv ht hsupp _ ≤ u * ε * a * (D * ρ ^ L) := by gcongr exact hagg C a B (u + v) ha hB ht hsupp hband _ = (ε * D) * u * a * ρ ^ L := by ring
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.exists_geometric_markedPoisson_tv_bound · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/TVBound.lean:223 · uses MarkedPoissonObservation , NormalizedFiniteSignedMomentCertificate , markedPoissonPredictive , signedMeasure , tvDist
1 supporting declaration (lemmas, instances)
Zero­Inflated 5 core · 8 supporting The variation probability is tilted by a / (p + a) and the missing mass is placed at zero. ★ integral_id_zeroInflatedPrior★ integral_sq_zeroInflatedPrior_le★ variance_sum_zeroInflatedProductPrior

Zero-inflated priors from finite signed certificates

The variation probability is tilted by a / (p + a) and the missing mass is placed at zero. This file records support, moment, and finite i.i.d.-product identities used by rare-cell constructions.

def zeroInflatedPrior reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

The zero-inflated prior measure reweights a certificate's variation measure by the nonnegative part of the shift-to-shifted-mass ratio and places at zero the nonnegative part of one minus the integral of that ratio. It is defined from a finite signed certificate and a shift parameter.

Definition (Lean source)
ι :
Type u_1
shared
L :
ℕ
shared
a :
ℝ
zeroInflatedPrior C a :
C.signedMeasure.variation.withDensity (fun p => ofReal (a / (p + a)))
+ ofReal (1 - ∫ p, a / (p + a) ∂C.signedMeasure.variation) • Measure.dirac 0
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.zeroInflatedPrior · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/ZeroInflated.lean:59 · uses NormalizedFiniteSignedMomentCertificate
theorem integral_id_zeroInflatedPrior reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

For a finite signed moment certificate, a positive shift, a positive support ratio, a support upper bound, and variation supported on the corresponding compact interval, the zero-inflated prior's first moment equals the shift times the variation expectation of the tilted coordinate.

Formal statement
ι :
Type u_1
shared
L :
ℕ
shared
a κ B :
ℝ
ha :
0 < a
hκ :
0 < κ
hsupp :
∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
∫ p, p ∂C.zeroInflatedPrior a = a * ∫ p, p / (p + a) ∂C.signedMeasure.variation
Proof (Lean source)
theorem integral_id_zeroInflatedPrior (C : NormalizedFiniteSignedMomentCertificate ι L) (a κ B : ℝ) (ha : 0 < a) (hκ : 0 < κ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) : ∫ p, p ∂C.zeroInflatedPrior a = a * ∫ p, p / (p + a) ∂C.signedMeasure.variation := by have hprior := integrable_id_zeroInflatedPrior C a κ B ha hκ hsupp have hleft : Integrable (fun p : ℝ => p) (C.signedMeasure.variation.withDensity (fun p => ofReal (a / (p + a)))) := by simpa [zeroInflatedPrior] using hprior.mono_measure (Measure.le_add_right (μ := C.signedMeasure.variation.withDensity (fun p => ofReal (a / (p + a)))) le_rfl) have hright : Integrable (fun p : ℝ => p) (ofReal (1 - ∫ p, a / (p + a) ∂C.signedMeasure.variation) • Measure.dirac 0) := by simpa [zeroInflatedPrior] using hprior.mono_measure (Measure.le_add_left (μ := ofReal (1 - ∫ p, a / (p + a) ∂C.signedMeasure.variation) • Measure.dirac (0 : ℝ)) le_rfl) rw [zeroInflatedPrior, integral_add_measure hleft hright, integral_withDensity_eq_integral_toReal_smul (measurable_tilt a).ennreal_ofReal (ae_of_all _ fun _ => ENNReal.ofReal_lt_top) (fun p : ℝ => p), integral_smul_measure, integral_dirac] simp only [smul_eq_mul, mul_zero, add_zero] calc ∫ p, (ofReal (a / (p + a))).toReal * p ∂C.signedMeasure.variation = ∫ p, (a / (p + a)) * p ∂C.signedMeasure.variation := by apply integral_congr_ae filter_upwards [tilt_nonneg_ae C a κ B ha hκ hsupp] with p hp rw [ENNReal.toReal_ofReal hp] _ = ∫ p, a * (p / (p + a)) ∂C.signedMeasure.variation := by apply integral_congr_ae exact ae_of_all _ fun p => by ring _ = a * ∫ p, p / (p + a) ∂C.signedMeasure.variation := by rw [integral_const_mul]
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.integral_id_zeroInflatedPrior · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/ZeroInflated.lean:145 · uses NormalizedFiniteSignedMomentCertificate , signedMeasure , zeroInflatedPrior
theorem integral_sq_zeroInflatedPrior_le reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

For a finite signed moment certificate, a positive shift, a positive support ratio, a support upper bound, and variation supported on the corresponding compact interval, the zero-inflated prior's second moment is at most the support upper bound times its first moment.

Formal statement
ι :
Type u_1
shared
L :
ℕ
shared
a κ B :
ℝ
ha :
0 < a
hκ :
0 < κ
hsupp :
∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
∫ p, p ^ 2 ∂C.zeroInflatedPrior a ≤ B * ∫ p, p ∂C.zeroInflatedPrior a
Proof (Lean source)
theorem integral_sq_zeroInflatedPrior_le (C : NormalizedFiniteSignedMomentCertificate ι L) (a κ B : ℝ) (ha : 0 < a) (hκ : 0 < κ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) : ∫ p, p ^ 2 ∂C.zeroInflatedPrior a ≤ B * ∫ p, p ∂C.zeroInflatedPrior a := by have hid := integrable_id_zeroInflatedPrior C a κ B ha hκ hsupp have hsq := integrable_sq_zeroInflatedPrior C a κ B ha hκ hsupp rw [← integral_const_mul] apply integral_mono_ae hsq (hid.const_mul B) filter_upwards [zeroInflatedPrior_support C a κ B hsupp] with p hp rcases hp with rfl | hp · simp · have hp0 : 0 ≤ p := (div_pos ha hκ).le.trans hp.1 simpa [pow_two] using mul_le_mul_of_nonneg_right hp.2 hp0
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.integral_sq_zeroInflatedPrior_le · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/ZeroInflated.lean:189 · uses NormalizedFiniteSignedMomentCertificate , signedMeasure , zeroInflatedPrior
def zeroInflatedProductPrior reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

The finite-product zero-inflated prior measure takes the product of the scalar zero-inflated prior measures across the coordinates. It is built from a finite signed certificate, a shift parameter, and a coordinate count.

Definition (Lean source)
ι :
Type u_1
shared
L :
ℕ
shared
a :
ℝ
k :
ℕ
zeroInflatedProductPrior C a k :
Measure (Fin k → ℝ)
Measure.pi fun _ : Fin k => C.zeroInflatedPrior a
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.zeroInflatedProductPrior · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/ZeroInflated.lean:209 · uses NormalizedFiniteSignedMomentCertificate
theorem variance_sum_zeroInflatedProductPrior reviewed
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate

The sum over the finite product coordinates from a finite signed certificate has variance equal to the coordinate count times the scalar zero-inflated variance when the shift is positive, the support ratio is positive, and the variation measure has the stated support bound.

Formal statement
ι :
Type u_1
shared
L :
ℕ
shared
a κ B :
ℝ
k :
ℕ
ha :
0 < a
hκ :
0 < κ
hsupp :
∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
variance (fun w : Fin k → ℝ => ∑ i, w i) (C.zeroInflatedProductPrior a k)
= k * variance id (C.zeroInflatedPrior a)
Proof (Lean source)
theorem variance_sum_zeroInflatedProductPrior (C : NormalizedFiniteSignedMomentCertificate ι L) (a κ B : ℝ) (k : ℕ) (ha : 0 < a) (hκ : 0 < κ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) : variance (fun w : Fin k → ℝ => ∑ i, w i) (C.zeroInflatedProductPrior a k) = k * variance id (C.zeroInflatedPrior a) := by letI : IsProbabilityMeasure (C.zeroInflatedPrior a) := zeroInflatedPrior_isProbabilityMeasure C a κ B ha hκ hsupp rw [zeroInflatedProductPrior] have hfun : (fun w : Fin k → ℝ => ∑ i, w i) = ∑ i, fun w : Fin k → ℝ => w i := by funext w simp rw [hfun] have hmem : MemLp id 2 (C.zeroInflatedPrior a) := (memLp_two_iff_integrable_sq measurable_id.aestronglyMeasurable).2 (integrable_sq_zeroInflatedPrior C a κ B ha hκ hsupp) simpa [Finset.sum_const, Finset.card_univ, Fintype.card_fin, nsmul_eq_mul] using (variance_sum_pi (μ := fun _ : Fin k => C.zeroInflatedPrior a) (X := fun _ => id) (fun _ => hmem))
Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.variance_sum_zeroInflatedProductPrior · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/ZeroInflated.lean:334 · uses NormalizedFiniteSignedMomentCertificate , signedMeasure , zeroInflatedPrior , zeroInflatedProductPrior
8 supporting declarations (lemmas, instances)
  • zeroInflatedPrior_isProbabilityMeasure theorem — The zero-inflated prior from a finite signed certificate is a probability measure when the shift is positive, the support ratio is positive, and the certificate variation is supported between the resulting lower endpoint and the support bound.
    ι :
    Type u_1
    shared
    L :
    ℕ
    shared
    a κ B :
    ℝ
    ha :
    0 < a
    hκ :
    0 < κ
    hsupp :
    ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
    IsProbabilityMeasure (C.zeroInflatedPrior a)
    Proof (Lean source)
    theorem zeroInflatedPrior_isProbabilityMeasure (C : NormalizedFiniteSignedMomentCertificate ι L) (a κ B : ℝ) (ha : 0 < a) (hκ : 0 < κ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) : IsProbabilityMeasure (C.zeroInflatedPrior a) := by let q := ∫ p, a / (p + a) ∂C.signedMeasure.variation have hq0 : 0 ≤ q := integral_nonneg_of_ae (tilt_nonneg_ae C a κ B ha hκ hsupp) have hq1 : q ≤ 1 := by simpa [q] using integral_mono_ae (integrable_tilt C a κ B ha hκ hsupp) (integrable_const 1) (tilt_le_one_ae C a κ B ha hκ hsupp) constructor rw [zeroInflatedPrior, Measure.add_apply, withDensity_apply _ MeasurableSet.univ, Measure.smul_apply, Measure.dirac_apply_of_mem (Set.mem_univ 0), smul_eq_mul, mul_one, setLIntegral_univ, ← ofReal_integral_eq_lintegral_ofReal (integrable_tilt C a κ B ha hκ hsupp) (tilt_nonneg_ae C a κ B ha hκ hsupp)] change ofReal q + ofReal (1 - q) = 1 rw [← ENNReal.ofReal_add hq0 (sub_nonneg.mpr hq1)] simp
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.zeroInflatedPrior_isProbabilityMeasure · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/ZeroInflated.lean:73
  • zeroInflatedPrior_support theorem — The zero-inflated prior from a finite signed certificate is supported on zero together with the certificate's compact support interval for a shift and a support ratio, when the variation measure is supported in the stated interval.
    ι :
    Type u_1
    shared
    L :
    ℕ
    shared
    a κ B :
    ℝ
    hsupp :
    ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
    ∀ᵐ p ∂C.zeroInflatedPrior a, p = 0 ∨ p ∈ Icc (a / κ) B
    Proof (Lean source)
    theorem zeroInflatedPrior_support (C : NormalizedFiniteSignedMomentCertificate ι L) (a κ B : ℝ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) : ∀ᵐ p ∂C.zeroInflatedPrior a, p = 0 ∨ p ∈ Icc (a / κ) B := by rw [zeroInflatedPrior, ae_add_measure_iff] constructor · exact (withDensity_absolutelyContinuous _ _).ae_le (hsupp.mono fun p hp => inr hp) · apply Measure.ae_smul_measure rw [ae_dirac_iff] · exact inl rfl · exact (measurableSet_singleton 0).union (measurableSet_Icc)
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.zeroInflatedPrior_support · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/ZeroInflated.lean:97
  • zeroInflatedProductPrior_isProbabilityMeasure theorem — The finite-coordinate product of the zero-inflated prior from a finite signed certificate is a probability measure when the shift is positive, the support ratio is positive, and the certificate variation has the stated support bound.
    ι :
    Type u_1
    shared
    L :
    ℕ
    shared
    a κ B :
    ℝ
    k :
    ℕ
    ha :
    0 < a
    hκ :
    0 < κ
    hsupp :
    ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
    IsProbabilityMeasure (C.zeroInflatedProductPrior a k)
    Proof (Lean source)
    theorem zeroInflatedProductPrior_isProbabilityMeasure (C : NormalizedFiniteSignedMomentCertificate ι L) (a κ B : ℝ) (k : ℕ) (ha : 0 < a) (hκ : 0 < κ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) : IsProbabilityMeasure (C.zeroInflatedProductPrior a k) := by letI : IsProbabilityMeasure (C.zeroInflatedPrior a) := zeroInflatedPrior_isProbabilityMeasure C a κ B ha hκ hsupp change IsProbabilityMeasure (Measure.pi fun _ : Fin k => C.zeroInflatedPrior a) exact inferInstance
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.zeroInflatedProductPrior_isProbabilityMeasure · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/ZeroInflated.lean:220
  • zeroInflatedProductPrior_support theorem — Every coordinate in the finite product of the zero-inflated prior from a finite signed certificate lies almost surely at zero or in the certificate's compact support interval when the shift is positive, the support ratio is positive, and the variation measure has the stated support bound.
    ι :
    Type u_1
    shared
    L :
    ℕ
    shared
    a κ B :
    ℝ
    k :
    ℕ
    ha :
    0 < a
    hκ :
    0 < κ
    hsupp :
    ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
    ∀ᵐ w ∂C.zeroInflatedProductPrior a k, ∀ i, w i = 0 ∨ w i ∈ Icc (a / κ) B
    Proof (Lean source)
    theorem zeroInflatedProductPrior_support (C : NormalizedFiniteSignedMomentCertificate ι L) (a κ B : ℝ) (k : ℕ) (ha : 0 < a) (hκ : 0 < κ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) : ∀ᵐ w ∂C.zeroInflatedProductPrior a k, ∀ i, w i = 0 ∨ w i ∈ Icc (a / κ) B := by letI : IsProbabilityMeasure (C.zeroInflatedPrior a) := zeroInflatedPrior_isProbabilityMeasure C a κ B ha hκ hsupp rw [zeroInflatedProductPrior, ae_all_iff] intro i exact (Measure.tendsto_eval_ae_ae (μ := fun _ : Fin k => C.zeroInflatedPrior a)).eventually (zeroInflatedPrior_support C a κ B hsupp)
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.zeroInflatedProductPrior_support · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/ZeroInflated.lean:234
  • integral_coordinate_zeroInflatedProductPrior theorem — A selected coordinate of the finite product from a finite signed certificate has the scalar zero-inflated first moment when the shift is positive, the support ratio is positive, and the variation measure has the stated support bound.
    ι :
    Type u_1
    shared
    L :
    ℕ
    shared
    a κ B :
    ℝ
    k :
    ℕ
    i :
    Fin k
    ha :
    0 < a
    hκ :
    0 < κ
    hsupp :
    ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
    ∫ w, w i ∂C.zeroInflatedProductPrior a k = a * ∫ p, p / (p + a) ∂C.signedMeasure.variation
    Proof (Lean source)
    theorem integral_coordinate_zeroInflatedProductPrior (C : NormalizedFiniteSignedMomentCertificate ι L) (a κ B : ℝ) (k : ℕ) (i : Fin k) (ha : 0 < a) (hκ : 0 < κ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) : ∫ w, w i ∂C.zeroInflatedProductPrior a k = a * ∫ p, p / (p + a) ∂C.signedMeasure.variation := by letI : IsProbabilityMeasure (C.zeroInflatedPrior a) := zeroInflatedPrior_isProbabilityMeasure C a κ B ha hκ hsupp rw [zeroInflatedProductPrior, integral_comp_eval (μ := fun _ : Fin k => C.zeroInflatedPrior a) (f := fun p : ℝ => p) measurable_id.aestronglyMeasurable] exact integral_id_zeroInflatedPrior C a κ B ha hκ hsupp
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.integral_coordinate_zeroInflatedProductPrior · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/ZeroInflated.lean:251
  • integral_coordinate_sq_zeroInflatedProductPrior theorem — A selected coordinate of the finite product from a finite signed certificate has the scalar zero-inflated second moment when the shift is positive, the support ratio is positive, and the variation measure has the stated support bound.
    ι :
    Type u_1
    shared
    L :
    ℕ
    shared
    a κ B :
    ℝ
    k :
    ℕ
    i :
    Fin k
    ha :
    0 < a
    hκ :
    0 < κ
    hsupp :
    ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
    ∫ w, (w i) ^ 2 ∂C.zeroInflatedProductPrior a k = ∫ p, p ^ 2 ∂C.zeroInflatedPrior a
    Proof (Lean source)
    theorem integral_coordinate_sq_zeroInflatedProductPrior (C : NormalizedFiniteSignedMomentCertificate ι L) (a κ B : ℝ) (k : ℕ) (i : Fin k) (ha : 0 < a) (hκ : 0 < κ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) : ∫ w, (w i) ^ 2 ∂C.zeroInflatedProductPrior a k = ∫ p, p ^ 2 ∂C.zeroInflatedPrior a := by letI : IsProbabilityMeasure (C.zeroInflatedPrior a) := zeroInflatedPrior_isProbabilityMeasure C a κ B ha hκ hsupp rw [zeroInflatedProductPrior, integral_comp_eval (μ := fun _ : Fin k => C.zeroInflatedPrior a) (f := fun p : ℝ => p ^ 2) (measurable_id.pow_const 2).aestronglyMeasurable]
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.integral_coordinate_sq_zeroInflatedProductPrior · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/ZeroInflated.lean:268
  • variance_coordinate_zeroInflatedProductPrior theorem — A selected coordinate of the finite product from a finite signed certificate has the same variance as the scalar zero-inflated prior when the shift is positive, the support ratio is positive, and the variation measure has the stated support bound.
    ι :
    Type u_1
    shared
    L :
    ℕ
    shared
    a κ B :
    ℝ
    k :
    ℕ
    i :
    Fin k
    ha :
    0 < a
    hκ :
    0 < κ
    hsupp :
    ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
    variance (fun w : Fin k → ℝ => w i) (C.zeroInflatedProductPrior a k)
    = variance id (C.zeroInflatedPrior a)
    Proof (Lean source)
    theorem variance_coordinate_zeroInflatedProductPrior (C : NormalizedFiniteSignedMomentCertificate ι L) (a κ B : ℝ) (k : ℕ) (i : Fin k) (ha : 0 < a) (hκ : 0 < κ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) : variance (fun w : Fin k → ℝ => w i) (C.zeroInflatedProductPrior a k) = variance id (C.zeroInflatedPrior a) := by letI : IsProbabilityMeasure (C.zeroInflatedPrior a) := zeroInflatedPrior_isProbabilityMeasure C a κ B ha hκ hsupp change variance (id ∘ Function.eval i) (Measure.pi fun _ : Fin k => C.zeroInflatedPrior a) = variance id (C.zeroInflatedPrior a) calc _ = variance id (Measure.map (Function.eval i) (Measure.pi fun _ : Fin k => C.zeroInflatedPrior a)) := (variance_map measurable_id.aemeasurable (measurable_pi_apply i).aemeasurable).symm _ = variance id (C.zeroInflatedPrior a) := by rw [(measurePreserving_eval (fun _ : Fin k => C.zeroInflatedPrior a) i).map_eq]
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.variance_coordinate_zeroInflatedProductPrior · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/ZeroInflated.lean:284
  • integral_sum_zeroInflatedProductPrior theorem — The sum over the finite product coordinates from a finite signed certificate has expectation equal to the coordinate count times the scalar zero-inflated first moment when the shift is positive, the support ratio is positive, and the variation measure has the stated support bound.
    ι :
    Type u_1
    shared
    L :
    ℕ
    shared
    a κ B :
    ℝ
    k :
    ℕ
    ha :
    0 < a
    hκ :
    0 < κ
    hsupp :
    ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B
    ∫ w, ∑ i, w i ∂C.zeroInflatedProductPrior a k
    = k * (a * ∫ p, p / (p + a) ∂C.signedMeasure.variation)
    Proof (Lean source)
    theorem integral_sum_zeroInflatedProductPrior (C : NormalizedFiniteSignedMomentCertificate ι L) (a κ B : ℝ) (k : ℕ) (ha : 0 < a) (hκ : 0 < κ) (hsupp : ∀ᵐ p ∂C.signedMeasure.variation, p ∈ Icc (a / κ) B) : ∫ w, ∑ i, w i ∂C.zeroInflatedProductPrior a k = k * (a * ∫ p, p / (p + a) ∂C.signedMeasure.variation) := by letI : IsProbabilityMeasure (C.zeroInflatedPrior a) := zeroInflatedPrior_isProbabilityMeasure C a κ B ha hκ hsupp rw [zeroInflatedProductPrior] calc (∫ w, ∑ i, w i ∂Measure.pi fun _ : Fin k => C.zeroInflatedPrior a) = ∑ i, ∫ w, w i ∂Measure.pi fun _ : Fin k => C.zeroInflatedPrior a := by simpa using (integral_finsetSum univ (μ := Measure.pi fun _ : Fin k => C.zeroInflatedPrior a) (f := fun (i : Fin k) (w : Fin k → ℝ) => w i) (fun i _ => integrable_comp_eval (μ := fun _ : Fin k => C.zeroInflatedPrior a) (integrable_id_zeroInflatedPrior C a κ B ha hκ hsupp))) _ = k * (a * ∫ p, p / (p + a) ∂C.signedMeasure.variation) := by simp_rw [integral_comp_eval (μ := fun _ : Fin k => C.zeroInflatedPrior a) (f := fun p : ℝ => p) measurable_id.aestronglyMeasurable, integral_id_zeroInflatedPrior C a κ B ha hκ hsupp, Finset.sum_const, Finset.card_univ, Fintype.card_fin, nsmul_eq_mul]
    Causalean.Stat.Minimax.MomentMatchedMixture.FiniteSignedMomentMarkedPoissonMixture.NormalizedFiniteSignedMomentCertificate.integral_sum_zeroInflatedProductPrior · Causalean/Stat/Minimax/Mixture/MomentMatched/MarkedPoisson/ZeroInflated.lean:306