InformationTheory.Shannon.Polymatroid
Polymatroid axioms for joint entropy #
jointEntropySubset (from Han/D.lean) satisfies the three polymatroid rank
function axioms:
jointEntropySubset_empty—H(X_∅) = 0.jointEntropySubset_mono—S ⊆ T ⟹ H(X_S) ≤ H(X_T).jointEntropySubset_submodular—H(X_{S∪T}) + H(X_{S∩T}) ≤ H(X_S) + H(X_T).
Main statements #
jointEntropySubset_empty,jointEntropySubset_mono,jointEntropySubset_submodular— the three polymatroid axioms.entropyPolymatroid— joint entropy as aCombinatorics.Polymatroidterm.
Implementation notes #
Monotonicity uses MeasurableEquiv.piFinsetUnion to reshape T = S ⊔ (T\S) as
a pair, then applies the pair chain rule and condEntropy ≥ 0. Submodularity uses
the three-piece disjoint decomposition S ∪ T = I ⊔ A ⊔ B (I := S∩T, A := S\T,
B := T\S) and condEntropy_le_condEntropy_of_pair.
Empty subset entropy #
InformationTheory.Shannon.jointEntropySubset_empty
sourcePolymatroid axiom (i): empty subset entropy is zero.
(↥(∅ : Finset (Fin n)) → α) is Unique via Pi.uniqueOfIsEmpty, so the
push-forward measure is concentrated on default and Real.negMulLog 1 = 0.
Used by
Monotonicity #
InformationTheory.Shannon.jointEntropySubset_mono
sourcePolymatroid axiom (ii): monotonicity in S.
T = S ⊔ (T \ S) reshape via MeasurableEquiv.piFinsetUnion followed by the
pair chain rule and condEntropy ≥ 0.
Used by
Subset chain rule helper #
A "disjoint union" version of the pair chain rule that lets the caller specify
the target U directly (avoiding T₂ \ T₁ casts).
InformationTheory.Shannon.jointEntropySubset_disjoint_union
sourceDisjoint-union pair chain rule. If s ∪ t = U and Disjoint s t, then
H(X_U) = H(X_s) + H(X_t | X_s).
Proof: build e : ((↥s → α) × (↥t → α)) ≃ᵐ (↥U → α) directly from
subsetSplitMEquivAux (Mathlib MeasurableEquiv.piFinsetUnion + cast), then apply
the pair chain rule.
Used by
InformationTheory.Shannon.condEntropy_reshape_disjoint_union
sourcecondEntropy reshape under disjoint union: when Disjoint s t and s ∪ t = U,
the condEntropy with conditioner X_U equals the condEntropy with conditioner the
pair (X_s, X_t).
Used by
Submodularity #
InformationTheory.Shannon.jointEntropySubset_submodular
sourcePolymatroid axiom (iii): submodularity.
3-piece disjoint decomposition S ∪ T = I ⊔ A ⊔ B with I := S ∩ T,
A := S \ T, B := T \ S. Expand each side via chain rule and apply
condEntropy_le_condEntropy_of_pair once.
Used by
Polymatroid wrapper #
Joint entropy as a Combinatorics.Polymatroid term: the four polymatroid
axioms are exactly the three theorems above (jointEntropySubset_empty /
jointEntropySubset_mono / jointEntropySubset_submodular), repackaged
into the Polymatroid structure introduced in
InformationTheory/Polymatroid/Basic.lean.
InformationTheory.Shannon.entropyPolymatroid
sourceJoint entropy as a polymatroid rank function.
Equations
- One or more equations did not get rendered due to their size.