InformationTheory.Shannon.BrascampLieb
Brascamp–Lieb inequality (combinatorial form) and hypercube product projection bound #
Generalizes the Loomis–Whitney inequality (LoomisWhitney.lean) to an arbitrary cover family
S : ι → Finset (Fin n) where each j : Fin n is covered at least k times:
Main definitions #
projectionSubset S A— restriction ofA : Finset (Fin n → α)to a subsetS : Finset (Fin n)of coordinates, returning aFinset (↥S → α).
Main statements #
brascamp_lieb_finset— Brascamp–Lieb inequality for arbitrary cover families.hypercube_product_projection_bound— singleton-cover corollary:|A| ≤ ∏ i, |π_{{i}}(A)|.
Implementation notes #
The proof routes through shearer_inequality from LoomisWhitney.lean as the entropic engine,
then peels off the logarithm via Real.log_le_log_iff.
Loomis–Whitney (loomis_whitney) is the special case S i := univ.filter (· ≠ i) (each j
covered n-1 times), but the existing LoomisWhitney.lean shape is preserved to avoid
changing projectionExcept and loomis_whitney.
Projection onto a coordinate subset #
InformationTheory.Shannon.projectionSubset
sourceEquations
- InformationTheory.Shannon.projectionSubset S A = Finset.image (fun (x : Fin n → α) (j : ↥S) => x ↑j) A
Instances For
Used by
InformationTheory.Shannon.jointEntropySubset_le_log_projectionSubset_card
sourceFor A equipped with the uniform measure, the joint entropy over coordinates S
is bounded by log |projectionSubset S A|.
Used by
Brascamp–Lieb inequality #
InformationTheory.Shannon.brascamp_lieb_finset
sourceBrascamp–Lieb inequality (combinatorial form).
If S : ι → Finset (Fin n) is a cover family such that each j : Fin n is covered
at least k times, then for any nonempty finite set A : Finset (Fin n → α):
Loomis–Whitney is the special case S i := univ.filter (· ≠ i) with k = n - 1.
The hypercube product projection bound is the special case S i := {i} with k = 1.
Used by
Hypercube product projection bound #
InformationTheory.Shannon.hypercube_product_projection_bound
sourceSingleton-cover corollary: for any nonempty A : Finset (Fin n → α),
|A| ≤ ∏ i, |π_{{i}}(A)|.
This is brascamp_lieb_finset with S i := {i} and k := 1. Setting α = Bool recovers
|A| ≤ 2^n since each singleton projection has cardinality at most 2.