InformationTheory.Shannon.MeasurePiTiltedFactorization
Finite Measure.pi tilt factorization #
This file builds the finite-product tilt factorization lemma, a building block
for the IsMeasureInfinitePiTiltedEq reduction in
InformationTheory/Shannon/Cramer/LC2PhaseC.lean.
The key result is pi_tilted_sum_eq_pi_tilted:
(Measure.pi (fun _ : Fin n => μ₀)).tilted (fun ω => ∑ i, lam * Y (ω i))
= Measure.pi (fun _ : Fin n => μ₀.tilted (fun ω => lam * Y ω))
Main statements #
lintegral_pi_prod— unrestricted lintegral Fubini forMeasure.piof a per-coordinate product.setLIntegral_pi_prod_factor— box-restricted version.integral_exp_sum_pi_eq_pow— normalization constantZ^n.pi_tilted_sum_eq_pi_tilted— the finite tilt factorization.
Implementation notes #
The factorization is built from Measure.pi_eq (a measure on a finite product
equals the product measure if they agree on rectangles), reducing to a box-wise
lintegral product factorization proved by Fin n induction mirroring
MeasureTheory.integral_fin_nat_prod_eq_prod.
Lintegral product factorization over Measure.pi #
InformationTheory.Shannon.Cramer.TiltedLLN.lintegral_pi_prod
sourceUnrestricted lintegral Fubini for Measure.pi of a per-coordinate
product of nonnegative measurable functions, the lintegral analogue of
MeasureTheory.integral_fin_nat_prod_eq_prod.
Used by
InformationTheory.Shannon.Cramer.TiltedLLN.setLIntegral_pi_prod_factor
sourceBox-restricted Tonelli: the lintegral over the box pi univ s of a
per-coordinate product factors as the product of the per-coordinate
box-restricted lintegrals.
Used by
Normalization constant Z^n #
InformationTheory.Shannon.Cramer.TiltedLLN.integral_exp_sum_pi_eq_pow
sourceThe partition function of the sum exponent on the finite product is
the n-th power of the single-coordinate partition function.
Used by
The finite tilt factorization #
InformationTheory.Shannon.Cramer.TiltedLLN.pi_tilted_sum_eq_pi_tilted
sourceThe tilt of the finite product measure by the sum exponent factors as the product of the per-coordinate tilts.
(Measure.pi (fun _ => μ₀)).tilted (∑ i, lam · Y (· i)) = Measure.pi (fun _ => μ₀.tilted (lam · Y)).