The Ahlswede-Zhang identity #
This file proves the Ahlswede-Zhang identity, which is a nontrivial relation between the size of the
"truncated unions" of a set family. It sharpens the Lubell-Yamamoto-Meshalkin inequality
Finset.sum_card_slice_div_choose_le_one, by making explicit the correction term.
For a set family 𝒜 over a ground set of size n, the Ahlswede-Zhang identity states that the sum
of |⋂ B ∈ 𝒜, B ⊆ A, B|/(|A| * n.choose |A|) over all set A is exactly 1. This implies the LYM
inequality since for an antichain 𝒜 and every A ∈ 𝒜 we have
|⋂ B ∈ 𝒜, B ⊆ A, B|/(|A| * n.choose |A|) = 1 / n.choose |A|.
Main declarations #
Finset.truncatedSup:s.truncatedSup ais the supremum of allb ≥ ain𝒜if there are some, or⊤if there are none.Finset.truncatedInf:s.truncatedInf ais the infimum of allb ≤ ain𝒜if there are some, or⊥if there are none.AhlswedeZhang.infSum: LHS of the Ahlswede-Zhang identity.AhlswedeZhang.le_infSum: The sum of1 / n.choose |A|over an antichain is less than the RHS of the Ahlswede-Zhang identity.AhlswedeZhang.infSum_eq_one: Ahlswede-Zhang identity.
References #
Truncated supremum, truncated infimum #
The supremum of the elements of s less than a if there are some, otherwise ⊤.
Equations
- Finset.truncatedSup s a = if h : a ∈ lowerClosure ↑s then Finset.sup' (Finset.filter (fun (b : α) => a ≤ b) s) ⋯ id else ⊤
Instances For
The infimum of the elements of s less than a if there are some, otherwise ⊥.
Equations
- Finset.truncatedInf s a = if h : a ∈ upperClosure ↑s then Finset.inf' (Finset.filter (fun (x : α) => x ≤ a) s) ⋯ id else ⊥
Instances For
Weighted sum of the size of the truncated infima of a set family. Relevant to the Ahlswede-Zhang identity.
Equations
- AhlswedeZhang.infSum 𝒜 = Finset.sum Finset.univ fun (s : Finset α) => ↑(Finset.truncatedInf 𝒜 s).card / (↑s.card * ↑(Nat.choose (Fintype.card α) s.card))
Instances For
Weighted sum of the size of the truncated suprema of a set family. Relevant to the Ahlswede-Zhang identity.
Equations
- AhlswedeZhang.supSum 𝒜 = Finset.sum Finset.univ fun (s : Finset α) => ↑(Finset.truncatedSup 𝒜 s).card / ((↑(Fintype.card α) - ↑s.card) * ↑(Nat.choose (Fintype.card α) s.card))
Instances For
The Ahlswede-Zhang Identity.
The Ahlswede-Zhang Identity.