Documentation

Mathlib.Topology.Category.CompHaus.Basic

The category of Compact Hausdorff Spaces #

We construct the category of compact Hausdorff spaces. The type of compact Hausdorff spaces is denoted CompHaus, and it is endowed with a category instance making it a full subcategory of TopCat. The fully faithful functor CompHausTopCat is denoted compHausToTop.

Note: The file Topology/Category/Compactum.lean provides the equivalence between Compactum, which is defined as the category of algebras for the ultrafilter monad, and CompHaus. CompactumToCompHaus is the functor from Compactum to CompHaus which is proven to be an equivalence of categories in CompactumToCompHaus.isEquivalence. See topology/category/Compactum.lean for a more detailed discussion where these definitions are introduced.

structure CompHaus :
Type (u_1 + 1)

The type of Compact Hausdorff topological spaces.

  • toTop : TopCat

    The underlying topological space of an object of CompHaus.

  • is_compact : CompactSpace self.toTop

    The underlying topological space is compact.

  • is_hausdorff : T2Space self.toTop

    The underlying topological space is T2.

Instances For

    A constructor for objects of the category CompHaus, taking a type, and bundling the compact Hausdorff topology found by typeclass inference.

    Equations
    Instances For
      @[simp]
      theorem CompHaus.coe_of (X : Type u_1) [TopologicalSpace X] [CompactSpace X] [T2Space X] :
      (CompHaus.of X).toTop = X
      theorem CompHaus.isClosedMap {X : CompHaus} {Y : CompHaus} (f : X Y) :

      Any continuous function on compact Hausdorff spaces is a closed map.

      Any continuous bijection of compact Hausdorff spaces is an isomorphism.

      noncomputable def CompHaus.isoOfBijective {X : CompHaus} {Y : CompHaus} (f : X Y) (bij : Function.Bijective f) :
      X Y

      Any continuous bijection of compact Hausdorff spaces induces an isomorphism.

      Equations
      Instances For
        @[simp]
        theorem CompHaus.isoOfHomeo_inv {X : CompHaus} {Y : CompHaus} (f : X.toTop ≃ₜ Y.toTop) :
        (CompHaus.isoOfHomeo f).inv = { toFun := (Homeomorph.symm f), continuous_toFun := }
        @[simp]
        theorem CompHaus.isoOfHomeo_hom {X : CompHaus} {Y : CompHaus} (f : X.toTop ≃ₜ Y.toTop) :
        (CompHaus.isoOfHomeo f).hom = { toFun := f, continuous_toFun := }
        def CompHaus.isoOfHomeo {X : CompHaus} {Y : CompHaus} (f : X.toTop ≃ₜ Y.toTop) :
        X Y

        Construct an isomorphism from a homeomorphism.

        Equations
        • CompHaus.isoOfHomeo f = { hom := { toFun := f, continuous_toFun := }, inv := { toFun := (Homeomorph.symm f), continuous_toFun := }, hom_inv_id := , inv_hom_id := }
        Instances For
          @[simp]
          theorem CompHaus.homeoOfIso_apply {X : CompHaus} {Y : CompHaus} (f : X Y) (a : (CategoryTheory.forget CompHaus).obj X) :
          (CompHaus.homeoOfIso f) a = f.hom a
          def CompHaus.homeoOfIso {X : CompHaus} {Y : CompHaus} (f : X Y) :
          X.toTop ≃ₜ Y.toTop

          Construct a homeomorphism from an isomorphism.

          Equations
          • CompHaus.homeoOfIso f = { toEquiv := { toFun := f.hom, invFun := f.inv, left_inv := , right_inv := }, continuous_toFun := , continuous_invFun := }
          Instances For
            @[simp]
            theorem CompHaus.isoEquivHomeo_symm_apply {X : CompHaus} {Y : CompHaus} (f : X.toTop ≃ₜ Y.toTop) :
            CompHaus.isoEquivHomeo.symm f = CompHaus.isoOfHomeo f
            @[simp]
            theorem CompHaus.isoEquivHomeo_apply {X : CompHaus} {Y : CompHaus} (f : X Y) :
            CompHaus.isoEquivHomeo f = CompHaus.homeoOfIso f
            def CompHaus.isoEquivHomeo {X : CompHaus} {Y : CompHaus} :
            (X Y) (X.toTop ≃ₜ Y.toTop)

            The equivalence between isomorphisms in CompHaus and homeomorphisms of topological spaces.

            Equations
            • CompHaus.isoEquivHomeo = { toFun := CompHaus.homeoOfIso, invFun := CompHaus.isoOfHomeo, left_inv := , right_inv := }
            Instances For
              @[simp]
              theorem compHausToTop_obj (self : CompHaus) :
              compHausToTop.obj self = self.toTop
              @[simp]
              theorem stoneCechObj_toTop_α (X : TopCat) :
              (stoneCechObj X).toTop = StoneCech X

              (Implementation) The object part of the compactification functor from topological spaces to compact Hausdorff spaces.

              Equations
              Instances For
                noncomputable def stoneCechEquivalence (X : TopCat) (Y : CompHaus) :

                (Implementation) The bijection of homsets to establish the reflective adjunction of compact Hausdorff spaces in topological spaces.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  The Stone-Cech compactification functor from topological spaces to compact Hausdorff spaces, left adjoint to the inclusion functor.

                  Equations
                  Instances For
                    theorem topToCompHaus_obj (X : TopCat) :
                    (topToCompHaus.obj X).toTop = StoneCech X

                    The category of compact Hausdorff spaces is reflective in the category of topological spaces.

                    Equations

                    An explicit limit cone for a functor F : J ⥤ CompHaus, defined in terms of TopCat.limitCone.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      The limit cone CompHaus.limitCone F is indeed a limit cone.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        @[inline, reducible]
                        abbrev CompHausMax :
                        Type ((max w w') + 1)

                        Many definitions involving universe inequalities in Mathlib are expressed through use of max u v. Unfortunately, this leads to unbound universes which cannot be solved for during unification, eg max u v =?= max v ?. The current solution is to wrap Type max u v in TypeMax.{u,v} to expose both universe parameters directly. Similarly, for other concrete categories for which we need to refer to the maximum of two universes (e.g. any category for which we are constructing limits), we need an analogous abbreviation.

                        Equations
                        Instances For