What Topological Spaces are π₀?

This was a fun question I thought about once.  My answer is at the end, in case you’d like to try solving the problem yourself.  The question is likely more interesting than my solution.

A well known theorem says that every group occurs as \(\pi_1(X)\) for some topological space \(X\).  It’s not a hard construction; \(X\) is a CW-complex with a 1-cell for each generator and a 2-cell for each relation.  You can generalize this to higher \(\pi_n\) if you want (although you only get abelian groups).  Sadly, little attention is paid to lower \(\pi_n\).

\(\pi_0\) is in many ways the easiest homotopy “group” to understand.  Following the general definition, \(\pi_0(X)\) is the set of homotopy classes of maps from \(S^0\) into \(X\)\(S^0\) is 2 disconnected points \(\{b, x\}\).  If we send \(b\) to a fixed base point (which one we choose won’t matter), then there is a homotopy between \(f,g\colon S^0\to X\) iff there is a path from \(f(x)\) to \(g(x)\); thus \(\pi_0(X)\) is the set of path components of \(X\) (this is the definition I usually use).  \(\pi_0\) has no group structure, and is usually just understood as a set.  Obviously every set occurs as the set of path components of a topological space; namely a discreet space, so this appears trivial.

However, \(\pi_0\) has a bit more structure than just a set.  Path componenthood is an equivalence relation on a topological space, so the set of path components is a quotient of a topological space, and such sets come with a quotient topology (this is the finest topology so that the quotient map is continuous).  So, really, \(\pi_0\) is a topological space.  For nice spaces \(X\) (e.g. CW-complexes), \(\pi_0(X)\) is always a discreet space.  However, some not-too-pathological examples, \(\pi_0\) can have some interesting topology.

Examples: Topologist’s sin curve: Let \(X\) be the closure of the graph of \(\sin\left(\frac{1}{x}\right)\), so \(X=\left\{ (x,y) | (x=0\land -1\leq y\leq 1)\lor y=\sin \left(\frac{1}{x}\right)\right\}\).  We want to compute \(\pi_0(X)\).

  • \(X\) has 3 path components, corresponding to \(x<0\), \(x=0\), and \(x>0\).  I will call them \(l, m, r\), respectively.
  • From the definition of the quotient topology, a set \(S\subseteq \{l, m, r\}\) is open iff the union of it’s members is open.  So, for instance:
    • \(\{l\}\) is open, since \(l\) is an open subset of \(X\)
    • \(\{l,m\}\) is not open, since any open set containing a point in \(m\) also contains points in \(r\)
  • The topology is completely described by saying \(l\) and \(r\) are the only open points

Long line: Let \(L\) be the long ray with a point at infinity, that is \(L=\omega_1\times [0,1)\cup\{\infty\}\) endowed with the order topology (using lexicographic order).

  • \(L\) has 2 path components:
    • For any two finite points \(a\) and \(b\), the interval \([a,b)\) is isomorphic to \(\alpha\times[0,1)\) for some countable ordinal \(\alpha\).  An easy transfinite induction shows \(\alpha\times [0,1)\) is isomorphic to \([0,1)\), and that isomorphism defines a path from \(a\) to \(b\).
    • On the other hand, no path connects the point at infinity to any finite point; if such a path existed, it would send \(\mathbb{Q}\) to a dense subset of \(\omega_1\times [0,1)\).  In particular, such a set is cofinal (has a member bigger than any fixed element), but \(\omega_1\) has uncountable cofinality (cofinality is the smallest cardinality of a cofinal set)
  • The set of finite points is open in \(L\), so this corresponds to an open point in \(\pi_0(L)\)\(\{\infty\}\) is not open in \(L\), so it’s not open in \(\pi_0(L)\).  The resulting space is sirpinski space.

If avoiding spoilers, read no further

Theorem: Every topological space occurs as \(\pi_0(X)\), for some other topological space \(X\).

As an informative special case, let’s build \(X\) so \(\pi_0(X)\) is the trivial topology on \(\{a,b\}\); that is, the only open sets are \(\{\}\) and \(\{a,b\}\).

