Fundamental groupoid of a space #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
Given a topological space X
, we can define the fundamental groupoid of X
to be the category with
objects being points of X
, and morphisms x ⟶ y
being paths from x
to y
, quotiented by
homotopy equivalence. With this, the fundamental group of X
based at x
is just the automorphism
group of x
.
For any path p
from x₀
to x₁
, we have a homotopy from the constant path based at x₀
to
p.trans p.symm
.
Equations
- path.homotopy.refl_trans_symm p = {to_homotopy := {to_continuous_map := {to_fun := λ (x : ↥unit_interval × ↥unit_interval), ⇑p ⟨path.homotopy.refl_trans_symm_aux x, _⟩, continuous_to_fun := _}, map_zero_left' := _, map_one_left' := _}, prop' := _}
For any path p
from x₀
to x₁
, we have a homotopy from the constant path based at x₁
to
p.symm.trans p
.
Equations
- path.homotopy.refl_symm_trans p = (path.homotopy.refl_trans_symm p.symm).cast path.homotopy.refl_symm_trans._proof_1 _
Auxilliary function for trans_refl_reparam
For any path p
from x₀
to x₁
, we have a homotopy from p.trans (path.refl x₁)
to p
.
Equations
- path.homotopy.trans_refl p = ((path.homotopy.reparam p (λ (t : ↥unit_interval), ⟨path.homotopy.trans_refl_reparam_aux t, _⟩) path.homotopy.trans_refl._proof_4 path.homotopy.trans_refl._proof_5 path.homotopy.trans_refl._proof_6).cast _ _).symm
For any path p
from x₀
to x₁
, we have a homotopy from (path.refl x₀).trans p
to p
.
Equations
For paths p q r
, we have a homotopy from (p.trans q).trans r
to p.trans (q.trans r)
.
Equations
- path.homotopy.trans_assoc p q r = ((path.homotopy.reparam (p.trans (q.trans r)) (λ (t : ↥unit_interval), ⟨path.homotopy.trans_assoc_reparam_aux t, _⟩) path.homotopy.trans_assoc._proof_4 path.homotopy.trans_assoc._proof_5 path.homotopy.trans_assoc._proof_6).cast _ _).symm
The fundamental groupoid of a space X
is defined to be a type synonym for X
, and we subsequently
put a category_theory.groupoid
structure on it.
Equations
Instances for fundamental_groupoid
Equations
Equations
- fundamental_groupoid.category_theory.groupoid = {to_category := {to_category_struct := {to_quiver := {hom := λ (x y : fundamental_groupoid X), path.homotopic.quotient x y}, id := λ (x : fundamental_groupoid X), ⟦path.refl x⟧, comp := λ (x y z : fundamental_groupoid X), path.homotopic.quotient.comp}, id_comp' := _, comp_id' := _, assoc' := _}, inv := λ (x y : fundamental_groupoid X) (p : x ⟶ y), quotient.lift (λ (l : path x y), ⟦l.symm⟧) _ p, inv_comp' := _, comp_inv' := _}
The functor sending a topological space X
to its fundamental groupoid.
Equations
- fundamental_groupoid.fundamental_groupoid_functor = {obj := λ (X : Top), {α := fundamental_groupoid ↥X, str := fundamental_groupoid.category_theory.groupoid X.topological_space}, map := λ (X Y : Top) (f : X ⟶ Y), {obj := ⇑f, map := λ (x y : ↥{α := fundamental_groupoid ↥X, str := fundamental_groupoid.category_theory.groupoid X.topological_space}) (p : x ⟶ y), path.homotopic.quotient.map_fn p f, map_id' := _, map_comp' := _}, map_id' := fundamental_groupoid.fundamental_groupoid_functor._proof_3, map_comp' := fundamental_groupoid.fundamental_groupoid_functor._proof_4}
Help the typechecker by converting a point in a groupoid back to a point in the underlying topological space.
Equations
Help the typechecker by converting a point in a topological space to a point in the fundamental groupoid of that space
Equations
Help the typechecker by converting an arrow in the fundamental groupoid of
a topological space back to a path in that space (i.e., path.homotopic.quotient
).
Equations
Help the typechecker by convering a path in a topological space to an arrow in the fundamental groupoid of that space.