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 #
TauCeti.Over.isCoveringMapandTauCeti.Over.isCoveringMap_iff: the property of an object ofTopCat / Xthat its structure morphism is a covering map, and its membership lemma.TauCeti.CoveringSpace X: covering spaces overXand maps overX.TauCeti.CoveringSpace.mk,proj,homMk,isoMk: constructors for covering spaces and their morphisms and isomorphisms.TauCeti.CoveringSpace.forget,fullyFaithfulForget: the inclusion intoTopCat / Xand its full faithfulness.TauCeti.CoveringSpace.totalSpace: the functor taking a cover to its total space.TauCeti.CoveringSpace.isIso_iff_isHomeomorph_hom_left: a map of covers is an isomorphism exactly when its map of total spaces is a homeomorphism.TauCeti.CoveringSpace.isInitial_iff_isEmpty: a cover is an initial object exactly when its total space is empty.TauCeti.CoveringSpace.FullSubcategory X P: the full subcategory of covers whose underlying object satisfiesP.TauCeti.CoveringSpace.FullSubcategory.mk,mk_coe,mk_proj,forget_obj_mk,proj,homMk,isoMk: the constructor API shared by every such subcategory.TauCeti.CoveringSpace.FullSubcategory.prop_obj: the cutting property of an object.TauCeti.CoveringSpace.FullSubcategory.totalSpace,totalSpace_obj,totalSpace_map: the functor taking an object to its total space, and its characteristic equations.TauCeti.CoveringSpace.FullSubcategory.forget: the inclusion into all covers.TauCeti.CoveringSpace.FullSubcategory.isIso_iff_isHomeomorph_hom_left: the corresponding isomorphism criterion.TauCeti.ConnectedCoveringSpace X: connected covering spaces overX, withTauCeti.ConnectedCoveringSpace.mk,mk_coe,mk_proj,forget_obj_mkandforget.TauCeti.ConnectedCoveringSpace.connectedSpace: the total space of a connected covering space is connected.
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
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.
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
The fully faithful inclusion of covering spaces over X into TopCat / X.
Equations
Instances For
The functor taking a covering space to its total space.
Equations
Instances For
A covering space over X coerces to its total space.
Equations
- TauCeti.CoveringSpace.instCoeOutTopCat = { coe := fun (p : TauCeti.CoveringSpace X) => p.obj.left }
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
- TauCeti.CoveringSpace.mk p hp = { obj := CategoryTheory.Over.mk p, property := ⋯ }
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.
Construct a morphism of covering spaces from a continuous map over the base.
Equations
Instances For
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.
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.
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:
- object accessors support dot notation:
p.proj,p.prop_obj,p.isCoveringMap_proj, andp.mkProjIso; - morphism constructors and the commuting triangle can be named as
CoveringSpace.FullSubcategory.homMk f w,CoveringSpace.FullSubcategory.isoMk e w, andCoveringSpace.FullSubcategory.w f. The formsp.homMk f w,p.isoMk e w, andp.w falso work: generalized field notation supplies the implicit source object(p := p); f.wdoes not resolve because the morphism type is headed byCategoryTheory.InducedCategory.Hom; use the qualified form orp.w finstead;- a member parameterized only by
XandPis named through this namespace.
Equations
Instances For
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.
Instances For
An object of a full subcategory of covering spaces coerces to its total space.
Equations
- TauCeti.CoveringSpace.FullSubcategory.instCoeOutTopCat = { coe := fun (p : TauCeti.CoveringSpace.FullSubcategory X P) => p.obj.left }
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
- TauCeti.CoveringSpace.FullSubcategory.mk p hp hP = { obj := CategoryTheory.Over.mk p, property := ⋯ }
Instances For
The projection of an object to its base.
Instances For
The functor taking an object to its total space.
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.
A morphism commutes with the projections to the base.
A morphism commutes with the projections to the base.
Construct a morphism from a continuous map over the base.
Equations
Instances For
Construct an isomorphism from an isomorphism of total spaces over the base.
Equations
Instances For
Reconstructing an object from its projection gives an isomorphic object.
Equations
Instances For
A morphism is an isomorphism exactly when its map of total spaces is a homeomorphism.
The category of connected covering spaces over X.
Equations
- TauCeti.ConnectedCoveringSpace X = TauCeti.CoveringSpace.FullSubcategory X fun (p : CategoryTheory.Over X) => ConnectedSpace ↑p.left
Instances For
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.