First, fix a well ordering of \(2^\mathbb{R}\), and let \(\eta\) be the corresponding ordinal (or any \(\eta\) to have big enough cofinality will do).  We will give \(\eta\) the topology where only sets of the form \([\alpha, \eta)\) are open.  This is equivalent to taking intervals \((\alpha, \eta)\) to be basic open sets (i.e. upwards closed sets are open), as every open set must have a minimal element.  The following lemma might give some intuition for this topology.

Lemma: With this topology, \(\eta\) is path connected: proof: We need to understand when a function \(f\colon [0,1]\to \eta\) is continuous.  By definition, \(f\) is continuous if \(f^{-1}([\alpha, \eta))\) is open for every \(\alpha\).  This means \(X_\alpha = \{x|f(x)>\alpha\}\) is open in \([0,1]\).  Notice \(f\) is uniquely determined by the sequence \((X_\alpha)_{\alpha < \eta}\), as \(f(x)\) is the minimum \(\alpha\) so \(x\in X_\alpha\setminus X_{\alpha+1}\), so a path in this space is easy to picture as a length<\(\eta\) shrinking sequence of open sets. To find a path from \(a\) to \(b\), with \(a<b\), we can use the sequence of open sets where

\[X_\alpha=\begin{cases} [0,1] & \alpha\leq a \\ (0,1] & a<\alpha\leq b \\ \varnothing & b<\alpha\end{cases}\]

that is to say, \(f(0)=a\) and \(f(x)=b\) otherwise.

Each path component of \(X\) will be homeomorphic to a copy of \(\eta\) with this topology; we will call the components \(\eta_a\) and \(\eta_b\), and \(X=\eta_a\cup \eta_b\).  Open sets in \(X\) are defined by

  1. \(\varnothing\) is open
  2. If \(U\) and \(V\) are non-empty open subsets of \(\eta_a\) and \(\eta_b\), respectively, then \(U\cup V\) is open in \(X\).

It not hard to see this defines a topology, and \(\eta_a\) and \(\eta_b\) are homeomorphic to \(\eta\) in the subspace topology.  This means \(\eta_a\) and \(\eta_b\) are both path connected, so \(X\) has at most 2 path components.  It remains to show:

  1. \(\eta_a\) and \(\eta_b\) are distinct path components.  That is, there is no path from a point in \(\eta_a\) to a point in \(\eta_b\).
  2. Neither \(\{\eta_a\}\) nor \(\{\eta_b\}\) are open in \(\pi_0(X)\).

For 1, we will make use of the largeness of \(\eta\).  Suppose \(f\colon [0,1]\to X\) is a path with \(f(0) \in \eta_a\) and \(f(1) \in \eta_b\).  Let \(A=f^{-1}(\eta_a)\) and \(B=f^{-1}(\eta_b)\).  Clearly \([0,1]=A\sqcup B\); we will get a contradiction by showing \(A\) and \(B\) are both open.

Lemma: \(f(A)\) is bounded in \(\eta_a\). proof: Since \(A\subseteq \mathbb{R}\), \(|f(A)|\leq |\mathbb{R}|\).  However, \(\eta\) has cofinality bigger than \(|\mathbb{R}|\) by König’s theorem, so any size continuum set is bounded in \(\eta\)

Let \(\alpha\in \eta_a\) be an upper bound for \(f(A)\).  Let \(U=[\alpha+1, \eta_a)\cup \eta_b\)\(U\) open in \(X\), and since \(f(A)\cap U=\varnothing\), \(f^{-1}(U)=B\).  As \(f\) is continuous, this shows \(B\) is open.  A symmetric argument shows \(A\) is open, thus \(A\) and \(B\) are both clopen, and [0,1] is disconnected.

2 is more straighforward; any open set in \(X\) containing \(\eta_a\) also contains points from \(\eta_b\), thus any open set in \(\pi_0(X)\) containing \(\eta_a\) also contains \(\eta_b\).  This completes our special case.


For the general case, fix a topological space \(T\), and we will build a space \(X\) such that \(\pi_0(X)=T\).  Let \(\eta_t\) be a disjoint copy of \(\eta\) for each \(t\in T\).  The space \(X\) will be \(\bigsqcup\limits_{t\in T} \eta_t\).  We define a  topology on \(X\) by:

  • For every \(U\subseteq T\) which is open and family \(\{V_t\subseteq \eta_t\}_{t\in U}\) of non-empty open sets, the set \(\bigsqcup\limits_{t\in U} V_t\) is open in \(X\)

