Documentation

Mathlib.Topology.MetricSpace.CoveringNumbers

Covering numbers #

We define covering numbers of sets in a pseudo-metric space, which are minimal cardinalities of ε-covers of sets by closed balls. We also define the packing number, which is the maximal cardinality of an ε-separated set.

We prove inequalities between these covering and packing numbers.

Main definitions #

We define sets achieving these minimal/maximal cardinalities when they exist:

Main statements #

We have the following inequalities between covering and packing numbers:

The covering number is not monotone for set inclusion (because the cover must be contained in the set), but we have the following inequality:

References #

noncomputable def Metric.externalCoveringNumber {X : Type u_1} [PseudoEMetricSpace X] (ε : NNReal) (A : Set X) :

The external covering number of a set A in X for radius ε is the minimal cardinality (in ℕ∞) of an ε-cover by points in X (not necessarily in A).

Equations
Instances For
    noncomputable def Metric.coveringNumber {X : Type u_1} [PseudoEMetricSpace X] (ε : NNReal) (A : Set X) :

    The covering number (or internal covering number) of a set A for radius ε is the minimal cardinality (in ℕ∞) of an ε-cover contained in A.

    Equations
    Instances For
      noncomputable def Metric.packingNumber {X : Type u_1} [PseudoEMetricSpace X] (ε : NNReal) (A : Set X) :

      The packing number of a set A for radius ε is the maximal cardinality (in ℕ∞) of an ε-separated set in A.

      Equations
      Instances For
        @[simp]
        theorem Metric.coveringNumber_eq_zero {X : Type u_1} [PseudoEMetricSpace X] {A : Set X} {ε : NNReal} :
        @[simp]
        @[simp]
        theorem Metric.packingNumber_eq_zero {X : Type u_1} [PseudoEMetricSpace X] {A : Set X} {ε : NNReal} :
        @[simp]
        theorem Metric.IsCover.coveringNumber_le_encard {X : Type u_1} [PseudoEMetricSpace X] {A C : Set X} {ε : NNReal} (h_subset : C A) (hC : IsCover ε A C) :
        theorem Metric.IsSeparated.encard_le_packingNumber {X : Type u_1} [PseudoEMetricSpace X] {A C : Set X} {ε : NNReal} (h_subset : C A) (hC : IsSeparated (↑ε) C) :
        theorem Metric.coveringNumber_anti {X : Type u_1} [PseudoEMetricSpace X] {A : Set X} {ε δ : NNReal} (h : ε δ) :
        @[simp]
        @[simp]
        theorem Metric.packingNumber_zero {E : Type u_2} [EMetricSpace E] (A : Set E) :
        theorem Metric.coveringNumber_eq_one_of_ediam_le {X : Type u_1} [PseudoEMetricSpace X] {A : Set X} {ε : NNReal} (h_nonempty : A.Nonempty) (hA : ediam A ε) :
        theorem Metric.externalCoveringNumber_eq_one_of_ediam_le {X : Type u_1} [PseudoEMetricSpace X] {A : Set X} {ε : NNReal} (h_nonempty : A.Nonempty) (hA : ediam A ε) :
        theorem Metric.coveringNumber_le_one_of_ediam_le {X : Type u_1} [PseudoEMetricSpace X] {A : Set X} {ε : NNReal} (hA : ediam A ε) :
        @[simp]
        @[simp]
        theorem Metric.packingNumber_singleton {X : Type u_1} [PseudoEMetricSpace X] (ε : NNReal) (x : X) :
        noncomputable def Metric.minimalCover {X : Type u_1} [PseudoEMetricSpace X] (ε : NNReal) (A : Set X) :
        Set X

        A finite internal ε-cover of a set A by closed balls with minimal cardinality. It is defined as the empty set if no such finite cover exists.

        Equations
        Instances For
          theorem Metric.isCover_minimalCover {X : Type u_1} [PseudoEMetricSpace X] {A : Set X} {ε : NNReal} (h : coveringNumber ε A ) :
          IsCover ε A (minimalCover ε A)
          theorem Metric.exists_set_encard_eq_packingNumber {X : Type u_1} [PseudoEMetricSpace X] {A : Set X} {ε : NNReal} (h : packingNumber ε A ) :
          CA, C.Finite IsSeparated (↑ε) C C.encard = packingNumber ε A
          noncomputable def Metric.maximalSeparatedSet {X : Type u_1} [PseudoEMetricSpace X] (ε : NNReal) (A : Set X) :
          Set X

          A finite ε-separated subset of a set A with maximal cardinality. It is defined as the empty set if no such finite subset exists.

          Equations
          Instances For
            theorem Metric.encard_le_of_isSeparated {X : Type u_1} [PseudoEMetricSpace X] {A C : Set X} {ε : NNReal} (h_subset : C A) (h_sep : IsSeparated (↑ε) C) (h : packingNumber ε A ) :

            The maximal separated set is a cover.

            The packing number of a set A for radius 2 * ε is at most the external covering number of A for radius ε.

            theorem Metric.coveringNumber_subset_le {X : Type u_1} [PseudoEMetricSpace X] {A B : Set X} {ε : NNReal} (h : A B) :