Documentation

Mathlib.Topology.Compactness.Compact

Compact sets and compact spaces #

Main definitions #

We define the following properties for sets in a topological space:

Main results #

def IsCompact {α : Type u} [TopologicalSpace α] (s : Set α) :

A set s is compact if for every nontrivial filter f that contains s, there exists a ∈ s such that every set of f meets every neighborhood of a.

Equations
Instances For
    theorem IsCompact.compl_mem_sets {α : Type u} [TopologicalSpace α] {s : Set α} (hs : IsCompact s) {f : Filter α} (hf : ∀ (a : α), a ∈ s → sᶜ ∈ nhds a ⊓ f) :
    sᶜ ∈ f

    The complement to a compact set belongs to a filter f if it belongs to each filter 𝓝 a ⊓ f, a ∈ s.

    theorem IsCompact.compl_mem_sets_of_nhdsWithin {α : Type u} [TopologicalSpace α] {s : Set α} (hs : IsCompact s) {f : Filter α} (hf : ∀ (a : α), a ∈ s → ∃ t, t ∈ nhdsWithin a s ∧ tᶜ ∈ f) :
    sᶜ ∈ f

    The complement to a compact set belongs to a filter f if each a ∈ s has a neighborhood t within s such that tᶜ belongs to f.

    theorem IsCompact.induction_on {α : Type u} [TopologicalSpace α] {s : Set α} (hs : IsCompact s) {p : Set α → Prop} (he : p ∅) (hmono : ∀ ⦃s t : Set α⦄, s ⊆ t → p t → p s) (hunion : ∀ ⦃s t : Set α⦄, p s → p t → p (s ∪ t)) (hnhds : ∀ (x : α), x ∈ s → ∃ t, t ∈ nhdsWithin x s ∧ p t) :
    p s

    If p : Set α → Prop is stable under restriction and union, and each point x of a compact set s has a neighborhood t within s such that p t, then p s holds.

    theorem IsCompact.inter_right {α : Type u} [TopologicalSpace α] {s : Set α} {t : Set α} (hs : IsCompact s) (ht : IsClosed t) :

    The intersection of a compact set and a closed set is a compact set.

    theorem IsCompact.inter_left {α : Type u} [TopologicalSpace α] {s : Set α} {t : Set α} (ht : IsCompact t) (hs : IsClosed s) :

    The intersection of a closed set and a compact set is a compact set.

    theorem IsCompact.diff {α : Type u} [TopologicalSpace α] {s : Set α} {t : Set α} (hs : IsCompact s) (ht : IsOpen t) :
    IsCompact (s \ t)

    The set difference of a compact set and an open set is a compact set.

    theorem IsCompact.of_isClosed_subset {α : Type u} [TopologicalSpace α] {s : Set α} {t : Set α} (hs : IsCompact s) (ht : IsClosed t) (h : t ⊆ s) :

    A closed subset of a compact set is a compact set.

    theorem IsCompact.image_of_continuousOn {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] {s : Set α} {f : α → β} (hs : IsCompact s) (hf : ContinuousOn f s) :
    theorem IsCompact.image {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] {s : Set α} {f : α → β} (hs : IsCompact s) (hf : Continuous f) :
    theorem IsCompact.adherence_nhdset {α : Type u} [TopologicalSpace α] {s : Set α} {t : Set α} {f : Filter α} (hs : IsCompact s) (hf₂ : f ≤ Filter.principal s) (ht₁ : IsOpen t) (ht₂ : ∀ (a : α), a ∈ s → ClusterPt a f → a ∈ t) :
    t ∈ f
    theorem isCompact_iff_ultrafilter_le_nhds {α : Type u} [TopologicalSpace α] {s : Set α} :
    IsCompact s ↔ ∀ (f : Ultrafilter α), ↑f ≤ Filter.principal s → ∃ a, a ∈ s ∧ ↑f ≤ nhds a
    theorem IsCompact.ultrafilter_le_nhds {α : Type u} [TopologicalSpace α] {s : Set α} :
    IsCompact s → ∀ (f : Ultrafilter α), ↑f ≤ Filter.principal s → ∃ a, a ∈ s ∧ ↑f ≤ nhds a

    Alias of the forward direction of isCompact_iff_ultrafilter_le_nhds.

    theorem IsCompact.elim_directed_cover {α : Type u} [TopologicalSpace α] {s : Set α} {ι : Type v} [hι : Nonempty ι] (hs : IsCompact s) (U : ι → Set α) (hUo : ∀ (i : ι), IsOpen (U i)) (hsU : s ⊆ ⋃ i, U i) (hdU : Directed (fun x x_1 => x ⊆ x_1) U) :
    ∃ i, s ⊆ U i

    For every open directed cover of a compact set, there exists a single element of the cover which itself includes the set.

    theorem IsCompact.elim_finite_subcover {α : Type u} [TopologicalSpace α] {s : Set α} {ι : Type v} (hs : IsCompact s) (U : ι → Set α) (hUo : ∀ (i : ι), IsOpen (U i)) (hsU : s ⊆ ⋃ i, U i) :
    ∃ t, s ⊆ ⋃ i ∈ t, U i

    For every open cover of a compact set, there exists a finite subcover.

    theorem IsCompact.elim_nhds_subcover' {α : Type u} [TopologicalSpace α] {s : Set α} (hs : IsCompact s) (U : (x : α) → x ∈ s → Set α) (hU : ∀ (x : α) (hx : x ∈ s), U x hx ∈ nhds x) :
    ∃ t, s ⊆ ⋃ x ∈ t, U ↑x (_ : ↑x ∈ s)
    theorem IsCompact.elim_nhds_subcover {α : Type u} [TopologicalSpace α] {s : Set α} (hs : IsCompact s) (U : α → Set α) (hU : ∀ (x : α), x ∈ s → U x ∈ nhds x) :
    ∃ t, (∀ (x : α), x ∈ t → x ∈ s) ∧ s ⊆ ⋃ x ∈ t, U x
    theorem IsCompact.disjoint_nhdsSet_left {α : Type u} [TopologicalSpace α] {s : Set α} {l : Filter α} (hs : IsCompact s) :
    Disjoint (nhdsSet s) l ↔ ∀ (x : α), x ∈ s → Disjoint (nhds x) l

    The neighborhood filter of a compact set is disjoint with a filter l if and only if the neighborhood filter of each point of this set is disjoint with l.

    theorem IsCompact.disjoint_nhdsSet_right {α : Type u} [TopologicalSpace α] {s : Set α} {l : Filter α} (hs : IsCompact s) :
    Disjoint l (nhdsSet s) ↔ ∀ (x : α), x ∈ s → Disjoint l (nhds x)

    A filter l is disjoint with the neighborhood filter of a compact set if and only if it is disjoint with the neighborhood filter of each point of this set.

    theorem IsCompact.elim_directed_family_closed {α : Type u} [TopologicalSpace α] {s : Set α} {ι : Type v} [hι : Nonempty ι] (hs : IsCompact s) (Z : ι → Set α) (hZc : ∀ (i : ι), IsClosed (Z i)) (hsZ : s ∩ ⋂ i, Z i = ∅) (hdZ : Directed (fun x x_1 => x ⊇ x_1) Z) :
    ∃ i, s ∩ Z i = ∅

    For every directed family of closed sets whose intersection avoids a compact set, there exists a single element of the family which itself avoids this compact set.

    theorem IsCompact.elim_finite_subfamily_closed {α : Type u} [TopologicalSpace α] {s : Set α} {ι : Type v} (hs : IsCompact s) (Z : ι → Set α) (hZc : ∀ (i : ι), IsClosed (Z i)) (hsZ : s ∩ ⋂ i, Z i = ∅) :
    ∃ t, s ∩ ⋂ i ∈ t, Z i = ∅

    For every family of closed sets whose intersection avoids a compact set, there exists a finite subfamily whose intersection avoids this compact set.

    theorem LocallyFinite.finite_nonempty_inter_compact {α : Type u} [TopologicalSpace α] {ι : Type u_3} {f : ι → Set α} (hf : LocallyFinite f) {s : Set α} (hs : IsCompact s) :

    If s is a compact set in a topological space α and f : ι → Set α is a locally finite family of sets, then f i ∩ s is nonempty only for a finitely many i.

    theorem IsCompact.inter_iInter_nonempty {α : Type u} [TopologicalSpace α] {s : Set α} {ι : Type v} (hs : IsCompact s) (Z : ι → Set α) (hZc : ∀ (i : ι), IsClosed (Z i)) (hsZ : ∀ (t : Finset ι), Set.Nonempty (s ∩ ⋂ i ∈ t, Z i)) :
    Set.Nonempty (s ∩ ⋂ i, Z i)

    To show that a compact set intersects the intersection of a family of closed sets, it is sufficient to show that it intersects every finite subfamily.

    theorem IsCompact.nonempty_iInter_of_directed_nonempty_compact_closed {α : Type u} [TopologicalSpace α] {ι : Type v} [hι : Nonempty ι] (Z : ι → Set α) (hZd : Directed (fun x x_1 => x ⊇ x_1) Z) (hZn : ∀ (i : ι), Set.Nonempty (Z i)) (hZc : ∀ (i : ι), IsCompact (Z i)) (hZcl : ∀ (i : ι), IsClosed (Z i)) :
    Set.Nonempty (⋂ i, Z i)

    Cantor's intersection theorem: the intersection of a directed family of nonempty compact closed sets is nonempty.

    theorem IsCompact.nonempty_iInter_of_sequence_nonempty_compact_closed {α : Type u} [TopologicalSpace α] (Z : ℕ → Set α) (hZd : ∀ (i : ℕ), Z (i + 1) ⊆ Z i) (hZn : ∀ (i : ℕ), Set.Nonempty (Z i)) (hZ0 : IsCompact (Z 0)) (hZcl : ∀ (i : ℕ), IsClosed (Z i)) :
    Set.Nonempty (⋂ i, Z i)

    Cantor's intersection theorem for sequences indexed by ℕ: the intersection of a decreasing sequence of nonempty compact closed sets is nonempty.

    theorem IsCompact.elim_finite_subcover_image {α : Type u} {ι : Type u_1} [TopologicalSpace α] {s : Set α} {b : Set ι} {c : ι → Set α} (hs : IsCompact s) (hc₁ : ∀ (i : ι), i ∈ b → IsOpen (c i)) (hc₂ : s ⊆ ⋃ i ∈ b, c i) :
    ∃ b', b' ⊆ b ∧ Set.Finite b' ∧ s ⊆ ⋃ i ∈ b', c i

    For every open cover of a compact set, there exists a finite subcover.

    theorem isCompact_of_finite_subcover {α : Type u} [TopologicalSpace α] {s : Set α} (h : ∀ {ι : Type u} (U : ι → Set α), (∀ (i : ι), IsOpen (U i)) → s ⊆ ⋃ i, U i → ∃ t, s ⊆ ⋃ i ∈ t, U i) :

    A set s is compact if for every open cover of s, there exists a finite subcover.

    theorem isCompact_of_finite_subfamily_closed {α : Type u} [TopologicalSpace α] {s : Set α} (h : ∀ {ι : Type u} (Z : ι → Set α), (∀ (i : ι), IsClosed (Z i)) → s ∩ ⋂ i, Z i = ∅ → ∃ t, s ∩ ⋂ i ∈ t, Z i = ∅) :

    A set s is compact if for every family of closed sets whose intersection avoids s, there exists a finite subfamily whose intersection avoids s.

    theorem isCompact_iff_finite_subcover {α : Type u} [TopologicalSpace α] {s : Set α} :
    IsCompact s ↔ ∀ {ι : Type u} (U : ι → Set α), (∀ (i : ι), IsOpen (U i)) → s ⊆ ⋃ i, U i → ∃ t, s ⊆ ⋃ i ∈ t, U i

    A set s is compact if and only if for every open cover of s, there exists a finite subcover.

    theorem isCompact_iff_finite_subfamily_closed {α : Type u} [TopologicalSpace α] {s : Set α} :
    IsCompact s ↔ ∀ {ι : Type u} (Z : ι → Set α), (∀ (i : ι), IsClosed (Z i)) → s ∩ ⋂ i, Z i = ∅ → ∃ t, s ∩ ⋂ i ∈ t, Z i = ∅

    A set s is compact if and only if for every family of closed sets whose intersection avoids s, there exists a finite subfamily whose intersection avoids s.

    theorem IsCompact.mem_nhdsSet_prod_of_forall {α : Type u} {β : Type v} [TopologicalSpace α] {K : Set α} {l : Filter β} {s : Set (α × β)} (hK : IsCompact K) (hs : ∀ (x : α), x ∈ K → s ∈ nhds x ×ˢ l) :

    If s : Set (α × β) belongs to 𝓝 x ×ˢ l for all x from a compact set K, then it belongs to (𝓝ˢ K) ×ˢ l, i.e., there exist an open U ⊇ K and t ∈ l such that U ×ˢ t ⊆ s.

    theorem IsCompact.nhdsSet_prod_eq_biSup {α : Type u} {β : Type v} [TopologicalSpace α] {K : Set α} (hK : IsCompact K) (l : Filter β) :
    nhdsSet K ×ˢ l = ⨆ x ∈ K, nhds x ×ˢ l
    theorem IsCompact.prod_nhdsSet_eq_biSup {α : Type u} {β : Type v} [TopologicalSpace β] {K : Set β} (hK : IsCompact K) (l : Filter α) :
    l ×ˢ nhdsSet K = ⨆ y ∈ K, l ×ˢ nhds y
    theorem IsCompact.mem_prod_nhdsSet_of_forall {α : Type u} {β : Type v} [TopologicalSpace β] {K : Set β} {l : Filter α} {s : Set (α × β)} (hK : IsCompact K) (hs : ∀ (y : β), y ∈ K → s ∈ l ×ˢ nhds y) :

    If s : Set (α × β) belongs to l ×ˢ 𝓝 y for all y from a compact set K, then it belongs to l ×ˢ (𝓝ˢ K), i.e., there exist t ∈ l and an open U ⊇ K such that t ×ˢ U ⊆ s.

    theorem IsCompact.eventually_forall_of_forall_eventually {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] {x₀ : α} {K : Set β} (hK : IsCompact K) {P : α → β → Prop} (hP : ∀ (y : β), y ∈ K → ∀ᶠ (z : α × β) in nhds (x₀, y), P z.1 z.2) :
    ∀ᶠ (x : α) in nhds x₀, ∀ (y : β), y ∈ K → P x y

    To show that ∀ y ∈ K, P x y holds for x close enough to x₀ when K is compact, it is sufficient to show that for all y₀ ∈ K there P x y holds for (x, y) close enough to (x₀, y₀).

    Provided for backwards compatibility, see IsCompact.mem_prod_nhdsSet_of_forall for a stronger statement.

    @[simp]
    theorem isCompact_singleton {α : Type u} [TopologicalSpace α] {a : α} :
    theorem Set.Finite.isCompact_biUnion {α : Type u} {ι : Type u_1} [TopologicalSpace α] {s : Set ι} {f : ι → Set α} (hs : Set.Finite s) (hf : ∀ (i : ι), i ∈ s → IsCompact (f i)) :
    IsCompact (⋃ i ∈ s, f i)
    theorem Finset.isCompact_biUnion {α : Type u} {ι : Type u_1} [TopologicalSpace α] (s : Finset ι) {f : ι → Set α} (hf : ∀ (i : ι), i ∈ s → IsCompact (f i)) :
    IsCompact (⋃ i ∈ s, f i)
    theorem isCompact_accumulate {α : Type u} [TopologicalSpace α] {K : ℕ → Set α} (hK : ∀ (n : ℕ), IsCompact (K n)) (n : ℕ) :
    theorem Set.Finite.isCompact_sUnion {α : Type u} [TopologicalSpace α] {S : Set (Set α)} (hf : Set.Finite S) (hc : ∀ (s : Set α), s ∈ S → IsCompact s) :
    theorem isCompact_iUnion {α : Type u} [TopologicalSpace α] {ι : Sort u_3} {f : ι → Set α} [Finite ι] (h : ∀ (i : ι), IsCompact (f i)) :
    IsCompact (⋃ i, f i)
    theorem Set.Finite.isCompact {α : Type u} [TopologicalSpace α] {s : Set α} (hs : Set.Finite s) :
    theorem IsCompact.union {α : Type u} [TopologicalSpace α] {s : Set α} {t : Set α} (hs : IsCompact s) (ht : IsCompact t) :
    theorem IsCompact.insert {α : Type u} [TopologicalSpace α] {s : Set α} (hs : IsCompact s) (a : α) :
    theorem exists_subset_nhds_of_isCompact' {α : Type u} [TopologicalSpace α] {ι : Type u_3} [Nonempty ι] {V : ι → Set α} (hV : Directed (fun x x_1 => x ⊇ x_1) V) (hV_cpct : ∀ (i : ι), IsCompact (V i)) (hV_closed : ∀ (i : ι), IsClosed (V i)) {U : Set α} (hU : ∀ (x : α), x ∈ ⋂ i, V i → U ∈ nhds x) :
    ∃ i, V i ⊆ U

    If V : ι → Set α is a decreasing family of closed compact sets then any neighborhood of ⋂ i, V i contains some V i. We assume each V i is compact and closed because α is not assumed to be Hausdorff. See exists_subset_nhd_of_compact for version assuming this.

    theorem isCompact_open_iff_eq_finite_iUnion_of_isTopologicalBasis {α : Type u} {ι : Type u_1} [TopologicalSpace α] (b : ι → Set α) (hb : TopologicalSpace.IsTopologicalBasis (Set.range b)) (hb' : ∀ (i : ι), IsCompact (b i)) (U : Set α) :
    IsCompact U ∧ IsOpen U ↔ ∃ s, Set.Finite s ∧ U = ⋃ i ∈ s, b i

    If α has a basis consisting of compact opens, then an open set in α is compact open iff it is a finite union of some elements in the basis

    Filter.cocompact is the filter generated by complements to compact sets.

    Equations
    Instances For
      @[simp]
      theorem Nat.cocompact_eq :
      Filter.cocompact ℕ = Filter.atTop
      theorem Filter.Tendsto.isCompact_insert_range_of_cofinite {α : Type u} {ι : Type u_1} [TopologicalSpace α] {f : ι → α} {a : α} (hf : Filter.Tendsto f Filter.cofinite (nhds a)) :
      theorem Filter.Tendsto.isCompact_insert_range {α : Type u} [TopologicalSpace α] {f : ℕ → α} {a : α} (hf : Filter.Tendsto f Filter.atTop (nhds a)) :

      Filter.coclosedCompact is the filter generated by complements to closed compact sets. In a Hausdorff space, this is the same as Filter.cocompact.

      Equations
      Instances For

        Sets that are contained in a compact set form a bornology. Its cobounded filter is Filter.cocompact. See also Bornology.relativelyCompact the bornology of sets with compact closure.

        Equations
        Instances For
          theorem IsCompact.nhdsSet_prod_eq {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] {s : Set α} {t : Set β} (hs : IsCompact s) (ht : IsCompact t) :

          If s and t are compact sets, then the set neighborhoods filter of s ×ˢ t is the product of set neighborhoods filters for s and t.

          For general sets, only the ≤ inequality holds, see nhdsSet_prod_le.

          theorem nhdsSet_prod_le {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] (s : Set α) (t : Set β) :

          The product of a neighborhood of s and a neighborhood of t is a neighborhood of s ×ˢ t, formulated in terms of a filter inequality.

          theorem generalized_tube_lemma {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] {s : Set α} (hs : IsCompact s) {t : Set β} (ht : IsCompact t) {n : Set (α × β)} (hn : IsOpen n) (hp : s ×ˢ t ⊆ n) :
          ∃ u v, IsOpen u ∧ IsOpen v ∧ s ⊆ u ∧ t ⊆ v ∧ u ×ˢ v ⊆ n

          If s and t are compact sets and n is an open neighborhood of s × t, then there exist open neighborhoods u ⊇ s and v ⊇ t such that u × v ⊆ n.

          See also IsCompact.nhdsSet_prod_eq.

          class CompactSpace (α : Type u_3) [TopologicalSpace α] :

          Type class for compact spaces. Separation is sometimes included in the definition, especially in the French literature, but we do not include it here.

          Instances
            theorem isCompact_univ {α : Type u} [TopologicalSpace α] [h : CompactSpace α] :
            IsCompact Set.univ
            theorem CompactSpace.elim_nhds_subcover {α : Type u} [TopologicalSpace α] [CompactSpace α] (U : α → Set α) (hU : ∀ (x : α), U x ∈ nhds x) :
            ∃ t, ⋃ x ∈ t, U x = ⊤
            theorem compactSpace_of_finite_subfamily_closed {α : Type u} [TopologicalSpace α] (h : ∀ {ι : Type u} (Z : ι → Set α), (∀ (i : ι), IsClosed (Z i)) → ⋂ i, Z i = ∅ → ∃ t, ⋂ i ∈ t, Z i = ∅) :
            theorem IsClosed.isCompact {α : Type u} [TopologicalSpace α] [CompactSpace α] {s : Set α} (h : IsClosed s) :
            class NoncompactSpace (α : Type u_3) [TopologicalSpace α] :

            α is a noncompact topological space if it is not a compact space.

            Instances
              theorem IsCompact.ne_univ {α : Type u} [TopologicalSpace α] [NoncompactSpace α] {s : Set α} (hs : IsCompact s) :
              s ≠ Set.univ

              A compact discrete space is finite.

              theorem finite_cover_nhds_interior {α : Type u} [TopologicalSpace α] [CompactSpace α] {U : α → Set α} (hU : ∀ (x : α), U x ∈ nhds x) :
              ∃ t, ⋃ x ∈ t, interior (U x) = Set.univ
              theorem finite_cover_nhds {α : Type u} [TopologicalSpace α] [CompactSpace α] {U : α → Set α} (hU : ∀ (x : α), U x ∈ nhds x) :
              ∃ t, ⋃ x ∈ t, U x = Set.univ
              theorem LocallyFinite.finite_nonempty_of_compact {α : Type u} [TopologicalSpace α] {ι : Type u_3} [CompactSpace α] {f : ι → Set α} (hf : LocallyFinite f) :

              If α is a compact space, then a locally finite family of sets of α can have only finitely many nonempty elements.

              theorem LocallyFinite.finite_of_compact {α : Type u} [TopologicalSpace α] {ι : Type u_3} [CompactSpace α] {f : ι → Set α} (hf : LocallyFinite f) (hne : ∀ (i : ι), Set.Nonempty (f i)) :
              Set.Finite Set.univ

              If α is a compact space, then a locally finite family of nonempty sets of α can have only finitely many elements, Set.Finite version.

              noncomputable def LocallyFinite.fintypeOfCompact {α : Type u} [TopologicalSpace α] {ι : Type u_3} [CompactSpace α] {f : ι → Set α} (hf : LocallyFinite f) (hne : ∀ (i : ι), Set.Nonempty (f i)) :

              If α is a compact space, then a locally finite family of nonempty sets of α can have only finitely many elements, Fintype version.

              Equations
              Instances For

                The comap of the cocompact filter on β by a continuous function f : α → β is less than or equal to the cocompact filter on α. This is a reformulation of the fact that images of compact sets are compact.

                theorem isCompact_range {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [CompactSpace α] {f : α → β} (hf : Continuous f) :

                If X is a compact topological space, then Prod.snd : X × Y → Y is a closed map.

                theorem exists_subset_nhds_of_compactSpace {α : Type u} [TopologicalSpace α] [CompactSpace α] {ι : Type u_3} [Nonempty ι] {V : ι → Set α} (hV : Directed (fun x x_1 => x ⊇ x_1) V) (hV_closed : ∀ (i : ι), IsClosed (V i)) {U : Set α} (hU : ∀ (x : α), x ∈ ⋂ i, V i → U ∈ nhds x) :
                ∃ i, V i ⊆ U
                theorem Inducing.isCompact_iff {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] {f : α → β} (hf : Inducing f) {s : Set α} :

                If f : α → β is an Inducing map, the image f '' s of a set s is compact if and only if s is compact.

                theorem Embedding.isCompact_iff {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] {s : Set α} {f : α → β} (hf : Embedding f) :

                If f : α → β is an Embedding, the image f '' s of a set s is compact if and only if s is compact.

                theorem Inducing.isCompact_preimage {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] {f : α → β} (hf : Inducing f) (hf' : IsClosed (Set.range f)) {K : Set β} (hK : IsCompact K) :

                The preimage of a compact set under an inducing map is a compact set.

                theorem ClosedEmbedding.isCompact_preimage {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] {f : α → β} (hf : ClosedEmbedding f) {K : Set β} (hK : IsCompact K) :

                The preimage of a compact set under a closed embedding is a compact set.

                A closed embedding is proper, ie, inverse images of compact sets are contained in compacts. Moreover, the preimage of a compact set is compact, see ClosedEmbedding.isCompact_preimage.

                theorem Subtype.isCompact_iff {α : Type u} [TopologicalSpace α] {p : α → Prop} {s : Set { a // p a }} :
                IsCompact s ↔ IsCompact (Subtype.val '' s)

                Sets of subtype are compact iff the image under a coercion is.

                theorem IsCompact.finite {α : Type u} [TopologicalSpace α] {s : Set α} (hs : IsCompact s) (hs' : DiscreteTopology ↑s) :
                theorem ClosedEmbedding.compactSpace {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [h : CompactSpace β] {f : α → β} (hf : ClosedEmbedding f) :
                theorem IsCompact.prod {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] {s : Set α} {t : Set β} (hs : IsCompact s) (ht : IsCompact t) :

                Finite topological spaces are compact.

                Equations

                The coproduct of the cocompact filters on two topological spaces is the cocompact filter on their product.

                theorem isCompact_pi_infinite {ι : Type u_1} {π : ι → Type u_2} [(i : ι) → TopologicalSpace (π i)] {s : (i : ι) → Set (π i)} :
                (∀ (i : ι), IsCompact (s i)) → IsCompact {x | ∀ (i : ι), x i ∈ s i}

                Tychonoff's theorem: product of compact sets is compact.

                theorem isCompact_univ_pi {ι : Type u_1} {π : ι → Type u_2} [(i : ι) → TopologicalSpace (π i)] {s : (i : ι) → Set (π i)} (h : ∀ (i : ι), IsCompact (s i)) :
                IsCompact (Set.pi Set.univ s)

                Tychonoff's theorem formulated using Set.pi: product of compact sets is compact.

                instance Pi.compactSpace {ι : Type u_1} {π : ι → Type u_2} [(i : ι) → TopologicalSpace (π i)] [∀ (i : ι), CompactSpace (π i)] :
                CompactSpace ((i : ι) → π i)
                Equations
                theorem Filter.coprodᵢ_cocompact {δ : Type u_3} {κ : δ → Type u_4} [(d : δ) → TopologicalSpace (κ d)] :
                (Filter.coprodᵢ fun d => Filter.cocompact (κ d)) = Filter.cocompact ((d : δ) → κ d)

                Tychonoff's theorem formulated in terms of filters: Filter.cocompact on an indexed product type Π d, κ d the Filter.coprodᵢ of filters Filter.cocompact on κ d.

                theorem IsClosed.exists_minimal_nonempty_closed_subset {α : Type u} [TopologicalSpace α] [CompactSpace α] {S : Set α} (hS : IsClosed S) (hne : Set.Nonempty S) :
                ∃ V, V ⊆ S ∧ Set.Nonempty V ∧ IsClosed V ∧ ∀ (V' : Set α), V' ⊆ V → Set.Nonempty V' → IsClosed V' → V' = V