Notice our first example was a special case of this; the only possibilities for \(U\) were \(\{a,b\}\) and \(\varnothing\).  As before, this does define a topology, and each \(\eta_t\) is a path connected subspace homeomorphic to \(\eta\).

To see each \(\eta_t\) is a distinct path component, suppose \(f\colon [0,1]\to X\) is a path with \(f(0)\in \eta_t\) and \(f(1)\in \eta_{t'}\) for some \(t'\neq t\).  Let \(A=f^{-1}(\eta_t)\).  We’ll show \(A\) is clopen in \([0,1]\), but clearly \(0\in A\) and \(1\notin A\), so this will be a contradiction.

As before, we know for any \(s\in T\), \(f(f^{-1}(\eta_s))\) is bounded in \(\eta_s\).  Let \(\alpha_s = \sup(f(f^{-1}(\eta_s))+1\).  To see \(A\) is closed, let \(U=[\alpha_t, \eta_t)\cup \bigcup\limits_{s\neq t} \eta_s\).  Since \(T\) is open in \(T\), \(U\) is an open set in \(X\), so \(f^{-1}(U) = A^c\) is open.  To see \(A\) is open, let \(V = \eta_t \cup \bigcup\limits_{s\neq t} [\alpha_s, \eta_s)\)\(V\) is also open, and \(f^{-1}(V) = A\), so \(A\) is open.  Thus \(A\) must be clopen, so such a path \(f\) can’t exist.

Now we know these path components are distinct, so \(\pi_0(X) = \{\eta_t\}_{t\in T}\), so as a set \(\pi_0(X)\) is \(T\).  To see the map \(t\mapsto \eta_t\) is a homeomorphism,  we need to show \(\{\eta_t\}_{t\in U}\) is an open set in \(\pi_0(X)\) iff \(U\) is an open set in \(T\); this follows immediately from the definition.

Notify of
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
Sean Cotner
2 months ago

Nice post. In the first two examples you give, the spaces are Hausdorff, while your general construction only gives non-Hausdorff spaces. I think one can get any finite space T occurring as \pi_0 of a closed subspace of \mathbf{R}^3 using the following construction. First, consider T as a directed graph with vertices given by the points of T and edges given as follows: for any points s, t \in T, attach an edge from s to t if t lies in the closure of s. Note that this graph determines the space. Since T is a finite graph, it embeds into \mathbf{R}^3. Replace every vertex with a small closed interval, and replace every edge from s to t with a compact topologist’s sine curve, attaching the boundary point to the source of the edge and the boundary line to a small subinterval of the target of the edge. The resulting closed subspace X of \mathbf{R}^3 then satisfies \pi_0(X) \cong T. (This is essentially a generalization of your first example, in which T is the Sierpinski space.) By gluing arbitrary path-connected CW complexes to the small intervals, one can find such X with arbitrary homotopy groups for the path components, answering Grisha’s question when T is finite.

So anyway, it seems that every finite space is \pi_0 of a Hausdorff (even normal) space. The above construction probably also applies to countable posets with an appropriate local finiteness condition. Do you know whether in fact every space is \pi_0(X) for some Hausdorff (or normal) X?

Sean Cotner
2 months ago
Reply to  Brian Pinsky

Beautiful construction for \mathbf{R}. To avoid the extra step of identifying points, one could also let X = \mathbf{R}_{\geq 0} \times \mathbf{R} \setminus \bigcup_{n \geq 1} [0, n] \times \{q_n\}.

Rather than make a new construction for \mathbf{R}^n, I claim that for arbitrary spaces X_\alpha, we have \pi_0\left(\prod_{\alpha} X_\alpha\right) \cong \prod_{\alpha} \pi_0(X_\alpha) via the natural map from left to right. The fact that the map is a bijection is straightforward. To show that it is continuous, it suffices to show that each map \pi_0\left(\prod_{\alpha} X_\alpha\right) \to \pi_0(X_\alpha) is continuous, and using the universal property of quotient maps, this follows from the fact that \prod_{\alpha} X_\alpha \to X_\alpha is continuous. It remains to show that the map is open; for this, it suffices to note that the projection maps from a product are open, and that under the projection a path component of \prod_{\alpha} X_\alpha is sent onto a path component of X_\alpha.

So in particular, once one has the construction for \mathbf{R}, one obtains Hausdorff X with \pi_0(X) \cong \mathbf{R}^\kappa for any cardinal \kappa. One also obtains Hausdorff X with \pi_0 any subspace of \mathbf{R}^\kappa by taking the preimage under X \to \pi_0(X), so for example all normal spaces occur as \pi_0(X) for Hausdorff X (Urysohn). In particular, one gets all CW complexes. Note that this construction will produce regular X but not necessarily normal X, since infinite products of normal spaces need not be normal, and also subspaces of normal spaces need not be normal. (I forgot how delicate normality is as a condition; probably it is too much to ask that X be normal, but it would be interesting to know whether one could actually *prove* that normal X cannot occur for some particular space.)

In fact, I believe one can get all spaces T using this idea, but there is a small gap at the end of my argument. First, note that maps from T to the Sierpinski space S correspond to open subsets of T, so the map T \to \prod_{C(T, S)} S gives rise to an injective map T' \to \prod_{C(T, S)} S, where T' is the largest T_0 quotient of T' (i.e., identify points which cannot be distinguished topologically). Since this latter map is always continuous and open onto its image, it identifies T' as a subspace of \prod_{C(T, S)} S. If T_{\mathrm{triv}} denotes T with the indiscrete topology, then the map T \to T_{\mathrm{triv}} \times \prod_{C(T, S)} S is a homeomorphism onto its image (where T \to T_{\mathrm{triv}} is the identity). Thus if X and Y are Hausdorff spaces satisfying \pi_0(X) \cong S and \pi_0(Y) \cong T_{\mathrm{triv}} then one can obtain a subspace Z of Y \times X^{C(T, S)} satisfying \pi_0(Z) \cong T. So, using the long line or the topologist’s sine curve for X, we have reduced, amusingly, to showing that any indiscrete space may be obtained as \pi_0 of a Hausdorff space. (Even without this, the above proves it for any T_0 space.)

I think I have a proof of this last statement, but there are some details I haven’t checked and this comment is already very long. If you see a nice construction, I would be interested to know it.

Sean Cotner
2 months ago
Reply to  Brian Pinsky

Lovely. I had a similar idea to get indiscrete spaces but implemented it in a rather complicated way; your construction is very clean. Thanks for the cool problem!

Grisha Taroyan
2 months ago

A nice result! I wonder is there any relation between homotopy groups of different components if \pi_0 is not discrete? For example, do they form a sheaf over \pi_0? Or can we construct an arbitrary \pi_0 with arbitrary fibers?

sam tenka
2 months ago
Reply to  Grisha Taroyan

I’m guessing there is not much communication between higher homotopy groups based in different path components, even if \pi_0 isn’t discrete. In particular, I think we can construct Y with arbitrary \pi_0 with such that the fibers of the path-connectedness projection Y\to \pi_0 have arbitrary (based, path-connected) weak homotopy type. As a lemma, we note that Brian’s \eta space is weak contractible (I’m actually not sure about this; non-CW complexes are hard for me!). Then wedge-sum each fiber with a (based, path-connected) space of your choice!

Last edited 2 months ago by moomitten
Grisha Taroyan
2 months ago
Reply to  sam tenka

There are some problems with taking wedge sums of <<bad>> spaces. I am not sure that the homotopy groups will behave as expected. However, I’m not sure about anything that is not CW either 🙂

Last edited 2 months ago by Grigory Taroyan
Grisha Taroyan
2 months ago

By the way, you have a typo in the link to Konig’s theorem

Zhouhang Mᴀᴏ
1 month ago

I would like to point out that the topology on \pi_0(X) is used when X is a spectral space, in which case \pi_0(X) is a profinite set. See, for example, Bhatt-Scholze, The pro-étale topology for schemes, Section 2.1.