# Documentation

Mathlib.Topology.Covering

# Covering Maps #

This file defines covering maps.

## Main definitions #

• IsEvenlyCovered f x I: A point x is evenly covered by f : E → X with fiber I if I is discrete and there is a Trivialization of f at x with fiber I.
• IsCoveringMap f: A function f : E → X is a covering map if every point x is evenly covered by f with fiber f ⁻¹' {x}. The fibers f ⁻¹' {x} must be discrete, but if X is not connected, then the fibers f ⁻¹' {x} are not necessarily isomorphic. Also, f is not assumed to be surjective, so the fibers are even allowed to be empty.
def IsEvenlyCovered {E : Type u_1} {X : Type u_2} [] [] (f : EX) (x : X) (I : Type u_3) [] :

A point x : X is evenly covered by f : E → X if x has an evenly covered neighborhood.

Instances For
noncomputable def IsEvenlyCovered.toTrivialization {E : Type u_1} {X : Type u_2} [] [] {f : EX} {x : X} {I : Type u_3} [] (h : ) :
Trivialization (↑(f ⁻¹' {x})) f

If x is evenly covered by f, then we can construct a trivialization of f at x.

Instances For
theorem IsEvenlyCovered.mem_toTrivialization_baseSet {E : Type u_1} {X : Type u_2} [] [] {f : EX} {x : X} {I : Type u_3} [] (h : ) :
x ().baseSet
theorem IsEvenlyCovered.toTrivialization_apply {E : Type u_1} {X : Type u_2} [] [] {f : EX} {x : E} {I : Type u_3} [] (h : IsEvenlyCovered f (f x) I) :
().snd = { val := x, property := (_ : f x = f x) }
theorem IsEvenlyCovered.continuousAt {E : Type u_1} {X : Type u_2} [] [] {f : EX} {x : E} {I : Type u_3} [] (h : IsEvenlyCovered f (f x) I) :
theorem IsEvenlyCovered.to_isEvenlyCovered_preimage {E : Type u_1} {X : Type u_2} [] [] {f : EX} {x : X} {I : Type u_3} [] (h : ) :
IsEvenlyCovered f x ↑(f ⁻¹' {x})
def IsCoveringMapOn {E : Type u_1} {X : Type u_2} [] [] (f : EX) (s : Set X) :

A covering map is a continuous function f : E → X with discrete fibers such that each point of X has an evenly covered neighborhood.

Instances For
theorem IsCoveringMapOn.mk {E : Type u_1} {X : Type u_2} [] [] (f : EX) (s : Set X) (F : XType u_3) [(x : X) → TopologicalSpace (F x)] [hF : ∀ (x : X), DiscreteTopology (F x)] (e : (x : X) → x sTrivialization (F x) f) (h : ∀ (x : X) (hx : x s), x (e x hx).baseSet) :
theorem IsCoveringMapOn.continuousAt {E : Type u_1} {X : Type u_2} [] [] {f : EX} {s : Set X} (hf : ) {x : E} (hx : f x s) :
theorem IsCoveringMapOn.continuousOn {E : Type u_1} {X : Type u_2} [] [] {f : EX} {s : Set X} (hf : ) :
theorem IsCoveringMapOn.isLocallyHomeomorphOn {E : Type u_1} {X : Type u_2} [] [] {f : EX} {s : Set X} (hf : ) :
def IsCoveringMap {E : Type u_1} {X : Type u_2} [] [] (f : EX) :

A covering map is a continuous function f : E → X with discrete fibers such that each point of X has an evenly covered neighborhood.

Instances For
theorem isCoveringMap_iff_isCoveringMapOn_univ {E : Type u_1} {X : Type u_2} [] [] {f : EX} :
IsCoveringMapOn f Set.univ
theorem IsCoveringMap.isCoveringMapOn {E : Type u_1} {X : Type u_2} [] [] {f : EX} (hf : ) :
IsCoveringMapOn f Set.univ
theorem IsCoveringMap.mk {E : Type u_1} {X : Type u_2} [] [] (f : EX) (F : XType u_3) [(x : X) → TopologicalSpace (F x)] [∀ (x : X), DiscreteTopology (F x)] (e : (x : X) → Trivialization (F x) f) (h : ∀ (x : X), x (e x).baseSet) :
theorem IsCoveringMap.continuous {E : Type u_1} {X : Type u_2} [] [] {f : EX} (hf : ) :
theorem IsCoveringMap.isLocallyHomeomorph {E : Type u_1} {X : Type u_2} [] [] {f : EX} (hf : ) :
theorem IsCoveringMap.isOpenMap {E : Type u_1} {X : Type u_2} [] [] {f : EX} (hf : ) :
theorem IsCoveringMap.quotientMap {E : Type u_1} {X : Type u_2} [] [] {f : EX} (hf : ) (hf' : ) :
theorem IsFiberBundle.isCoveringMap {E : Type u_1} {X : Type u_2} [] [] {f : EX} {F : Type u_3} [] [] (hf : ∀ (x : X), e, x e.baseSet) :
theorem FiberBundle.isCoveringMap {X : Type u_2} [] {F : Type u_3} {E : XType u_4} [] [] [] [(x : X) → TopologicalSpace (E x)] [] :
IsCoveringMap Bundle.TotalSpace.proj