Zulip Chat Archive
Stream: Is there code for X?
Topic: Adjunction space, a.k.a. attaching space
Michael Rothgang (Jul 16 2024 at 19:05):
Given two topological spaces and and a map from a subspace to , one can form the adjunction, commonly denoted , as the quotient of the disjoint union by the equivalence relation generated by all pairs .
Does mathlib have this? (It has the disjoint union and the quotient topology, so defining this wouldn't be hard. I wasn't planning to do so now, but if it exists, I would probably use it.)
Adam Topaz (Jul 16 2024 at 19:06):
Again, this is an example of a colimit (in this case, a pushout).
Michael Rothgang (Jul 16 2024 at 19:06):
I see - I should learn how to think far more categorically!
Adam Topaz (Jul 16 2024 at 19:07):
the general setup is this: you have three spaces , and , and you look at two maps and . Then take the quotient of the disjoint union of and identifying the images of in the copy of and .
Adam Topaz (Jul 16 2024 at 19:08):
your adjunction space is the special case where is the inclusion of into and is the composition of your with this inclusion.
Michael Rothgang (Jul 16 2024 at 19:11):
Thanks; makes perfect sense!
Is there some custom notation for the pushout (or colimits in general)? How would I write this down (or where can I look to see one example myself)?
Adam Topaz (Jul 16 2024 at 19:12):
import Mathlib
open CategoryTheory Limits
noncomputable
example (A X Y : TopCat) (f : A ⟶ X) (g : A ⟶ Y) : TopCat := pushout f g
Michael Rothgang (Jul 16 2024 at 19:13):
Wow, so short! Thanks a lot!
Adam Topaz (Jul 16 2024 at 19:13):
note that it's noncomputable, unfortunately. If you want something more concrete, you will likely have to make things more explicit.
Michael Rothgang (Jul 16 2024 at 19:14):
I certainly don't need to generate code. I'll see if I need to use anything more concrete...
Dagur Asgeirsson (Jul 16 2024 at 19:23):
This file claims to be about pullbacks and pushouts in TopCat
. It develops some API for explicit pullback, but there is barely anything about pushouts. If you need an explicit construction of the pushout, you might want to take a look at how this is done there for the pullback and dualize.
Michael Rothgang (Jul 16 2024 at 19:33):
This looks exactly like what I would do, thanks a lot!
Last updated: May 02 2025 at 03:31 UTC