Universal cover: quotient model and sheets #
This file introduces the based-path quotient model for the universal cover based at a point x₀,
and builds the sheet decomposition of proj ⁻¹' U over a good neighborhood U.
It is adapted from mathlib4#38292 by Kim Morrison.
The underlying point of the universal cover is still represented by an endpoint together with a
homotopy class of paths from x₀, but the topology is not the naive sigma topology. Instead it is
the quotient topology coming from the compact-open based-path space.
Main definitions #
UniversalCover x₀: astructurewith fieldsproj : X(the endpoint) andpath : Path.Homotopic.Quotient x₀ proj(the homotopy class of paths fromx₀), topologized as the quotient ofBasedPath x₀under endpoint-preserving homotopy.UniversalCover.proj : UniversalCover x₀ → X: the endpoint projection (auto-generated).UniversalCover.basepointLift: the constant-path point overx₀.UniversalCover.sheet: the sheet indexed byq : Path.Homotopic.Quotient x₀ xover a good neighborhoodU, viewed as a subset ofUniversalCover x₀.
Main results #
UniversalCover.range_proj: the endpoint projection has range the path component ofx₀.UniversalCover.isOpenMap_proj: the endpoint projection is an open map.UniversalCover.toPath_homotopic_of_ofBasedPath_eqandUniversalCover.ofBasedPath_eq_of_homotopic_toPath: equality in the universal cover is equivalent to endpoint-preserving path homotopy of representatives.UniversalCover.proj_surjOn_sheet,UniversalCover.pairwise_disjoint_sheet,UniversalCover.sheet_exhaustive,UniversalCover.proj_injOn_sheet: structure of the sheet decomposition over a good neighborhoodU.
Implementation note #
Hatcher (and many textbook treatments) topologize the universal cover directly, declaring
a basic open set for each pair (q, U) of a homotopy class q and a good neighborhood U.
Here we take a different route: the based-path space BasedPath x₀ already naturally has the
compact-open topology, and we put the quotient topology on the endpoint/homotopy-class model via the
surjection ofBasedPath. This introduces slightly more complexity, that is hidden in book
presentations that omit proving their introduced topology is actually the standard one.
The endpoint-plus-homotopy-class model for the universal cover. The topology is supplied below
as the quotient topology from BasedPath x₀.
- proj : X
The endpoint of a representative path.
- path : Path.Homotopic.Quotient x₀ self.proj
The homotopy class of paths from the basepoint to
proj.
Instances For
The quotient map from based paths to endpoint/path-homotopy classes.
Equations
- TauCeti.UniversalCover.ofBasedPath x₀ α = { proj := α.endpoint, path := Path.Homotopic.Quotient.mk α.toPath }
Instances For
ofBasedPath records the endpoint and homotopy class of its based path.
The topology on UniversalCover x₀ as the quotient topology coinduced from the compact-open
topology on BasedPath x₀ via ofBasedPath. See the module-level ## Implementation note for
why we do not use the Hatcher-style bespoke basis.
The canonical map from based paths to the universal cover is continuous.
ofBasedPath applied to the canonical based path from p : Path x₀ y gives the
endpoint-and-homotopy-class pair.
Every point of UniversalCover x₀ is represented by some based path.
ofBasedPath is a quotient map: UniversalCover x₀ carries the quotient topology from
BasedPath x₀ under endpoint-preserving path homotopy.
Prepending a fixed path is continuous on the based-path quotient.
proj composed with ofBasedPath reads off the endpoint of the representative.
The constant-path point in the fibre of the universal covering projection over x₀.
Equations
Instances For
The endpoint projection sends the constant-path point to the basepoint.
The underlying point of basepointLift is represented by the constant path.
The endpoint projection of the universal cover has range the path component of x₀.
Equal images under ofBasedPath have equal endpoints.
Equality in the universal cover induces an endpoint-preserving homotopy of representative based paths.
If two based paths have the same endpoint and homotopic toPaths (after casting to a
common target), then they represent the same element of the UniversalCover.
The endpoint projection from the universal cover is continuous.
The endpoint projection UniversalCover x₀ → X is an open map when X is locally
path-connected.
Sheet construction over a good neighborhood #
Below we construct, for each point x and a good neighborhood U of x, the sheets indexed by
the homotopy classes q : Path.Homotopic.Quotient x₀ x.
The path component (in endpoint ⁻¹' U) of the based path ofPath p.
Equations
Instances For
The sheet over U (with x ∈ U) corresponding to a homotopy class
q : Path.Homotopic.Quotient x₀ x, expressed as a set of based paths.
Equations
- TauCeti.UniversalCover.basedPathSheet U hxU q = Quotient.liftOn q (fun (p : Path x₀ x) => TauCeti.UniversalCover.basedPathComponent U p) ⋯
Instances For
basedPathSheet of a quotient class unfolds to the path component of any representative.
Every based path in a basedPathSheet over U has its endpoint in U.
The sheet over U corresponding to q, viewed as a subset of UniversalCover x₀.
Equations
Instances For
Points of the sheet over U project into U.
The preimage of a sheet under ofBasedPath is the corresponding basedPathSheet.
This expresses that the sheet is saturated under the ofBasedPath quotient.
Saturated membership criterion: a based path's image lies in a sheet iff the based path
itself lies in the corresponding basedPathSheet.
A sheet over an open set is open under the local hypotheses for universal covers.
A path representative belongs to the sheet indexed by its own homotopy class.
Sheet surjection onto U: every point of U is the projection of a point of the sheet.
Sheets over the same good neighborhood, indexed by Path.Homotopic.Quotient, are pairwise
disjoint.
Sheets exhaust proj ⁻¹' U: every element of the preimage lies in some sheet.
In a good neighborhood U, the projection proj is injective on each sheet.