|
| 1 | +%!TEX root = main.tex |
| 2 | +% |
| 3 | +% ToposOfGraphs.tex |
| 4 | +% |
| 5 | + |
| 6 | +\section{Worked Example: The Topos of Graphs} |
| 7 | + |
| 8 | +In this section we explore the topos of graphs. Let $\mathbf{C}$ be the category given by |
| 9 | +\[ \begin{tikzcd} |
| 10 | + V \arrow[r, bend left, "s"] \arrow[r, bend right, "t"] & E |
| 11 | +\end{tikzcd} \] |
| 12 | +and let $\mathscr{E} = \mathbf{Sets}^{\mathbf{C}^{op}}$. The objects of $\mathscr{E}$ may be viewed as graphs. Note that $\mathscr{E}$ is a connected topos because the terminal presheaf $1$ cannot be written as a non-trivial coproduct $1 = X + Y$. The topos $\mathscr{E}$ furthermore has a structure morphism to $\mathbf{Sets}$, namely |
| 13 | +\[ \gamma : \mathscr{E} \to \mathbf{Sets}, \qquad \gamma_*(X) = \Hom_{\mathscr{E}}(1,X), \; \gamma^*(S) = \Delta S. \] |
| 14 | +A connected object in $\mathscr{E}$ is a connected graph. Every $X \in \mathscr{E}$ thus has a decomposition $X = \sum_{i \in I} X_i$ into its connected components. So we have a functor |
| 15 | +\[ \pi_0 : \mathscr{E} \to \mathbf{Sets}, \qquad \sum_{i \in I} X_i \mapsto I. \] |
| 16 | +This functor $\pi_0$ is left adjoint to the constant presheaf functor $\Delta$, so |
| 17 | +\[ \pi_0 \dashv \gamma^* \dashv \gamma_*. \] |
| 18 | +Note that the subobject classifier $\Omega$, like for all presheaf categories, is given by |
| 19 | +\begin{align*} |
| 20 | +\Omega(V) &= \{ \text{sieves on } V \} = \{\emptyset, \mathbf{y}V \}, \\ |
| 21 | +\Omega(E) &= \{ \text{sieves on } E \} = \{\emptyset, \{s\}, \{t\}, \{s,t\}, \mathbf{y}E \}, \\ |
| 22 | +\Omega(s) &= \text{ pullback the sieve by } s, \\ |
| 23 | +\Omega(t) &= \text{ pullback the sieve by } t. |
| 24 | +\end{align*} |
| 25 | +So in a picture, the graph $\Omega$ looks like as in Figure 1. |
| 26 | + |
| 27 | +\begin{figure} |
| 28 | +\centering |
| 29 | +\begin{tikzpicture} |
| 30 | + \node (x) at (-2,0) {$\emptyset$}; |
| 31 | + \node (y) at ( 2,0) {$\mathbf{y}V$}; |
| 32 | + \path (x) edge [out=125, in=225, looseness=0.8, loop, distance=2cm, ->] node[left= 3pt] {$\emptyset$} (x); |
| 33 | + \path (y) edge [out= 45, in=135, looseness=0.8, loop, distance=2cm, ->] node[above=3pt] {$\mathbf{y}E$} (y); |
| 34 | + \path (y) edge [out=225, in=315, looseness=0.8, loop, distance=2cm, ->] node[below=3pt] {$\{s,t\}$} (y); |
| 35 | + \path (x) edge [out=340, in=190, ->] node[below=3pt] {$\{t\}$} (y); |
| 36 | + \path (y) edge [out=160, in=20, ->] node[above=3pt] {$\{s\}$} (x); |
| 37 | +\end{tikzpicture} |
| 38 | +\caption{The subobject classifier of $\mathscr{E}$} |
| 39 | +\end{figure} |
| 40 | + |
| 41 | +The subobject classifier is thus given by |
| 42 | +\[ \text{true} : 1 \to \Omega, \qquad v \mapsto \mathbf{y}V, \; e \mapsto \mathbf{y}E. \] |
| 43 | +If $X \in \mathscr{E}$ and $S \subseteq X$ a subgraph, then the classifying map $\chi_S : X \to \Omega$ works as follows: |
| 44 | +\begin{itemize} |
| 45 | + \item For each vertex $v \in X(V)$: |
| 46 | + \begin{itemize} |
| 47 | + \item If $v \not\in S(V)$, then $\chi_S(V)(v) = \emptyset$. |
| 48 | + \item If $v \in S(V)$, then $\chi_S(V)(v) = \mathbf{y}V$. |
| 49 | + \end{itemize} |
| 50 | + \item For each edge $e \in X(E)$: |
| 51 | + \begin{itemize} |
| 52 | + \item If $e \in S(E)$, then $\chi_S(E)(e) = \mathbf{y}E$. |
| 53 | + \item Else (we know that $e \not\in S(E)$): |
| 54 | + \begin{itemize} |
| 55 | + \item If $X(s)(e), X(t)(e) \in S(V)$, then $\chi_S(E)(e) = \{s,t\}$ (the edge is not in $S$, but both its source and target vertices are). |
| 56 | + \item Else if $X(s)(e) \in S(V)$, $X(t)(e) \not\in S(V)$, then $\chi_S(E)(e) = \{s\}$ (the edge is not in $S$, and only its source vertex is in $S$). |
| 57 | + \item Else if $X(s)(e) \not\in S(V)$ $X(t)(e) \in S(V)$, then $\chi_S(E)(e) = \{t\}$ (the edge is not in $S$, and only its target vertex is in $S$). |
| 58 | + \item Else $\chi_S(E)(e) = \emptyset$. |
| 59 | + \end{itemize} |
| 60 | + \end{itemize} |
| 61 | +\end{itemize} |
| 62 | +Basically, this works as you'd expect for subgraphs in a picture. You can leave out edges in a subgraph, but keep some of its target and source vertices. |
| 63 | +The negation operator $\neg : \Omega \to \Omega$ is a natural transformation with two components $\neg_V : \Omega V \to \Omega V$ and $\neg_E : \Omega E \to \Omega E$. They are defined as (cf. page 56 of Maclane\&Moerdijk) |
| 64 | +\[ \neg_V : \Omega V \to \Omega V, \qquad \neg_V(\emptyset) = \mathbf{y}V, \; \neg_V(\mathbf{y}V) = \emptyset, \] |
| 65 | +and |
| 66 | +\[ \neg_E : \Omega E \to \Omega E, \] |
| 67 | +explicitly calculated as |
| 68 | +\begin{align*} |
| 69 | +\neg_E(\emptyset) &= \mathbf{y}E, \\ |
| 70 | +\neg_E(\mathbf{y}E) &= \emptyset, \\ |
| 71 | +\neg_E(\{s\}) &= \emptyset\\ |
| 72 | +\neg_E(\{t\}) &= \emptyset\\ |
| 73 | +\neg_E(\{s,t\}) &= \emptyset\\ |
| 74 | +\end{align*} |
| 75 | +Now let $\mathscr{E}_{lcf}$ be the Boolean topos of locally constant objects of $\mathscr{E}$. Since $\mathscr{E}_{lcf}$ is Boolean, its subobject classifier is given by |
| 76 | +\[ \Omega_{lcf} = 1 + 1 \] |
| 77 | +generated by the morphisms |
| 78 | +\[ \text{true} : 1 \to \Omega, \qquad \text{false} = \neg \circ \text{true} : 1 \to \Omega. \] |
| 79 | +So $\Omega_{lcf}$ looks like Figure 2. |
| 80 | + |
| 81 | +\begin{figure} |
| 82 | +\centering |
| 83 | +\begin{tikzpicture} |
| 84 | + \node (x) at (-2,0) {$\emptyset$}; |
| 85 | + \node (y) at ( 2,0) {$\mathbf{y}V$}; |
| 86 | + \path (x) edge [out=125, in=225, looseness=0.8, loop, distance=2cm, ->] node[left= 3pt] {$\emptyset$} (x); |
| 87 | + \path (y) edge [out= 45, in=135, looseness=0.8, loop, distance=2cm, ->] node[above=3pt] {$\mathbf{y}E$} (y); |
| 88 | +\end{tikzpicture} |
| 89 | +\caption{The subobject classifier of $\mathscr{E}_{lcf}$} |
| 90 | +\end{figure} |
| 91 | + |
| 92 | +Recall that $C_n \in \mathscr{E}_{lcf}$ is the cyclic graph with $n$ vertices and $n$ edges. |
| 93 | + |
| 94 | +\begin{claim} |
| 95 | +Let $\mathbf{G}$ be the full subcategory of $\mathbf{I}$ whose objects are Galois. Then every object of $\mathbf{G}$ is of the form $(C_n,e)$ for some $n > 0$. |
| 96 | +\end{claim} |
| 97 | +\begin{proof} |
| 98 | +Write $C_n(V) = \{v_0,\ldots,v_{n-1}\}$ and $C_n(E) = \{e_0,\ldots,e_{n-1}\}$. Then $\Aut(C_n) = \Z/n\Z$, with action given by $m \cdot e_j = e_{j + m \bmod{n}}$. Hence $\Aut(C_n) \cong p^*(C_n)$, so $\mathbf{G}$ certainly contains all the $(C_n,e)$. Conversely suppose that $(A,e) \in \mathbf{G}$. Let $\varphi : A \times U \to \Delta n \times U$ be an isomorphism over $U$, where $U \to 1$ has global support. Note that $\# A = \# \Delta n = n$. Let $v \in A$ be a vertex. Let $\partial^+(v)$ be the number of incoming edges into the vertex $v$. Assume that $\partial^+(v) = 0$. Then for all $(v,u) \in A \times U$ we also have $\partial^+(v,u) = 0$. However $\varphi(v,u) = (v_j,u)$ for some $v_j \in C_n$, and $\partial^+(v_j,u) > 0$ for some $u \in U(V)$. This is in contradiction with $\partial^+(v,u) = 0$ for all $u \in U(V)$. So we conclude that $\partial^+(v) > 0$ for all $v \in A(V)$. This forces $\partial^+(v) = 1$ for all $v \in A(V)$, because $n = \sum_{v \in A(V)} \partial^+(v)$. Since we didn't use the fact that these edges are incoming, the same argument shows that the number of outgoing edges is also $1$ for each $v \in A(V)$. Finally, since $A$ is connected we may conclude that $A = C_n$. |
| 99 | +\end{proof} |
| 100 | + |
| 101 | +So the cycles form a cofinal subcategory of $\mathbf{I}$. Thus we may conclude that |
| 102 | +\[ \pi_1(\mathscr{E}, p) = \lim_{\leftarrow \mathbf{G}} \Aut(C_n) \cong \lim_{\leftarrow n} \Z/n\Z = \widehat{\Z}. \] |
0 commit comments