InformationTheory.Shannon.EPI.L3Integration
Entropy power inequality — final integration #
This file integrates the building blocks from EntropyPowerInequality,
StamEPIBridge, and FisherInfo to assemble IsEPIL3IntegratedPipeline and
derive the entropy power inequality.
Main definitions #
IsEPIL3IntegratedPipeline: single-field structure carryingIsStamInequalityHyp.
Main statements #
isEPIL3IntegratedPipeline_of_gaussian: Gaussian pipeline witness from a Stam hypothesis.entropy_power_inequality_gaussian: Gaussian EPI, hypothesis-free.isEPIL3IntegratedPipeline_symm: symmetry of the integrated pipeline.isEPIL3IntegratedPipeline_of_stam: pipeline from a Stam hypothesis.integrated_pipeline_roundtrip: round-trip sanity check.
Implementation notes #
The Stam-to-EPI bridge (Cover–Thomas, Csiszár-style coupling) enters as follows:
- The Stam inequality is received as an
IsStamInequalityHyp X Y Pargument. - de Bruijn integration uses
IsDeBruijnIntegrationHypandFisherInfo.deBruijn_identity_v2_gaussianfor the Gaussian case. - The Stam-to-EPI coupling is not a field of the pipeline: consumers supply
IsStamToEPIBridgeHypseparately (epi_via_stam). The Gaussian saturation case needs no bridge at all (entropy_power_inequality_gaussian).
Integrated pipeline predicate #
InformationTheory.Shannon.EPIL3Integration.IsEPIL3IntegratedPipeline
sourceThe integrated pipeline predicate.
Carries the Stam inequality (Cover–Thomas signature) as its
single field. The Stam-to-EPI bridge (Cover–Thomas coupling) is
deliberately not a field: consumers that need the entropy power inequality supply
IsStamToEPIBridgeHyp separately (epi_via_stam) rather than threading a
bridge : IsStamToEPIBridgeHyp predicate hypothesis through the pipeline.
Stam inequality (Cover–Thomas) signature.
Instances For
Used by
Gaussian pipeline witness #
InformationTheory.Shannon.EPIL3Integration.isEPIL3IntegratedPipeline_of_gaussian
sourceA Gaussian pipeline witness from a Stam hypothesis.
For independent Gaussians X, Y with non-zero variance, the Stam field is supplied
as an IsStamInequalityHyp X Y P argument, not discharged. The
hypothesis-free Gaussian EPI (no Stam claim at all) is
entropy_power_inequality_gaussian.
Used by
Pipeline predicate manipulation #
InformationTheory.Shannon.EPIL3Integration.isEPIL3IntegratedPipeline_symm
sourceIsEPIL3IntegratedPipeline X Y P implies IsEPIL3IntegratedPipeline Y X P.
Used by
InformationTheory.Shannon.EPIL3Integration.isEPIL3IntegratedPipeline_of_stam
sourceA pipeline built directly from a Stam hypothesis.
The Stam inequality is the pipeline's only field; the Stam-to-EPI bridge is not
part of it and is supplied separately by consumers (epi_via_stam).
Used by
Concrete Gaussian EPI via saturation #
The Gaussian EPI is entropy_power_inequality_gaussian below (direct from
entropyPower_gaussian_additivity); the integrated-pipeline form takes a real
IsStamInequalityHyp argument.
InformationTheory.Shannon.EPIL3Integration.entropy_power_inequality_gaussian
sourceThe Gaussian entropy power inequality, combining the Gaussian saturation case directly (no Stam predicate needed for the inequality itself; the predicate is only needed for the integrated pipeline form).
Used by
Final sanity-check theorems #
InformationTheory.Shannon.EPIL3Integration.integrated_pipeline_roundtrip
sourceBuilding a pipeline from the Stam hypothesis and then extracting it yields the original.
Used by
Family-level de Bruijn lift and bounded-T FTC application #
This section provides the family-level de Bruijn lift and the bounded-T Gaussian
FTC application. The HasDerivAt content is available through
FisherInfo.deBruijn_identity_v2_gaussian; a non-Gaussian extension routes
through the de Bruijn lemma debruijnIdentityV2_holds_assembled.
The pipeline wrappers above take only the single-field Stam bundle; the
Stam-to-EPI bridge is not among their hypotheses and is supplied separately by
consumers (epi_via_stam). The de Bruijn integration identity here is the input
to Csiszár scaling.
De Bruijn tail externalization #
Externalizes the T → ∞ tail-analysis of the heat-flow differential entropy as
data, with an EReal lift for the divergent Gaussian limit and a Z_law field
that closes the Z := 0 vacuous-bypass channel.
Z_law : P.map Z = gaussianReal 0 1closes theZ = 0bypass channel.h_inf : ERealaccommodates the+∞Gaussian limit; the convergenceTendsto (Real.toEReal ∘ ·) atTop (𝓝 ⊤) ↔ Tendsto · atTop atTop(EReal.tendsto_coe_nhds_top_iff) bridges to the real-valued divergence statement.
The Gaussian instance isDeBruijnTailHyp_of_gaussian uses h_inf := ⊤ and routes
the closed form differentialEntropy_gaussianConvolution_of_gaussian through
Real.tendsto_log_atTop and the standard atTop-shift / atTop-scaling chain.
InformationTheory.Shannon.EPIL3Integration.IsDeBruijnTailHyp
sourceThe de Bruijn tail-analysis hypothesis IsDeBruijnTailHyp X Z P.
Externalizes the T → ∞ tail-analysis of the heat-flow differential entropy
T ↦ h(P.map (X + √T · Z)) as a load-bearing hypothesis with EReal lift
h_inf : EReal (Gaussian case h_inf = ⊤) and a Z_law field structurally
closing the Z := 0 vacuous-bypass channel.
Each field is a regularity precondition: Z_law rules out the vacuous Z := 0
bypass, h_inf : EReal lifts the divergent Gaussian case, and tail_limit
carries the Tendsto content. The Gaussian instance constructor
isDeBruijnTailHyp_of_gaussian exhibits a substantive multi-step Tendsto
discharge via Real.tendsto_log_atTop + EReal.tendsto_coe_nhds_top_iff.
@audit:ok
Zis the standard normal driving the heat flow (vacuous-bypass closure).The asymptotic value of the heat-flow entropy; EReal-valued to allow divergent (
⊤) limits.- tail_limit : Filter.Tendsto (fun (T : ℝ) => ↑(differentialEntropy (MeasureTheory.Measure.map (FisherInfo.gaussianConvolution X Z T) P))) Filter.atTop (nhds self.h_inf)
Heat-flow entropy converges to
h_infvia coercion throughReal.toEReal. The lambda form is written verbatim (notReal.toEReal ∘ _) to keepEReal.tendsto_coe_nhds_top_iff(@[simp], withomit [TopologicalSpace α]) discoverable.
Instances For
Used by
gaussianConvolution boundary helpers #
InformationTheory.Shannon.EPIL3Integration.gaussianConvolution_at_zero
sourcegaussianConvolution X Z 0 = X pointwise (uses Real.sqrt 0 = 0).
Used by
InformationTheory.Shannon.EPIL3Integration.map_gaussianConvolution_at_zero
sourceP.map (gaussianConvolution X Z 0) = P.map X.
Used by
InformationTheory.Shannon.EPIL3Integration.differentialEntropy_gaussianConvolution_at_zero
sourcedifferentialEntropy (P.map (gaussianConvolution X Z 0)) = differentialEntropy (P.map X).
Used by
Gaussian per-time-point V2 family lift #
InformationTheory.Shannon.EPIL3Integration.isRegularDeBruijnHypV2_family_of_gaussian
sourceThe Gaussian per-time-point V2 family lift (Gaussian restricted, hypothesis-free).
For independent Gaussian X ∼ 𝒩(m, v) (with v ≠ 0) and standard normal
Z ∼ 𝒩(0, 1), the V2 de Bruijn regularity IsRegularDeBruijnHypV2 X Z P t
holds for every t > 0, with explicit density witness
gaussianPDFReal m (v + ⟨t, ht.le⟩).
The witness is constructed by routing
FisherInfo.deBruijn_identity_v2_gaussian (which gives the HasDerivAt
directly) into the structure constructor.
(Returns Type, not Prop, because IsRegularDeBruijnHypV2 carries a
density witness as data; declared noncomputable def accordingly.)
@audit:ok
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
Gaussian closed-form entropy at the heat-flow boundary #
InformationTheory.Shannon.EPIL3Integration.differentialEntropy_gaussianConvolution_of_gaussian
sourceThe Gaussian heat-flow entropy boundary value at T, for T ≥ 0.
Used by
Gaussian discharge of IsDeBruijnTailHyp #
The Gaussian instance constructor for IsDeBruijnTailHyp, discharged with
h_inf := ⊤ via the closed-form differentialEntropy_gaussianConvolution_of_gaussian
combined with Real.tendsto_log_atTop and the standard atTop-shift /
atTop-scaling chain, lifted to EReal by EReal.tendsto_coe_nhds_top_iff.
InformationTheory.Shannon.EPIL3Integration.isDeBruijnTailHyp_of_gaussian
sourceThe Gaussian instance of IsDeBruijnTailHyp.
When P.map X = gaussianReal m v with v ≠ 0, P.map Z = gaussianReal 0 1,
and X ⊥ Z, the heat-flow entropy diverges to +∞ (Gaussian sub-entropy
lower bound (1/2) log (2π e (v + T)) → +∞), so h_inf := ⊤.
Discharge route (differentialEntropy_gaussianConvolution_of_gaussian above
already gives the closed form (1/2) log (2π e (v + T))):
- shift
T ↦ (v : ℝ) + Tviatendsto_atTop_add_const_left; - scale by
2 π e > 0viaTendsto.const_mul_atTop; - apply
Real.tendsto_log_atTop; - scale by
(1/2) > 0viaTendsto.const_mul_atTop; - congr with the closed-form identity on
[0, ∞)viaTendsto.congr'; - lift to
ERealviaEReal.tendsto_coe_nhds_top_iff.mpr.
Equations
- InformationTheory.Shannon.EPIL3Integration.isDeBruijnTailHyp_of_gaussian hX hZ hXZ hv hX_law hZ_law = { Z_law := hZ_law, h_inf := ⊤, tail_limit := ⋯ }
Instances For
Used by
Bounded-T FTC application (Gaussian case) #
The de Bruijn integration identity holds for Gaussian X on (0, T) as a
direct consequence of Mathlib's bounded FTC and the family lift above. Stated as a
standalone identity (not via IsDeBruijnIntegrationHyp, which carries the
∃ fPath shape).
InformationTheory.Shannon.EPIL3Integration.hasDerivAt_differentialEntropy_heat_flow_gaussian
sourceThe heat-flow entropy derivative (Gaussian, on an s > 0 neighborhood).
For Gaussian X and s > 0, the derivative of s' ↦ differentialEntropy(P.map (X + √s' · Z)) at s equals 1/(2(v+s)). This is the per-point statement
from deBruijn_identity_v2_gaussian rewritten with the Gaussian closed-form
Fisher information value 1/(v+t).
Used by
InformationTheory.Shannon.EPIL3Integration.continuousOn_one_div_two_times_v_plus
sourceContinuity of 1/(2(v+t)) on [0, T], for v > 0, T ≥ 0.
Used by
InformationTheory.Shannon.EPIL3Integration.continuousOn_differentialEntropy_heat_flow_gaussian
sourceFor Gaussian X ∼ 𝒩(m, v) with v ≠ 0 and standard normal Z independent of X, the
heat-flow entropy s' ↦ differentialEntropy (P.map (X + √s' · Z)) is continuous on [0, T],
since it agrees there with the closed form (1/2)·log (2π e (v + s')).
Used by
InformationTheory.Shannon.EPIL3Integration.bounded_T_ftc_gaussian
sourceThe bounded-T FTC application (Gaussian case).
For Gaussian X ∼ 𝒩(m, v) with v ≠ 0, the heat-flow entropy gap over
the bounded interval (0, T) equals the path integral of 1/(2(v+t)):
h(N(m, v+T)) - h(N(m, v)) = ∫_(0, T) 1/(2(v+t)) dt,
stated as a direct equality (bypassing the IsDeBruijnIntegrationHyp X Z P T
predicate). The integration uses Mathlib intervalIntegral and is converted to
Set.Ioo-form for downstream consumption.
@audit:ok
Used by
1-source Csiszár log-ratio gap #
The ratio object csiszarLogRatioGap (and its t = 0 / t = 1 endpoints) is consumed
in EPI/Stam/ToBridge.lean (csiszarLogRatioGap_hasDerivAt →
csiszarLogRatioGap_deriv_le_zero → csiszarLogRatioGap_antitoneOn_Ici_zero).
InformationTheory.Shannon.EPIL3Integration.csiszarLogRatioGap
sourceThe 1-source Csiszár log-ratio gap (a monotone object).
r(t) = log (N_sum t) − log (N_X t + N_Y t) where
N_sum = entropyPower (P.map (X+Y+√t·(Z_X+Z_Y))),
N_X = entropyPower (P.map (X+√t·Z_X)), N_Y = entropyPower (P.map (Y+√t·Z_Y)).
The log-ratio derivative r'(t) = J_sum − (N_X·J_X + N_Y·J_Y)/(N_X+N_Y) ≤ 0 is
closable from plain harmonic Stam. Both log arguments are strictly positive
(entropyPower_pos, add_pos), so the gap is well-defined.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.EPIL3Integration.csiszarLogRatioGap_at_zero
sourceAt the endpoint t = 0 the log-ratio gap reduces to
log (eP(X+Y)) − log (eP X + eP Y), the form bridging to EPI
(r(0) ≥ 0 ⟺ entropyPower (X+Y) ≥ entropyPower X + entropyPower Y).
Used by
InformationTheory.Shannon.EPIL3Integration.csiszarLogRatioGap_at_one_eq_zero
sourceAt the endpoint t = 1 the log-ratio gap is zero (Gaussian saturation).
At t = 1 the 1-source heat-flow paths are X + Z_X, Y + Z_Y, and their sum
X + Y + (Z_X + Z_Y) = (X + Z_X) + (Y + Z_Y). When the convolved endpoints
X + Z_X and Y + Z_Y are independent Gaussians of nonzero variance, EPI
saturates: N_sum(1) = N_X(1) + N_Y(1) by entropyPower_gaussian_additivity.
Hence r(1) = log N_sum(1) − log (N_X(1) + N_Y(1)) = log A − log A = 0
(sub_self).
This is the endpoint of the monotone log-ratio object: together with
r'(t) ≤ 0 on [0, ∞) and r(1) = 0, monotonicity gives r(0) ≥ 0, i.e. EPI.
The Gaussian-pair hypotheses are preconditions (laws + independence of the
convolved endpoints), not load-bearing bundling.