Fundamental Group
Results named in Tau Ceti's TauCeti.AlgebraicTopology.FundamentalGroup modules and in no roadmap's section, as Tau Ceti has them at commit ace60277.
TheoremThe based Seifert--van Kampen theorem#
If the interiors of A and B cover X, the sets
A, B and A ∩ B are path connected, and all three contain the basepoint x, then the square
of fundamental groups induced by the inclusions of A ∩ B into A and B and of A and B
into X is a pushout of groups. That is, π₁(X, x) is the free product of π₁(A, x) and
π₁(B, x) amalgamated over π₁(A ∩ B, x).
TauCeti.isPushout_fundamentalGroup.{u_1} {X : Type u_1} [TopologicalSpace X] {A B : Set X} {x : X}
(hCover : interior A ∪ interior B = Set.univ) (hA : IsPathConnected A) (hB : IsPathConnected B)
(hAB : IsPathConnected (A ∩ B)) (hxA : x ∈ A) (hxB : x ∈ B) :
CategoryTheory.IsPushout (GrpCat.ofHom (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, ⋯⟩))
(GrpCat.ofHom (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, ⋯⟩))
(GrpCat.ofHom (FundamentalGroup.map (ContinuousMap.subtypeVal A) ⟨x, hxA⟩))
(GrpCat.ofHom (FundamentalGroup.map (ContinuousMap.subtypeVal B) ⟨x, hxB⟩))
Lean
Formalized in Tau Ceti as TauCeti.isPushout_fundamentalGroup.
Other forms
The based Seifert--van Kampen theorem for a simply connected overlap. Formalized in Tau Ceti as TauCeti.vanKampenLift_bijective.
TauCeti.vanKampenLift_bijective.{u_1} {X : Type u_1} [TopologicalSpace X] {A B : Set X} {x : X}
(hCover : interior A ∪ interior B = Set.univ) (hA : IsPathConnected A) (hB : IsPathConnected B)
(hAB : IsSimplyConnected (A ∩ B)) (hxA : x ∈ A) (hxB : x ∈ B) :
Function.Bijective ⇑(TauCeti.vanKampenLift A B x hxA hxB)
Sources
TheoremThe based van Kampen theorem for a neighborhood cover, in universal-property form#
Pairwise compatible homomorphisms out of the fundamental groups of the cover members extend uniquely to the ambient fundamental group. Repeated indices in the triple-intersection hypothesis imply path connectedness of the double intersections and individual members. No common pairwise intersection is required, and the target can be any monoid.
TauCeti.existsUnique_vanKampenDesc.{u, v, w} {K : Type w} [Monoid K] {X : Type v}
[TopologicalSpace X] {ι : Type u} (U : ι → Set X) (x : X) (hCover : ∀ (y : X), ∃ i, U i ∈ nhds y)
(hx : ∀ (i : ι), x ∈ U i) (hTriple : ∀ (i j k : ι), IsPathConnected (U i ∩ U j ∩ U k))
(f : (i : ι) → FundamentalGroup ↑(U i) ⟨x, ⋯⟩ →* K)
(hcompat :
∀ (i j : ι),
(f i).comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, ⋯⟩) =
(f j).comp (FundamentalGroup.map (ContinuousMap.inclusion ⋯) ⟨x, ⋯⟩)) :
∃! d, ∀ (i : ι), d.comp (FundamentalGroup.map (ContinuousMap.subtypeVal (U i)) ⟨x, ⋯⟩) = f i
Uses 1
TheoremThe generation half of van Kampen's theorem for a family#
Every loop class is the image of an element of the indexed free product when all pairwise intersections of the cover members are path connected.
TauCeti.vanKampenWideLift_surjective.{u_1, u_2} {X : Type u_1} [TopologicalSpace X] {ι : Type u_2}
{U : ι → Set X} {x : X} (hU : ∀ (y : X), ∃ i, U i ∈ nhds y) (hxU : ∀ (i : ι), x ∈ U i)
(hpc : ∀ (i j : ι), IsPathConnected (U i ∩ U j)) :
Function.Surjective ⇑(TauCeti.vanKampenWideLift U x hxU)
TheoremThe relations half of van Kampen's theorem for a family#
The kernel of the canonical map from the indexed free product is exactly the normal closure of the common-intersection relators.
TauCeti.ker_vanKampenWideLift.{u_1, u_2} {X : Type u_1} [TopologicalSpace X] {x : X} {ι : Type u_2}
{U : ι → Set X} {C : Set X} {hCU : ∀ (i : ι), C ⊆ U i} {hx : x ∈ C}
(hU : ∀ (y : X), ∃ i, U i ∈ nhds y) (hUp : ∀ (i : ι), IsPathConnected (U i))
(hC : IsPathConnected C) (hUC : Pairwise fun i j => U i ∩ U j ⊆ C) :
(TauCeti.vanKampenWideLift U x ⋯).ker = TauCeti.vanKampenWideRelations C hCU hx
DefinitionThe Seifert--van Kampen theorem for a family with a common pairwise intersection#
If the
interiors of the path-connected sets U i cover X, all of them contain the path-connected set
C ∋ x, and two distinct members meet inside C, then π₁(X, x) is the wide pushout in the
category of groups of the groups π₁(U i, x) over π₁(C, x), along the maps induced by the
inclusions.
TauCeti.isColimitFundamentalGroupWideCocone.{u_1, u_2} {X : Type u_1} [TopologicalSpace X]
{ι : Type u_2} {U : ι → Set X} {C : Set X} {x : X} (hU : ∀ (y : X), ∃ i, U i ∈ nhds y)
(hUp : ∀ (i : ι), IsPathConnected (U i)) (hC : IsPathConnected C) (hCU : ∀ (i : ι), C ⊆ U i)
(hUC : Pairwise fun i j => U i ∩ U j ⊆ C) (hx : x ∈ C) :
CategoryTheory.Limits.IsColimit (TauCeti.fundamentalGroupWideCocone hCU hx)
Lean
Formalized in Tau Ceti as TauCeti.isColimitFundamentalGroupWideCocone.
Other forms
The Seifert--van Kampen theorem for a family with a simply connected common pairwise intersection. Formalized in Tau Ceti as TauCeti.vanKampenWideEquiv.
TauCeti.vanKampenWideEquiv.{u_1, u_2} {X : Type u_1} [TopologicalSpace X] {ι : Type u_2}
{U : ι → Set X} {C : Set X} {x : X} (hU : ∀ (y : X), ∃ i, U i ∈ nhds y)
(hUp : ∀ (i : ι), IsPathConnected (U i)) (hC : IsSimplyConnected C) (hCU : ∀ (i : ι), C ⊆ U i)
(hUC : Pairwise fun i j => U i ∩ U j ⊆ C) (hx : x ∈ C) :
(Monoid.CoprodI fun i => FundamentalGroup ↑(U i) ⟨x, ⋯⟩) ≃* FundamentalGroup X x
Sources
TheoremTwo-set van Kampen criterion for simple connectedness#
A space covered by the interiors of two simply connected sets with path-connected intersection is simply connected.
TauCeti.simplyConnectedSpace_of_interior_union.{u_1} {X : Type u_1} [TopologicalSpace X]
{A B : Set X} (hCover : interior A ∪ interior B = Set.univ) (hAB : IsPathConnected (A ∩ B))
[SimplyConnectedSpace ↑A] [SimplyConnectedSpace ↑B] : SimplyConnectedSpace X
TheoremUniqueness in the Seifert--van Kampen theorem for a family#
If the interiors of the sets
U i ∋ x cover X and their pairwise intersections are path connected, then two homomorphisms out
of π₁(X, x) which agree on the image of every π₁(U i, x) are equal.
TauCeti.vanKampenWide_hom_ext.{u_1, u_2, u_3} {X : Type u_1} [TopologicalSpace X] {ι : Type u_2}
{U : ι → Set X} {x : X} {K : Type u_3} [Monoid K] (hU : ∀ (y : X), ∃ i, U i ∈ nhds y)
(hx : ∀ (i : ι), x ∈ U i) (hpc : ∀ (i j : ι), IsPathConnected (U i ∩ U j))
{f g : FundamentalGroup X x →* K}
(hfg :
∀ (i : ι),
f.comp (FundamentalGroup.map (ContinuousMap.subtypeVal (U i)) ⟨x, ⋯⟩) =
g.comp (FundamentalGroup.map (ContinuousMap.subtypeVal (U i)) ⟨x, ⋯⟩)) :
f = g
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.