Mathesis
DeclHasVCDimLE.vcGrowth_le_exp
โˆ€ {ฮฑ : Type u_1} {n d : โ„•} {๐’œ : Set (Set ฮฑ)}, HasVCDimLE d ๐’œ โ†’ d โ‰ค n โ†’ โ†‘(vcGrowth n ๐’œ) โ‰ค (Real.exp 1 / โ†‘d * โ†‘n) ^ d
Layout
ThesisStepHypothesisDefinitionCited result
vcGrowth_le_exptheoremHasVCDimLE d ๐’œh๐’œd โ‰ค nhdnsum_choose_le_exp_powtheoremsum_choose_mul_pow_le_addโ€ฆtheoremsum_choose_le_mul_sum_choโ€ฆtheoremone_add_div_pow_le_exp_powtheoremvcGrowth_le_sum_rangetheoremvcGrowth_letheoremncard_image_inter_letheoremncard_setOf_ncard_letheoremsetOf_subset_and_ncard_leโ€ฆtheoremsetOf_subset_and_ncard_leโ€ฆtheoremdisjoint_setOf_ncard_le_sโ€ฆtheoremncard_image_inter_le_ncarโ€ฆtheoremencard_image_inter_le_encโ€ฆtheorempajor_encard_auxtheoremtrace_sep_uniontheoremtrace_sep_disjointtheoremnotMem_of_shatters_sep_riโ€ฆtheoremnotMem_of_shatters_sep_leโ€ฆtheoremnotMem_of_forall_notMemtheoreminsert_injOn_notMemtheoremexists_splittertheoremexists_splitter_of_not_suโ€ฆtheoremdisjoint_image_inserttheoreminserttheoreminfinite_setOf_shatterstheoremsingleton_image_splitPoinโ€ฆtheoremshatters_singletontheoremof_forall_subsettheoremexists_inter_eqtheoremfinite_image_inter_of_finโ€ฆtheoreminjOn_inter_splitPointstheoremfinite_setOf_subset_andtheoremncard_le_of_shatterstheoremfinite_of_shatterstheoremHasVCDimLEdefShattersdefexists_getheoremmonotheorempreimage_compltheoremsubsettheoremshatters_bottheoremsplitPointsdefvcGrowthdefvcGrowth_le_ifftheorem
  1. DeclHasVCDimLE.vcGrowth_le_expDeclaration kindtheorem
    โˆ€ {ฮฑ : Type u_1} {n d : โ„•} {๐’œ : Set (Set ฮฑ)}, HasVCDimLE d ๐’œ โ†’ d โ‰ค n โ†’ โ†‘(vcGrowth n ๐’œ) โ‰ค (Real.exp 1 / โ†‘d * โ†‘n) ^ d
    Uses
  2. Declsum_choose_le_exp_powDeclaration kindtheorem
    โˆ€ (d m : โ„•), 0 < d โ†’ d โ‰ค m โ†’ โˆ‘ i โˆˆ Finset.range (d + 1), โ†‘(m.choose i) โ‰ค (Real.exp 1 / โ†‘d * โ†‘m) ^ d
    Uses
    Used by
  3. Declsum_choose_mul_pow_le_add_one_powDeclaration kindtheorem

    Truncating a binomial expansion at degree d can only decrease it, for t โ‰ฅ 0.

    โˆ€ {m d : โ„•} {t : โ„}, 0 โ‰ค t โ†’ d โ‰ค m โ†’ โˆ‘ i โˆˆ Finset.range (d + 1), โ†‘(m.choose i) * t ^ i โ‰ค (1 + t) ^ m
    Used by
  4. Declsum_choose_le_mul_sum_choose_mul_powDeclaration kindtheorem

    Undoing the weighting t ^ i costs a single factor (m / d) ^ d, since t = d / m and each i in range is at most d.

    โˆ€ {m d : โ„•},
      0 < โ†‘d โ†’
        0 < โ†‘m โ†’
          โ†‘d โ‰ค โ†‘m โ†’
            โˆ‘ i โˆˆ Finset.range (d + 1), โ†‘(m.choose i) โ‰ค
              (โ†‘m / โ†‘d) ^ d * โˆ‘ i โˆˆ Finset.range (d + 1), โ†‘(m.choose i) * (โ†‘d / โ†‘m) ^ i
    Used by
  5. Declone_add_div_pow_le_exp_powDeclaration kindtheorem

    At t = d / m, the binomial base is bounded by exp 1 raised to the degree.

    โˆ€ {m d : โ„•}, 0 < โ†‘m โ†’ (1 + โ†‘d / โ†‘m) ^ m โ‰ค Real.exp 1 ^ d
    Used by
  6. DeclHasVCDimLE.vcGrowth_le_sum_rangeDeclaration kindtheorem

    The Sauer-Shelah inequality, with the sum indexed by Finset.range (d + 1).

    โˆ€ {ฮฑ : Type u_1} {n d : โ„•} {๐’œ : Set (Set ฮฑ)}, HasVCDimLE d ๐’œ โ†’ vcGrowth n ๐’œ โ‰ค โˆ‘ k โˆˆ Finset.range (d + 1), n.choose k
    Uses
    Used by
  7. DeclHasVCDimLE.vcGrowth_leDeclaration kindtheorem
    โˆ€ {ฮฑ : Type u_1} {n d : โ„•} {๐’œ : Set (Set ฮฑ)}, HasVCDimLE d ๐’œ โ†’ vcGrowth n ๐’œ โ‰ค โˆ‘ k โˆˆ Finset.Iic d, n.choose k
    Uses
    Used by
  8. DeclHasVCDimLE.ncard_image_inter_leDeclaration kindtheorem

    The Sauer-Shelah inequality: a family of VC dimension at most d traces at most โˆ‘ k โ‰ค d, n.choose k sets on any finite set of size at most n. The proof here derives it from Pajor's inequality.

    Simon, A Guide to NIP Theories, states the same bound as his Lemma 6.4, for the growth function of a class of VC dimension at most k, and records in the notes to that chapter that the lemma is implicit in Vapnik and Chervonenkis (1971) and was rediscovered independently by Shelah (1972) and by Sauer (1972). Dvir, Filmus and Moran state it in the introduction to A Sauer-Shelah-Perles Lemma for Lattices and cite the same three sources. Perles is carried in the name they give the lemma; a publication of his is cited by neither source.

    โˆ€ {ฮฑ : Type u_1} {n d : โ„•} {๐’œ : Set (Set ฮฑ)} {A : Set ฮฑ},
      HasVCDimLE d ๐’œ โ†’ A.Finite โ†’ A.ncard โ‰ค n โ†’ ((fun x => A โˆฉ x) '' ๐’œ).ncard โ‰ค โˆ‘ k โˆˆ Finset.Iic d, n.choose k
    Uses
    Used by
  9. Declncard_setOf_ncard_leDeclaration kindtheorem
    โˆ€ {ฮฑ : Type u_1} {A : Set ฮฑ},
      A.Finite โ†’ โˆ€ (d : โ„•), {B | B โІ A โˆง B.ncard โ‰ค d}.ncard = โˆ‘ k โˆˆ Finset.Iic d, A.ncard.choose k
    Uses
    Used by
  10. DeclsetOf_subset_and_ncard_le_zeroDeclaration kindtheorem
    โˆ€ {ฮฑ : Type u_1} {A : Set ฮฑ}, A.Finite โ†’ {B | B โІ A โˆง B.ncard โ‰ค 0} = {โˆ…}
    Used by
  11. DeclsetOf_subset_and_ncard_le_succDeclaration kindtheorem

    The subsets of A of size at most d + 1 split into those of size at most d and those of size exactly d + 1.

    โˆ€ {ฮฑ : Type u_1} (d : โ„•) (A : Set ฮฑ),
      {B | B โІ A โˆง B.ncard โ‰ค d + 1} = {B | B โІ A โˆง B.ncard โ‰ค d} โˆช {B | B โІ A โˆง B.ncard = d + 1}
    Used by
  12. Decldisjoint_setOf_ncard_le_setOf_ncard_eqDeclaration kindtheorem
    โˆ€ {ฮฑ : Type u_1} (d : โ„•) (A : Set ฮฑ), Disjoint {B | B โІ A โˆง B.ncard โ‰ค d} {B | B โІ A โˆง B.ncard = d + 1}
    Used by
  13. Declncard_image_inter_le_ncard_setOf_shattersDeclaration kindtheorem

    The ncard transfer of encard_image_inter_le_encard_shatters, for A finite. Internal: the general statement is the encard one, which needs no hypothesis.

    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {A : Set ฮฑ},
      A.Finite โ†’ ((fun x => A โˆฉ x) '' ๐’œ).ncard โ‰ค {B | B โІ A โˆง Shatters ๐’œ B}.ncard
    Uses
    Used by
  14. Declencard_image_inter_le_encard_shattersDeclaration kindtheorem

    Pajor's inequality, with no finiteness assumptions: the traces of ๐’œ on A are at most as many as the subsets of A shattered by ๐’œ. For a finite trace family this is a descent on the number of traces that never consumes the ground set; an infinite trace family forces infinitely many shattered singletons, and both sides are โŠค.

    Dvir, Filmus and Moran, A Sauer-Shelah-Perles Lemma for Lattices, credit the Boolean lattice case to Pajor (Sous-espaces โ„“โ‚โฟ des espaces de Banach, Travaux en Cours 16, Hermann, Paris, 1985) and to Aharoni and Holzman, unpublished. Their Theorem 1.2 is the lattice form, for finite lattices with nonvanishing Mรถbius function: a family shatters at least as many elements as it has members. Reading that for a family of traces on a ground set is the standard translation into the language of set families, and the statement here carries no finiteness hypothesis, which theirs does.

    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {A : Set ฮฑ}, ((fun x => A โˆฉ x) '' ๐’œ).encard โ‰ค {B | B โІ A โˆง Shatters ๐’œ B}.encard
    Uses
    Used by
  15. Declpajor_encard_auxDeclaration kindtheorem
    โˆ€ {ฮฑ : Type u_1} {A : Set ฮฑ} (N : โ„•) (๐’œ : Set (Set ฮฑ)),
      ((fun x => A โˆฉ x) '' ๐’œ).Finite โ†’
        ((fun x => A โˆฉ x) '' ๐’œ).ncard โ‰ค N โ†’ ((fun x => A โˆฉ x) '' ๐’œ).encard โ‰ค {B | B โІ A โˆง Shatters ๐’œ B}.encard
    Uses
    Used by
  16. Decltrace_sep_unionDeclaration kindtheorem
    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {A : Set ฮฑ} {x : ฮฑ},
      (fun x => A โˆฉ x) '' {C | C โˆˆ ๐’œ โˆง x โˆ‰ C} โˆช (fun x => A โˆฉ x) '' {C | C โˆˆ ๐’œ โˆง x โˆˆ C} = (fun x => A โˆฉ x) '' ๐’œ
    Used by
  17. Decltrace_sep_disjointDeclaration kindtheorem
    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {A : Set ฮฑ} {x : ฮฑ},
      x โˆˆ A โ†’ Disjoint ((fun x => A โˆฉ x) '' {C | C โˆˆ ๐’œ โˆง x โˆ‰ C}) ((fun x => A โˆฉ x) '' {C | C โˆˆ ๐’œ โˆง x โˆˆ C})
    Used by
  18. DeclnotMem_of_shatters_sep_rightDeclaration kindtheorem
    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {B : Set ฮฑ} {x : ฮฑ}, Shatters {C | C โˆˆ ๐’œ โˆง x โˆˆ C} B โ†’ x โˆ‰ B
    Uses
    Used by
  19. DeclnotMem_of_shatters_sep_leftDeclaration kindtheorem
    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {B : Set ฮฑ} {x : ฮฑ}, Shatters {C | C โˆˆ ๐’œ โˆง x โˆ‰ C} B โ†’ x โˆ‰ B
    Uses
    Used by
  20. DeclnotMem_of_forall_notMemDeclaration kindtheorem

    A family whose members all avoid x shatters only sets avoiding x.

    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {B : Set ฮฑ} {x : ฮฑ}, (โˆ€ C โˆˆ ๐’œ, x โˆ‰ C) โ†’ Shatters ๐’œ B โ†’ x โˆ‰ B
    Used by
  21. Declinsert_injOn_notMemDeclaration kindtheorem

    Inserting a fixed element is injective on the sets avoiding it: the element can be removed again, recovering the argument.

    โˆ€ {ฮฑ : Type u_1} (x : ฮฑ), Set.InjOn (insert x) {B | x โˆ‰ B}
    Used by
  22. Declexists_splitterDeclaration kindtheorem
    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {A : Set ฮฑ},
      ((fun x => A โˆฉ x) '' ๐’œ).Nontrivial โ†’ โˆƒ x โˆˆ A, (โˆƒ C โˆˆ ๐’œ, x โˆˆ C) โˆง โˆƒ C โˆˆ ๐’œ, x โˆ‰ C
    Uses
    Used by
  23. Declexists_splitter_of_not_subsetDeclaration kindtheorem

    A point of A witnessing that one trace fails to contain another is a point at which ๐’œ splits.

    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {A C C' : Set ฮฑ},
      C โˆˆ ๐’œ โ†’ C' โˆˆ ๐’œ โ†’ ยฌA โˆฉ C โІ A โˆฉ C' โ†’ โˆƒ x โˆˆ A, (โˆƒ D โˆˆ ๐’œ, x โˆˆ D) โˆง โˆƒ D โˆˆ ๐’œ, x โˆ‰ D
    Used by
  24. Decldisjoint_image_insertDeclaration kindtheorem

    A family whose members all avoid x is disjoint from any family of sets containing x.

    โˆ€ {ฮฑ : Type u_1} {x : ฮฑ} {๐’ฎ ๐’ฏ : Set (Set ฮฑ)}, (โˆ€ B โˆˆ ๐’ฎ, x โˆ‰ B) โ†’ Disjoint ๐’ฎ (insert x '' ๐’ฏ)
    Used by
  25. DeclShatters.insertDeclaration kindtheorem

    If B is shattered both by the members of ๐’œ avoiding x and by the members of ๐’œ containing x, then ๐’œ shatters insert x B. This is the exchange step in the proof of Pajor's inequality.

    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {B : Set ฮฑ} {x : ฮฑ},
      Shatters {C | C โˆˆ ๐’œ โˆง x โˆ‰ C} B โ†’ Shatters {C | C โˆˆ ๐’œ โˆง x โˆˆ C} B โ†’ Shatters ๐’œ (insert x B)
    Uses
    Used by
  26. Declinfinite_setOf_shattersDeclaration kindtheorem
    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {A : Set ฮฑ}, ((fun x => A โˆฉ x) '' ๐’œ).Infinite โ†’ {B | B โІ A โˆง Shatters ๐’œ B}.Infinite
    Uses
    Used by
  27. Declsingleton_image_splitPoints_subsetDeclaration kindtheorem

    The singleton of a point at which ๐’œ splits is shattered by ๐’œ.

    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {A : Set ฮฑ}, (fun x => {x}) '' splitPointsโœ ๐’œ A โІ {B | B โІ A โˆง Shatters ๐’œ B}
    Uses
    Used by
  28. Declshatters_singletonDeclaration kindtheorem
    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {x : ฮฑ}, Shatters ๐’œ {x} โ†” (โˆƒ C โˆˆ ๐’œ, x โˆˆ C) โˆง โˆƒ C โˆˆ ๐’œ, x โˆ‰ C
    Uses
    Used by
  29. DeclShatters.of_forall_subsetDeclaration kindtheorem

    Shatters read at Set ฮฑ, as an introduction rule; the โˆฉ-shaped companion of Shatters.of_forall_le.

    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {A : Set ฮฑ}, (โˆ€ โฆƒB : Set ฮฑโฆ„, B โІ A โ†’ โˆƒ C โˆˆ ๐’œ, A โˆฉ C = B) โ†’ Shatters ๐’œ A
    Used by
  30. DeclShatters.exists_inter_eqDeclaration kindtheorem

    Shatters read at Set ฮฑ, where โŠ“ is โˆฉ and โ‰ค is โІ: every subset of A is the intersection of A with a member of ๐’œ. Definitionally the same statement, stated in the shape every use site wants, so that consumers obtain an โˆฉ-typed equation directly.

    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {A B : Set ฮฑ}, Shatters ๐’œ A โ†’ B โІ A โ†’ โˆƒ C โˆˆ ๐’œ, A โˆฉ C = B
    Used by
  31. Declfinite_image_inter_of_finite_splitPointsDeclaration kindtheorem

    A family splitting A at finitely many elements has finitely many traces on A.

    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {A : Set ฮฑ}, (splitPointsโœ ๐’œ A).Finite โ†’ ((fun x => A โˆฉ x) '' ๐’œ).Finite
    Uses
    Used by
  32. DeclinjOn_inter_splitPointsDeclaration kindtheorem

    A trace of ๐’œ on A is determined by its restriction to the elements at which ๐’œ splits: elsewhere, membership in the trace is decided by A alone.

    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {A : Set ฮฑ}, Set.InjOn (fun x => x โˆฉ splitPointsโœ ๐’œ A) ((fun x => A โˆฉ x) '' ๐’œ)
    Used by
  33. Declfinite_setOf_subset_andDeclaration kindtheorem

    Any collection of subsets of a finite set is finite.

    โˆ€ {ฮฑ : Type u_1} {A : Set ฮฑ}, A.Finite โ†’ โˆ€ (p : Set ฮฑ โ†’ Prop), {B | B โІ A โˆง p B}.Finite
    Used by
  34. DeclHasVCDimLE.ncard_le_of_shattersDeclaration kindtheorem

    A family of VC dimension at most d shatters only sets of size at most d.

    โˆ€ {ฮฑ : Type u_1} {d : โ„•} {๐’œ : Set (Set ฮฑ)} {B : Set ฮฑ}, HasVCDimLE d ๐’œ โ†’ Shatters ๐’œ B โ†’ B.ncard โ‰ค d
    Uses
    Used by
  35. DeclHasVCDimLE.finite_of_shattersDeclaration kindtheorem

    A family of VC dimension at most d shatters only finite sets.

    โˆ€ {ฮฑ : Type u_1} {d : โ„•} {๐’œ : Set (Set ฮฑ)} {B : Set ฮฑ}, HasVCDimLE d ๐’œ โ†’ Shatters ๐’œ B โ†’ B.Finite
    Used by
  36. Hypothesish๐’œ
    HasVCDimLE d ๐’œ
  37. Hypothesishdn
    d โ‰ค n
  38. DefinitionHasVCDimLEdefYaรซl Dillies

    A set family ๐’œ has VC dimension at most d if all the sets it shatters have size at most d.

    {ฮฑ : Type u_1} โ†’ โ„• โ†’ Set (Set ฮฑ) โ†’ Prop
  39. DefinitionShattersdefYaรซl Dillies

    A set family ๐’œ shatters a set A if all subsets of A can be obtained as the intersection of A with some element of the set family. We also say that A is traced by ๐’œ.

    {ฮฑ : Type u_1} โ†’ [SemilatticeInf ฮฑ] โ†’ Set ฮฑ โ†’ ฮฑ โ†’ Prop
  40. Cited resultShatters.exists_getheoremYaรซl Dillies
    โˆ€ {ฮฑ : Type u_1} [inst : SemilatticeInf ฮฑ] {๐’œ : Set ฮฑ} {A : ฮฑ}, Shatters ๐’œ A โ†’ โˆƒ B โˆˆ ๐’œ, A โ‰ค B
  41. Cited resultShatters.monotheoremYaรซl Dillies
    โˆ€ {ฮฑ : Type u_1} [inst : SemilatticeInf ฮฑ] {๐’œ โ„ฌ : Set ฮฑ} {A : ฮฑ}, ๐’œ โІ โ„ฌ โ†’ Shatters ๐’œ A โ†’ Shatters โ„ฌ A
  42. Cited resultShatters.preimage_compltheoremYaรซl Dillies
    โˆ€ {ฮฑ : Type u_1} [inst : BooleanAlgebra ฮฑ] {๐’œ : Set ฮฑ} {A : ฮฑ}, Shatters ๐’œ A โ†’ Shatters ((fun x => xแถœ) โปยน' ๐’œ) A
  43. Cited resultShatters.subsettheoremYaรซl Dillies
    โˆ€ {ฮฑ : Type u_1} {๐’œ : Set (Set ฮฑ)} {A B : Set ฮฑ}, A โІ B โ†’ Shatters ๐’œ B โ†’ Shatters ๐’œ A
  44. Cited resultshatters_bottheoremYaรซl Dillies
    โˆ€ {ฮฑ : Type u_1} [inst : SemilatticeInf ฮฑ] {๐’œ : Set ฮฑ} [inst_1 : OrderBot ฮฑ], Shatters ๐’œ โŠฅ โ†” ๐’œ.Nonempty
  45. DefinitionsplitPointsdef

    The elements of A at which ๐’œ splits: some member of ๐’œ contains them and some does not. These are exactly the elements whose singleton ๐’œ shatters.

    {ฮฑ : Type u_1} โ†’ Set (Set ฮฑ) โ†’ Set ฮฑ โ†’ Set ฮฑ
  46. DefinitionvcGrowthdefYaรซl Dillies

    The growth of a set family is the maximum number of sets it cuts out from any set of size at most n.

    {ฮฑ : Type u_1} โ†’ โ„• โ†’ Set (Set ฮฑ) โ†’ โ„•
  47. Cited resultvcGrowth_le_ifftheoremYaรซl Dillies
    โˆ€ {ฮฑ : Type u_1} {n : โ„•} {๐’œ : Set (Set ฮฑ)} {d : โ„•},
      vcGrowth n ๐’œ โ‰ค d โ†” โˆ€ โฆƒA : Set ฮฑโฆ„, A.Finite โ†’ A.ncard โ‰ค n โ†’ ((fun x => A โˆฉ x) '' ๐’œ).ncard โ‰ค d
DOIMTH.R-2026-6002
Cite

Verification

Replay
accepted
Axioms
Classical.choiceQuot.soundpropext
Statement identity
not-applicable
Substrate
Lean 4 kernel v4.31.0
Dictionary pin
design-lab@5802df4 ยท initial
Frozen export
600ed63e389a
Verified
2026-09-24T00:00:00Z