feat(Combinatorics/SetFamily): Assouad's dual VC bound#38319
feat(Combinatorics/SetFamily): Assouad's dual VC bound#38319Zetetic-Dhruv wants to merge 1 commit intoleanprover-community:masterfrom
Conversation
Adds the Finset-level form of Assouad's 1983 dual VC bound: if a family
`𝒜 : Finset (Finset α)` has VC dimension at most `d`, then for any
ground set `X : Finset α` the dual family
`{𝒜.filter (· ∋ x) : x ∈ X}` has VC dimension at most `2 ^ (d + 1) - 1`.
New declarations (in `Finset` namespace):
- `dualFamily 𝒜 X`: for each `x ∈ X`, the subfamily `{A ∈ 𝒜 | x ∈ A}`
- `mem_dualFamily` (`@[simp]`): membership characterisation
- `exists_shatters_of_dualFamily_shatters`: Assouad's bitstring-coding lemma
- `vcDim_dualFamily_le`: the headline VC bound
Proof by Assouad's classical bitstring-coding argument. Sits on top of
`Finset.shatterer` / `Finset.vcDim` from
`Mathlib.Combinatorics.SetFamily.Shatter`.
References:
- P. Assouad, Densite et dimension, Ann. Inst. Fourier 33(3) (1983), Thm 2.13
- J. Matousek, Lectures on Discrete Geometry, GTM 212, Springer, 2002,
Section 10.3 Lemma 10.3.3
Welcome new contributor!Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests. We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR. Thank you again for joining our community. |
PR summary 98261a9c88Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
|
@Shreyas4991 I have added the PR. Can you review it? |
|
Will do sometime in the next 24 hours. |
|
Okay, thanks a lot. Let me know if I need to update anything. |
Adds the Finset-level form of Assouad's 1983 dual VC bound: if a family
𝒜 : Finset (Finset α)has VC dimension at mostd, then for anyground set
X : Finset αthe dual family{𝒜.filter (· ∋ x) : x ∈ X}has VC dimension at most2 ^ (d + 1) - 1.New declarations (in
Finsetnamespace):dualFamily 𝒜 X: for eachx ∈ X, the subfamily{A ∈ 𝒜 | x ∈ A}mem_dualFamily(@[simp]): membership characterisationexists_shatters_of_dualFamily_shatters: Assouad's bitstring-coding lemmavcDim_dualFamily_le: the headline VC boundProof by Assouad's classical bitstring-coding argument. Sits on top of
Finset.shatterer/Finset.vcDimfromMathlib.Combinatorics.SetFamily.Shatter.References: