Low entropy forces a heavy fiber
ProvedshannonEntropy_pigeonholeLet be any function from a finite sample space (nonempty) into a finite set (nonempty), and let denote its base-2 Shannon entropy under the uniform distribution on (shannonEntropy, as introduced in Definitions.DiscreteEntropy). Then some value is attained on a fraction of at least :
This is the elementary pigeonhole/counting consequence of low entropy that the entropy method in combinatorics (Spencer's partial coloring lemma and its relatives) exploits: a random variable of small entropy cannot spread its probability mass thinly across many outcomes, so at least one fiber must carry an exponentially large share of .
The proof is a direct one-line comparison per term: writing for the empirical probability of and , the inequality holds for every with (since ), so summing against the total probability gives , i.e. .
Formalization Note The conclusion is stated as a lower bound on the raw fiber cardinality (cast to ) rather than on directly, since that is the form the entropy method's pigeonhole step is applied in.
import Definitions.Def_DiscreteEntropy
import Mathlib
open Finset
variable {Ω β : Type*} [Fintype Ω] [Fintype β] [DecidableEq β] [Nonempty Ω]theorem shannonEntropy_pigeonhole (Z : Ω → β) [Nonempty β] :
∃ b : β, (Fintype.card Ω : ℝ) * (2:ℝ) ^ (-shannonEntropy Z)
≤ ((univ.filter (fun ω => Z ω = b)).card : ℝ) := by sorry