Documentation

TauCeti.Topology.Covering.Category

The category of covering spaces over a fixed base #

For a topological space X, this file defines TauCeti.CoveringSpace X, whose objects are covering maps to X and whose morphisms are continuous maps over X. It is constructed as the full subcategory of TopCat / X cut out by IsCoveringMap, so its category structure and the commuting triangle carried by every morphism come from Mathlib's Over and ObjectProperty.FullSubcategory APIs.

Full subcategories of TauCeti.CoveringSpace X cut out by a further property of the underlying object of TopCat / X are packaged once as TauCeti.CoveringSpace.FullSubcategory X P, which carries the constructor API. TauCeti.ConnectedCoveringSpace X, the covers with connected total space, is the instance taking P to be connectedness; TauCeti.FiniteCoveringSpace in TauCeti.Topology.Covering.Finite is the other.

Each is a reducible abbreviation, so the general API applies to it unchanged. What a subcategory restates is its constructor together with the computation lemmas that mention it — mk, mk_coe, mk_proj, forget_obj_mk — and its own forget, which fixes P; it adds whatever its property gives, such as TauCeti.ConnectedCoveringSpace.connectedSpace. The docstring of TauCeti.CoveringSpace.FullSubcategory says how to name the rest from a subcategory.

The connected covers are the source category for the classification by transitive fundamental-group actions.

Main declarations #

References #

The construction follows Mathlib's CategoryTheory.MonoOver: both are full subcategories of an over category selected by a property of the structure morphism. The forget, mk, proj, homMk, isoMk, and isomorphism-characterization APIs are adapted from Mathlib/CategoryTheory/Subobject/MonoOver.lean, using the generic Over and ObjectProperty.FullSubcategory constructors directly, and are stated once for TauCeti.CoveringSpace.FullSubcategory.

The property of an object of TopCat / X that its structure morphism is a covering map.

Equations
Instances For
    @[simp]

    Membership in the covering-map property of objects of TopCat / X.

    This is the lemma downstream modules use to build objects of the full subcategories that TauCeti.Over.isCoveringMap cuts out from a bare proof of IsCoveringMap.

    A morphism in TopCat / X is an isomorphism exactly when its map on left objects is a homeomorphism.

    @[reducible, inline]
    abbrev TauCeti.CoveringSpace (X : TopCat) :
    Type (u + 1)

    The category of covering spaces over X. Its objects are covering maps to X, and its morphisms are continuous maps commuting with the projections to X.

    Equations
    Instances For
      @[reducible, inline]

      The fully faithful inclusion of covering spaces over X into TopCat / X.

      Equations
      Instances For
        @[reducible, inline]

        The functor taking a covering space to its total space.

        Equations
        Instances For
          @[instance_reducible]

          A covering space over X coerces to its total space.

          Equations

          Construct a covering space over X from a covering map p. The definition is @[expose]d so that its total space is E and its projection is p by rfl in downstream modules.

          Equations
          Instances For
            @[reducible, inline]

            The projection of a covering space to its base.

            Equations
            Instances For

              The projection from an object of CoveringSpace X is a covering map.

              A morphism of covering spaces commutes with the projections to the base.

              A morphism of covering spaces commutes with the projections to the base.

              The commuting triangle of a morphism of covering spaces, as an equality of the underlying functions.

              def TauCeti.CoveringSpace.homMk {X : TopCat} {p q : CoveringSpace X} (f : p.obj.left ⟶ q.obj.left) (w : CategoryTheory.CategoryStruct.comp f q.proj = p.proj := by cat_disch) :
              p ⟶ q

              Construct a morphism of covering spaces from a continuous map over the base.

              Equations
              Instances For
                def TauCeti.CoveringSpace.isoMk {X : TopCat} {p q : CoveringSpace X} (e : p.obj.left ≅ q.obj.left) (w : CategoryTheory.CategoryStruct.comp e.hom q.proj = p.proj := by cat_disch) :
                p ≅ q

                Construct an isomorphism of covering spaces from an isomorphism of their total spaces over the base.

                Equations
                Instances For

                  Reconstructing a covering space from its projection gives an isomorphic object.

                  Equations
                  Instances For

                    A map of covering spaces is an isomorphism exactly when its map of total spaces is a homeomorphism.

                    @[simp]

                    A covering space of X is an initial object of TauCeti.CoveringSpace X exactly when its total space is empty. The empty space covers X — vacuously, by IsCoveringMap.of_isEmpty — and is the initial object, so a cover is "non-initial" exactly when it is nonempty. No hypothesis on X is needed.

                    @[reducible, inline]

                    The full subcategory of TauCeti.CoveringSpace X cut out by a further property P of the underlying object of TopCat / X.

                    A subcategory of covers is built by abbreviating this type at its own P, as TauCeti.ConnectedCoveringSpace and TauCeti.FiniteCoveringSpace do. Such a subcategory restates only its constructor and the lemmas naming it — mk, mk_coe, mk_proj, forget_obj_mk — since each takes its property in a different form, and its own forget, which fixes P. The rest of the API below is used from it rather than restated:

                    Equations
                    Instances For
                      @[reducible, inline]

                      The inclusion into all covering spaces. It is fully faithful: Full and Faithful are found by instance search from Mathlib's ObjectProperty.full_ιOfLE and ObjectProperty.faithful_ιOfLE, and the bundled witness is ObjectProperty.fullyFaithfulιOfLE inf_le_left.

                      Equations
                      Instances For
                        @[instance_reducible]

                        An object of a full subcategory of covering spaces coerces to its total space.

                        Equations

                        Construct an object from a covering map whose underlying object satisfies P. The definition is @[expose]d so that its total space is E and its projection is p by rfl in downstream modules.

                        Equations
                        Instances For
                          @[reducible, inline]

                          The projection of an object to its base.

                          Equations
                          Instances For

                            The total-space functor sends an object to its total space.

                            The total-space functor sends a morphism to its map of total spaces.

                            The projection from an object of a full subcategory of covering spaces is a covering map.

                            The cutting property holds of the underlying object of TopCat / X.

                            Construct an isomorphism from an isomorphism of total spaces over the base.

                            Equations
                            Instances For
                              @[reducible, inline]

                              The category of connected covering spaces over X.

                              Equations
                              Instances For
                                @[reducible, inline]

                                The fully faithful inclusion of connected covering spaces into all covering spaces.

                                Equations
                                Instances For

                                  Construct a connected covering space from a covering map with connected total space.

                                  Equations
                                  Instances For

                                    The total space of a connected covering space is connected.