Zulip Chat Archive

Stream: general

Topic: What is the right kind of isomorphism for groupoids


Praneeth Kolichala (Dec 28 2021 at 22:56):

I want to prove that π(X×Y)=π(X)×π(Y)\pi(X \times Y) = \pi(X) \times \pi(Y) for topological spaces XX and YY, where π\pi is the fundamental groupoid functor. However, this "equals to" is hiding a lot. Normally, I would want to interpret it as "isomorphic as groupoids;" that is there are functors (which are the morphisms in the category of groupoids) A:π(X×Y)→π(X)×π(Y)A: \pi(X \times Y) \rightarrow \pi(X) \times \pi(Y) and B:π(X)×π(Y)→π(X×Y)B: \pi(X) \times \pi(Y) \rightarrow \pi(X \times Y) such that A∘B=1A\circ B = \mathbf{1} and B∘A=1B\circ A = \mathbf{1} (and also AA is precisely the product of the maps π(X×Y)→π(X)\pi(X \times Y) \rightarrow \pi(X) and π(X×Y)→π(Y)\pi(X \times Y)\rightarrow \pi(Y) induced by the projections X×Y→XX\times Y \rightarrow X and X×Y→YX\times Y \rightarrow Y respectively, so that π\pi really does "preserve products").

Unfortunately, this involves proving equality of functors, which it says in the docs that I should avoid. In particular, as far as I can see, the functor A∘BA \circ B does not a priori map an object x∈π(X)×π(Y)x \in \pi(X) \times \pi(Y) to itself, and similarly for B∘AB \circ A. So in order to show that they are inverses, we have to have use functor.ext or functor.hext.

The alternative would be to show that π(X×Y)\pi(X \times Y) and π(X)×π(Y)\pi(X)\times \pi(Y) are not isomorphic but equivalent, which is a lot weaker.

Am I doing something wrong? What is the best way to do this?

Adam Topaz (Dec 28 2021 at 23:31):

This is a difficult question because in order to avoid talking about equality of functors you would need to consider π\pi as a pseudofunctor into the 2-category of groupoids, which still does not exist. For now, i suggest defining the isomorphism as an isomorphism in the category docs#category_theory.Groupoid (which will involve equality of functors), but also provide the API that would be used to eventually construct such a pseudofunctor.


Last updated: Feb 28 2026 at 14:05 UTC