The fundamental-group action on the universal cover #
The fundamental group FundamentalGroup X x₀ acts on UniversalCover x₀ by deck
transformations: an element g acts on a point represented by a homotopy class of paths from
x₀ by prepending a loop representing g⁻¹. The action is free, continuous in the universal
cover variable, and properly discontinuous in the local form used by IsQuotientCoveringMap.
Consequently, the endpoint projection is a quotient covering map for this action.
This file is adapted from Kim Morrison's
mathlib4#38292, file
Mathlib/AlgebraicTopology/FundamentalGroupoid/UniversalCover/Action.lean.
Convention #
FundamentalGroup X x₀ = End (FundamentalGroupoid.mk x₀), and Mathlib's End
multiplication reverses composition:
(g * h).toPath = h.toPath.trans g.toPath. Geometric concatenation therefore gives a right
action. To obtain the left action consumed by Mathlib's quotient-covering API, we define
g • mk x q = mk x (g⁻¹.toPath.trans q).
The inverse-free computation rule is inv_smul_mk.
Main declarations #
- The
MulAction,FaithfulSMul,ContinuousConstSMul, andIsCancelSMulinstances forFundamentalGroup X x₀acting onUniversalCover x₀. TauCeti.UniversalCover.monodromy_basepointLift: monodromy at that point is the fundamental-group action by the inverse loop class.TauCeti.UniversalCover.proj_eq_iff_mem_orbit: the fibres ofprojare precisely the action orbits.TauCeti.UniversalCover.isQuotientCoveringMap:projis the quotient covering map for the fundamental-group action.
The fundamental group acts on the universal cover by prepending the inverse loop class.
Equations
- TauCeti.UniversalCover.instSMulFundamentalGroup = { smul := fun (g : FundamentalGroup X x₀) (p : TauCeti.UniversalCover x₀) => { proj := p.proj, path := g⁻¹.toPath.trans p.path } }
The fundamental-group action prepends the inverse loop class to a representative path.
Acting by an inverse prepends the corresponding loop class without an inverse.
The fundamental-group action preserves the endpoint projection.
The action of the fundamental group on the universal cover.
Equations
- TauCeti.UniversalCover.instMulActionFundamentalGroup = { toSMul := TauCeti.UniversalCover.instSMulFundamentalGroup, mul_smul := ⋯, one_smul := ⋯ }
The action on the universal cover is faithful.
Every fundamental-group element acts continuously on the universal cover.
The action of the fundamental group on the universal cover is free.
Two points of the universal cover have the same projection exactly when they lie in the same fundamental-group orbit.
The fundamental-group action is properly discontinuous: every point of the universal cover has a neighbourhood whose non-identity translates are disjoint from it.
The endpoint projection is surjective when the base is path-connected.
The endpoint projection is a quotient covering map for the fundamental-group action.
Monodromy of the universal covering projection at its constant-path basepoint is the fundamental-group action by the inverse loop class.