To do so, first we’ll get comfortable with the categories of graphs we wish to consider, then moving on to adhesive categories and then to structural decompositions.
In this post I’m going to revisit the category \(\mathsf{Grph}\) and compare it to its variant \(\mathsf{rGrph}\), which we also introduced last time. They are both categories whose objects are simple graphs, but the morphisms in \(\mathsf{Grph}\) are allowed to collapse edges into vertices. The category \(\mathsf{rGrph}\) has morphisms that don’t allow edges to be collapsed. Thus we call this the category of rigid simple graphs. In the last post we looked at how to compute some simple (co)limits in \(\mathsf{Grph}\).
In some ways I found \(\mathsf{Grph}\) a more intuitive category, but there is a pretty major big advantage to working with \(\mathsf{rGrph}\) over \(\mathsf{Grph}\). Let \(K^n\) denote the \(n\)-clique, i.e. the complete, connected graph on \((n+1)\)-vertices. Then there exists a bijection
\[\{ \text{Morphisms } f : G \to K^n \text{ in } \mathsf{rGrph} \} \cong \{ \text{$(n + 1)$-colorings of $G$} \}.\]This isn’t true for morphisms in \(\mathsf{Grph}\) because there are always many maps \(G \to K^n\) for any graph \(G\). We can simply map all of \(G\) to any vertex of \(K^n\), as an example.
So in this sense, \(\mathsf{rGrph}\) is preferable, as it provides a link to the following key \(\mathbf{NP}\)-complete computational problem: Given a graph \(G\) and \(n \geq 3\), does \(G\) have an \(n\)-coloring? The theory of this computational problem ties into many areas of computer science^{1}.
So now let us inspect \(\mathsf{rGrph}\). We know from last time that we should not expect \(\mathsf{rGrph}\) to be as nice a category as \(\mathsf{Grph}\). It is not hard to see that they have the same coproducts, but the latter category doesn’t have all pushouts (though it does have all pushouts of monomorphisms, more on this later).
Let us also show that it doesn’t have binary products. Let \(A = K^0\) be the graph with one vertex and no edges and let \(B = K^1\) be the graph with two vertices \(0\) and \(1\) and a single edge connecting them.
Now as last time, we have an adjunction \(\text{Disc} : \mathbf{Set} \rightleftarrows \mathsf{rGrph} : V\). Therefore \(V\) preserves products if they exist.
So suppose that the product \(K^0 \times K^1\) exists in \(\mathsf{rGrph}\). Then
\[|V(K^0 \times K^1)| = |V(K^0)| \cdot |V(K^1)| = 1 \cdot 2 = 2.\]So we know that \(K^0 \times K^1\) has two vertices. Since we don’t allow loops in this category, there exactly two graphs with two vertices, either \(K^0 + K^0\) or \(K^1\).
Now in order for \(K^0 + K^0\) to be a product it has to have maps \(f: K^0 + K^0 \to K^0\) and \(g: K^0 + K^0 \to K^1\). There’s only one map \(K^0 + K^0 \to K^0\), so that is fixed, and there are exactly four morphisms \(K^0 + K^0 \to K^1\).
Now let us label the single vertex of \(K^0\) as \(*\), let the vertices of \(K^0 + K^0\) be \(a\) and \(b\), and let the vertices of \(K^1\) be \(0\) and \(1\). Then in order for \(K^0 + K^0\) to be the categorical product of \(K^0\) and \(K^1\), then the map \(K^0 \to K^1\) sending \(*\) to \(0\) must factor uniquely through a map \(K^0 \to K^0 + K^0\), but this is impossible, as there are always two choices for factorization. Either I send \(*\) to \(a\) and then \(a\) and \(b\) to \(0\) and \(1\), or I send \(*\) to \(b\) and then send \(a\) and \(b\) to \(1\) and \(0\). So \(K^0 + K^0\) is not the categorical product.
Similarly \(K^1\) cannot be the categorical product simply because there is no map \(K^1 \to K^0\). Thus the product of \(K^0\) and \(K^1\) does not exist in \(\mathsf{rGrph}\).
This might be a little dissapointing, but I think it is to be expected. We shouldn’t expect \(\mathsf{rGrph}\) to have nice limits. However, I claim that \(\mathsf{rGrph}\) and \(\mathsf{Grph}\) have the same monomorphisms, i.e. letting \(\mathsf{(r)Grph}_m\) denote the subcategory of monomorphisms, we have
\[\mathsf{Grph}_m \cong \mathsf{rGrph}_m.\]First let us try and characterize the monomorphisms in \(\mathsf{Grph}\). Using the adjunction \(\text{Disc} \vdash V\) again, we know that \(V\) must preserve monomorphisms. In other words, if \(f: G \to H\) is a mono in \(\mathsf{Grph}\), then it cannot collapse edges. So every mono in \(\mathsf{Grph}\) is a morphism in \(\mathsf{rGrph}\).
In fact we know more than this. Because the functor \(V : \mathsf{Grph} \to \mathbf{Set}\) is faithful. Indeed, maps of graphs are completely determined by where they send vertices. Thus the functor \(V\) makes \(\mathsf{Grph}\) into a concrete category. This is also true for \(\mathsf{rGrph}\). It is well known^{2} that since \(V\) has a left adjoint, a morphism \(f\) in \(\mathsf{(r)Grph}\) is a monomorphism if and only if \(V(f)\) is injective.
Thus a morphism in \(\mathsf{Grph}\) is a monomorphism if and only if it is injective on vertices. But this is the same for \(\mathsf{rGrph}\). Thus they have the same monomorphisms.
In Spined Categories, they consider the categories \(\mathsf{Gr}_{hom}\), which is our \(\mathsf{rGrph}\) and \(\mathsf{Gr}_{mono}\), which is our \(\mathsf{rGrph}_m \cong \mathsf{Grph}_m\). These are also called \(\mathsf{Gr}_H\) and \(\mathsf{Gr}_M\), respectively in Structured Decompositions.
Note that if \(f : G \to H\) and \(g : G \to K\) are monomorphisms in \(\mathsf{Grph}\), then the pushout \(H +_G K\) exists in \(\mathsf{Grph}\) as we showed last time, and it is not too hard to show that it also exists in \(\mathsf{rGrph}\)^{3}. However, this pushout might not exist in \(\mathsf{rGrph}_m\). Indeed, consider the following pushout.
Now there is a commutative diagram in \(\mathsf{rGrph}\) as follows:
Which induces a unique map \(h\). Now \(h\) cannot be a monomorphism, simply because there are more vertices in the domain than in the codomain. In other words, we’ve constructed a cocone in \(\mathsf{rGrph}_m\) and the colimit in \(\mathsf{rGrph}\) does not map to it by a monomorphism. Using this idea, we can show that not all pushouts exist in \(\mathsf{rGrph}_m \cong \mathsf{Grph}_m\).
However the important thing to note is that pushouts along monomorphisms exist in \(\mathsf{rGrph}\), though the resulting induced map may not itself be a monomorphism. We’ll dive more deeply into this property in the next post on adhesive categories.
Interestingly, subtleties appear immediately. The biggest one is: what do you mean by a graph?
There’s a ton of different notions of graphs, each with their own uses and conventions. For right now, I’m mainly interested in undirected graphs with at most one edge between two vertices and no loops. These kinds of graphs are often called simple graphs, and they seem (at least upon my beginner knowledge) to be slightly more central to algorithms and computer science than directed graphs, or graphs with multiple edges (also called multigraphs).
Now there’s quite a bit written about this zoo of kinds of graphs, such as the thesis The Categories of Graphs^{1} and this nlab page, so I won’t talk too much about it. Here’s a table summarizing the graphs in the nlab article.
Graph | directed | multiple edges | loops |
---|---|---|---|
simple graph | No | No | No |
multigraph | No | Yes | No |
loop graph | No | No | $\leq 1$ |
pseudograph | No | Yes | Yes |
directed graph | Yes | No | No |
directed multigraph | Yes | Yes | No |
directed loop graph | Yes | No | $\leq 1$ |
directed pseudograph | Yes | Yes | Yes |
Caveat: Pseudographs can have multiple loops on a vertex. We assume (directed) loop graphs can have at most one loop on a vertex.
Category theorists are probably most used to working with directed pseudographs, since categories are directed pseudographs with extra structure (identity loops and composition).
Right off the bat, let us note that the category \(\mathsf{DPGrph}\) of directed pseudographs is super nice. Indeed, if we let \((* \rightrightarrows *)\) denote the category with two objects \(E\) and \(V\) and two non-identity morphisms \(s, t : E \to V\), then a directed pseudograph is the same thing as a functor \(G : (* \rightrightarrows *) \to \mathbf{Set}\). Thus \(\mathsf{DPGrph} = \mathbf{Set}^{* \rightrightarrows *}\) is a Grothendieck topos, in particular it is a copresheaf category, really the nicest kind of category around. Doing any sort of construction in this category should be dumb simple, as (co)limits in copresheaf categories are computed objectwise^{2}.
So let’s get into the math. By a simple graph \(G\), what I mean is a set \(V(G)\) of vertices equipped with a binary, irreflexive, symmetric relation \((E(G) \subseteq V(G)^2)\), called the edge relation. So if \(u,v \in V\), then \((u,v) \in E(G)\), which we will also write as \(uv\) or \(u \sim v\) if there is an edge connecting \(u\) and \(v\).
A map \(f: G \to G'\) of simple graphs is a function \(V(f): V(G) \to V(G')\) such that if \(uv \in E(G)\), then \(f(u)f(v) \in E(G')\).
But wait…is this actually what we want? There’s a small, kind of annoying thing we notice right away from this definition. With the above definition, the two inclusions \(* \to [*-*]\) of a simple graph with one vertex and no edges into the simple graph with two vertices and one edge are morphisms, which is good. However, there is no morphism in the other direction \([*-*] \to *\). This is because if we call the first graph \(G\) with vertices \(u\) and \(v\) and the second graph \(G'\) with single vertex \(w\), then \(uv \in E(G)\), but since \(E(G')\) is irreflexive, \(ww \notin E(G')\). Thus the function sending \(u\) and \(v\) to \(w\) does not define a morphism of simple graphs.
So basically, with the most naive definition above, morphisms of simple graphs cannot collapse edges. Now this might be reasonable for your particular use case, but I don’t know, I’d like to consider some cases where you can collapse edges, that seems more natural and fun to me^{3}.
Alright, so let’s redo this. Lets redefine a simple graph \(G\) to consist of a set \(V(G)\) of vertices and a binary, reflexive, symmetric relation \((E(G) \subseteq V(G)^2)\). So technically, these are different mathematical objects. You might visualize them as undirected graphs with unique edges and where every vertex has exactly one loop. But this is kinda silly. I can’t map these loops to anything other than the unique loop where I send the underlying vertex to, so it might as well be like they aren’t there. It makes more sense to just identify these with the intuitive notion of a simple graph: undirected, unique edges, no loops, and just allow morphisms to collapse edges.
Let \(\mathsf{Grph}\) denote the category whose objects are simple graphs and whose morphisms are allowed to collapse edges. In other words, the category of binary, reflexive, symmetric relations. Let \(\mathsf{rGrph}\) denote the category of simple graphs whose morphisms are not allowed to collapse edges. We can call this the category of rigid simple graphs. Lets call the objects of \(\mathsf{Grph}\) just graphs from now on.
Okay, now lets explore \(\mathsf{Grph}\) some more. I can visualize its objects easily, its got a concrete mathematical description, and its got some nice morphisms. So let’s see how to compute some limits and colimits here.
Now if you check the nlab page for simple graphs, you’ll see a fancy result identifying \(\mathsf{Grph}\) as a Grothendieck quasitopos, which is a very nice category. For this post, let’s just do things by hand to get a feel for this category. But from this abstract result, we know that \(\mathsf{Grph}\) has all limits, colimits and is cartesian closed.
Note that making even small changes to this definition can have pretty drastic consequences categorically. For example, if we kept the definition before, where we weren’t allowed to smush edges, then we end up with a category that doesn’t even have all pushouts! See Spined Categories by Bumpus and Kocsis Page 7.
Also note that Wikipedia considers for its definition of graph homomorphism to be loop graphs with maps between them that aren’t allowed to collapse loops or edges.
First off, lets notice there is a nice functor \(V : \mathsf{Grph} \to \mathbf{Set}\) that sends a graph to its set of vertices. If I have a map of graphs, then I get a map of their corresponding sets of vertices. This functor has a left adjoint \(\text{Disc} : \mathbf{Set} \to \mathsf{Grph}\) that sends a set \(S\) to the graph \(\text{Disc}(S)\), which has \(V(\text{Disc}(S)) = S\) and \(E(\text{Disc}(S)) = \varnothing\)^{4}. In other words \(\text{Disc}(S)\) is the discrete graph on the set \(S\). Now \(V\) also has a right adjoint \(\text{CoDisc}: \mathbf{Set} \to \mathsf{Grph}\) which sends a set \(S\) to the graph \(\text{CoDisc}(S)\), whose set of vertices is \(S\), and where every pair of vertices is connected by an edge.
Okay, so \(V\) has left and right adjoints, so that means it preserves whatever (co)limits exist in \(\mathsf{Grph}\), and we know what (co)limits in \(\mathbf{Set}\) look like. So if we take a (co)imit \(\lim_i G_i\) of graphs, we know that \(V(\lim_i G_i) \cong \lim_i V(G_i)\). So that helps us guess what (co)limits should be in \(\mathsf{Grph}\).
Given graphs \(G\) and \(H\), let \(G \times H\) denote the graph with \(V(G \times H) = V(G) \times V(H)\) and \(E(G \times H) \subseteq V(G \times H)^2\) is the relation where \((g,h) \sim_{G \times H} (g',h')\) if \(g \sim_G g'\) and \(h \sim_H h'\). There are maps \(\pi_G : G \times H \to G\) in \(\mathsf{Grph}\), with \(\pi_G(g,h) = g\) and \(\pi_H : G \times H \to H\), with \(\pi_H(g,h) = h\).
Lemma: \(G \times H\) is the product of \(G\) and \(H\) in the category \(\mathsf{Grph}\).
Proof: Suppose that we have maps \(g : Q \to G\) and \(h: Q \to H\). We want to define a map \(k : Q \to G \times H\) such that \(\pi_G k = g\) and \(\pi_H k = h\). Let \(k(q) = (g(q), h(q))\). Now this is a map of graphs, because if \(q \sim q'\), then \(g(q) \sim g(q')\) and \(h(q) \sim h(q')\) since \(g\) and \(h\) are maps of graphs, and so \(k(q) = (g(q), h(q)) \sim (g(q'),h(q')) = k(q')\). It is easy to check that this is the unique map such that \(\pi_G k = g\) and \(\pi_H k = h\), and hence is the categorical product. \(\square\)
Now let us try coproducts.
Given graphs \(G\) and \(H\), let \(G + H\) denote the graph with \(V(G + H) = V(G) + V(H)\) and \(E(G + H)\) is the relation where \(v \sim_{G + H} v'\) if \(v, v' \in G\) and \(v \sim_G v'\) or \(v,v' \in H\) and \(v \sim_H v'\). There are inclusion maps \(i_G : G \to G + H\) and \(i_H : H \to G + H\).
Lemma: \(G + H\) is the coproduct of \(G\) and \(H\) in the category \(\mathsf{Grph}\).
The proof is the same idea as for products.
I’ll also leave it to you to check that \(\varnothing\), the graph with no vertices, is the intial object in \(\mathbf{Grph}\) and \(*\), the graph with one vertex, is the terminal object in \(\mathbf{Grph}\).
Now for pushouts. Given maps of graphs \(f: A \to B\) and \(g: A \to C\), let \(B+_A C\) denote the graph with \(V(B +_A C) = V(B) +_{V(A)} V(C)\), (i.e. \(V(B +_A C)\) is the set \(V(B) + V(C)\) quotiented by the equivalence relation \(\simeq\) where \(v \simeq w\) if there exist \(a \in V(A)\) such that \(v = f(a)\) and \(w = g(a)\)) and let \(E(B +_A C)\) be defined as follows. If \(x,y \in V(B +_A C)\), then \(x \sim_{B +_A C} y\) if there exists \(v,v' \in V(B)\) with \(v \sim_B v'\), \([v] = x\) and \([v'] = y\) or \(w,w' \in V(C)\) with \(w \sim_C w'\), \([w] = x\) and \([w'] = y\). In other words, there is an edge between \([v]\) and \([w]\) if there is some representative edge in \(B\) or \(C\).
There are maps \(i_B : B \to B+_A C\) and \(i_C : C \to B +_A C\) given by inclusion.
\[\begin{CD} A @>g>> C\\ @VfVV @Vi_CVV \\ B @>i_B>> B+_A C \end{CD}\]Lemma: \(B+_A C\) is the pushout of \(f\) and \(g\) in \(\mathsf{Grph}\).
Proof: Suppose that we have maps \(n : B \to Q\) and \(m : C \to Q\) such that \(nf = mg\). We want to define a map \(k : B+_A C \to Q\) such that \(k i_B = n\) and \(k i_C = m\). On vertices, define it as you would in \(\mathsf{Set}\), i.e. send \(x \mapsto n(x)\) if \(x = [b]\) for some \(b \in B\) and \(x \mapsto m(x)\) if \(x = [c]\) for some \(c \in C\). If \([b] = [c]\), then there exists an \(a\in A\) with \(f(a) = b\) and \(g(a) = c\), so \(n(b) = nf(a) = mg(a) = m(c)\). So our map \(k\) is well defined. If \([v] \sim_{B+_A C} [w]\), then \(k[v] \sim_Q k[w]\), because in order for \([v] \sim [w]\), there has to be some representative of the edge in \(B\) or \(C\), and \(n\) and \(m\) preserve the edges of \(B\) and \(C\) respectively. Its now not hard to see that \(k\) satisfies the necessary properties for \(B +_A C\) to be a pushout.
Note that this is a generalization of the well-known clique sum construction in graph theory.
Finally, let’s look at pullbacks.
Given maps \(f : A \to B\) and \(g: A \to C\) of graphs, let \(B \times_A C\) denote the graph with \(V(B \times_A C) = V(B) \times_{V(A)} V(C)\) and with \(E(B \times_A C)\) defined as follows. We have \((b,c) \sim_{B \times_A C} (b',c')\) if \(b \sim_B b'\) and \(c \sim_C c'\).
Lemma: \(B \times_A C\) is the pullback of \(f\) and \(g\) in \(\mathsf{Grph}\).
Proof: Suppose we have maps \(n : Q \to B\) and \(m : Q \to C\) such that \(fn = gm\). We want to define a map \(k : Q \to B\times_A C\) such that \(\pi_B k = n\) and \(\pi_C k = m\). Well define \(k(q) = (n(q), m(q))\). Its now easy to check that since \(n\) and \(m\) preserve edges that \(k\) will as well, and it’s clearly unique and satisfies the required conditions.
So the basic categorical constructions for \(\mathsf{Grph}\) are pretty straightforward and nice. It would be interesting to compare this to all these other kinds of categories of graphs!
Fun aside that I haven’t really thought through too much: If we consider the category \(\mathsf{orGrph}\), whose objects are simple graphs with an ordering on their vertices, then we get a cosimplicial object \(K^\bullet : \mathsf{\Delta} \to \mathsf{orGrph}\) given by the cliques and inclusion or collapse maps between them. Anytime we have such a cosimplicial object in a cocomplete category, we get an adjunction \(\text{Re}: \mathsf{sSet} \rightleftarrows \mathsf{orGrph} : \text{Sing}\). In this case, if \(G\) is a graph, then \(\text{Sing}(G)\) is a simplicial set gotten by mapping cliques into \(G\). The homotopy type of \(\text{Sing}(G)\) is thus the same as the clique complex of \(G\). Neat! Then \(\text{Re}\) is like gluing cliques together according to a simplicial set “recipe.”
In this reference, all of these examples of graphs are derived from a more general structure, which they call a conceptual graph. ↩
See Riehl’s Category Theory in Context Proposition 3.3.9 for a more precise description of what I mean. ↩
However we do lose something really important when we use these morphisms and not the more strict ones. If we let \(K^n\) denote the \(n\)-clique, i.e. the complete graph on \(n\) vertices, then with the strict morphisms that don’t collapse edges, maps of graphs \(G \to K^n\) are equivalent to \(n\)-colorings of \(G\). If we allow morphisms to collapse edges, then there are always such maps, we can just collapse everything to a single vertex for instance, so we lose the correspondence. ↩
Technically it should be \(E(F(S)) = \Delta_{S}\), the diagonal, i.e. the set \(\Delta_S = \{ (s, s) \in S \times S \}\) since we are asking for the edge relation to be reflexive, but going forward, let’s just ignore these “ghost edges.” ↩
Definition: A cartesian space is a finite dimensional smooth manifold diffeomorphic to \(\mathbb{R}^n\) for some \(n \geq 0\). Given a set \(X\), a parametrization is a set function \(p : U \to X\) where \(U\) is a cartesian space. If \(M\) is a finite dimensional smooth manifold, and \(\mathcal{U} = \{ U_i \subseteq M \}\) is a collection of subsets of \(M\), we say that \(\mathcal{U}\) is a good open cover if each \(U_i\) is a cartesian space, every finite intersection \(U_{i_0} \cap \dots \cap U_{i_n}\) is either empty or a cartesian space, and \(\bigcup_i U_i = M\).
Definition^{1}: Given a set \(X\), a diffeology \(\mathcal{D}_X\) on \(X\) consists of a set of parametrizations \(p: U \to X\) satisfying the following three conditions:
Given two diffeological spaces \((X, \mathcal{D}_X)\) and \((Y, \mathcal{D}_Y)\), a smooth map between them consists of a set function \(f : X \to Y\) such that if \(p : U \to X\) is a plot of \(X\), namely \(p \in \mathcal{D}_X\), then the composite map \(U \xrightarrow{p} X \xrightarrow{f} Y\) is a plot of \(Y\). Let \(\mathsf{Diff}\) denote the category of diffeological spaces with smooth maps.
Notice how simple these definitions are compared to the corresponding definitions of a smooth manifold! Really think about it, the definition of a manifold is really complicated. Its a kind of topological space (Hausdorff, second-countable), and it has all of these charts, which are homeomorphisms from cartesian spaces, and those charts have to be compatible in some way that’s really annoying to write symbolically, and then we consider the biggest collection (maximal atlas) of such charts compatible with the ones you’ve got, and then you call that a smooth structure. Okay, maybe if you are a seasoned differential geometer it isn’t so bad, but I remember spending months understanding the definition of a smooth manifold the first time I learned about it. There are so many nooks and crannies to get stuck on it. The definition of a diffeological space however, by comparison is clean and tidy. Same for the definition of smooth map.
Okay, that’s nice and all, but its just a definition. I can define whatever the hell I want, but its only interesting if it connects with things I care about. Well, suppose that \(M\) is a finite dimensional smooth manifold in classical differential geometry. Then we can consider the set \(\mathcal{D}_M\) of those parametrizations \(p : U \to M\) that are smooth as maps of smooth manifolds, in the sense of classical differential geometry. It turns out that \(\mathcal{D}_M\) satisfies the axioms of a diffeology. In other words, every finite dimensional smooth manifold is canonically a diffeological space. We call this the manifold diffeology on \(M\).
Even more powerfully, a function \(f: M \to N\) between finite dimensional smooth manifolds is smooth in the classical sense if and only if it is a smooth map in the sense of diffeological spaces between \(M\) and \(N\) equipped with their manifold diffeologies! This is proven in the diffeology textbook in Article 4.3, and it implies that assigning the manifold diffeology to a manifold defines a fully faithful functor from the category of finite dimensional smooth manifolds to the category of diffeological spaces.
\[\mathcal{D}_{(-)} : \mathsf{Man} \hookrightarrow \mathsf{Diff}.\]Intuitively, this means that we lose nothing by considering manifolds as diffeological spaces via their manifold diffeology. We could also characterize finite dimensional smooth manifolds as those diffeological spaces which have local diffeomorphisms to a fixed \(\mathbb{R}^n\) and satisfy some additional conditions.
I think this is a really powerful, and quite different way to think about smooth spaces. For smooth manifolds, we typically fix an atlas (a collection of compatible charts) and root around in the charts, making constructions and then checking that they are independent of the chart we chose. Much of the machinery of an introductory class in differential geometry is devoted to developing technology that hides the complexity of this “chartwise” thinking.
For diffeological spaces, we don’t think about charts at all. Instead we do constructions “plotwise.” It might not sound like we’ve really achieved all that much, just substituted chart for plot, but in doing so, we’ve actually obtained something really interesting and different.
The astute reader will note that this is not the definition of a diffeogical space as given in the “Diffeology textbook”. However, in my paper, I prove that the category of diffeological spaces as given in the Diffeology textbook and the category of diffeological spaces as given in the definition above are equivalent. The above definition is far more convenient to work with for my purposes. ↩
(1988): PIZ writes a preprint showing that there is an obstruction between Cech cohomology and deRham cohomology for diffeological spaces given by the diffeological principal \(\mathbb{R}\)-bundles with connection. It is never published.
(Late 1980s-2000s): PIZ develops a large amount of the theory of diffeological spaces in his thesis and several papers throughout this period. There are a couple of papers from other people, but overall not a large amount of activity.
(2009): Baez and Hoffnung prove that diffeological spaces are precisely concrete sheaves on the site of open subsets of euclidean spaces in their paper “Convenient Categories of Smooth Spaces.” This provides an important bridge connecting diffeology to sheaf theory.
(2013): PIZ publishes the first (and currently only) textbook on diffeology, appropriately named “Diffeology.” This helps attract a new generation of mathematicians to the subject.
(2010s): There is a huge influx of interest in diffeology. Papers are written about diffeology with connections to mathematical physics, Lie groupoid theory, foliations, homotopy theory, and more. Some particularly important papers are written in this period.
(2021): Out of the pandemic sprouts the Monthly Global Diffeology Seminar and a website hub diffeology.net for everything diffeology.
(2020s): With the start of the new decade comes a newly energized and diverse community of diffeologists. Some notable papers are:
However, Iglesias-Zemmour writes in his Introduction to Diffeology (where I obtained much of this history) that diffeological spaces were “built on the model” of Chen spaces. Later work by Stacey and Baez-Hoffnung showed how Chen spaces are directly comparable to diffeological spaces. ↩
Another model structure was proven to exist on diffeological spaces in “A model structure on diffeological spaces, I”, though it took many years to develop and Kihara’s help in amending previous proofs. ↩
I can’t help but mention that at the time of writing, there are four different versions of Cech cohomology for diffeological spaces in the literature. Indeed, there is PIZ’s, defined in his paper above. There is Krepski, Watts and Wolbert’s diffeological Cech cohomology given in “Sheaves, principal bundles, and Čech cohomology for diffeological spaces”. There is my version of Cech cohomology for diffeological spaces defined in “Diffeological Principal Bundles and Principal Infinity Bundles” which is called \(\infty\)-stack cohomology. Finally there is Ahmadi’s version of diffeological Cech cohomology given in “Diffeological Cech Cohomology.” It is currently an open question as to whether any of these cohomologies agree for all diffeological spaces. ↩
Okay, so that’s actually two questions, and I will handle the second one (“why should I care?”) first. There are actually many different ways to approach this question, and rather than list a bunch of them, I’ll pick one for this post.
So imagine you are a differential geometer. Your research revolves around finite dimensional smooth manifolds, well behaved mathematical objects with a long history (something like 200 years) of study. You know that whatever tools you need, there will be something in the enormous toolbox of classical differential geometry to suit your needs. Hell, partitions of unity probably get you most of the way.
One day you come across some kind of smooth space, maybe a group of diffeomorphisms, or possibly an orbifold of some kind, which is not a finite dimensional smooth manifold! You want to prove some theorems about this misbehaving space, but when you flip through your textbooks on classical differential geometry, there’s nothing! All of its theorems are about finite dimensional smooth manifolds. You glance over at the dusty tome on your shelf about Banach manifolds, with its hundreds of pages of hardcore functional analysis, and cower in fear.
Okay, maybe that’s a little dramatic. But its something that happens all the time in differential geometry. The truth is, modern differential geometry wishes to study all kinds of crazy spaces that are not finite dimensional smooth manifolds. Yet, the way these crazy spaces are usually dealt with is in an ad hoc manner, and sometimes require lots of functional analysis. When a new kind of crazy space comes along, and we wish to study it, none of the tools we’ve developed thus far will help us. We need to redefine all the concepts of differential geometry we’d like to use on this new kind of crazy space.
Diffeology is a new, modern framework for differential geometry that says “enough is enough, we need a big box of smooth spaces that includes manifolds and all kinds of crazy spaces us modern differential geometers care about, and we need a uniform way of reasoning about these spaces, and extending our old theorems to them.” This might sound like wishful thinking. What mathematics will guide us in this new world, far out from our cozy land of Euclidean spaces and tori? That tool is Category Theory.
You’ve probably heard about category theory already if you are looking at this blog, so I won’t bother trying to explain what it is, as any attempts by myself to do so would probably be embarassing anyway. Why category theory matters here is because there is a category staring us in the face. That category is \(\mathsf{Man}\), the category whose objects are finite dimensional smooth manifolds and whose morphisms are smooth functions between them.
This category sucks!
Indeed, the category \(\mathsf{Man}\) has finite products, transverse pullbacks and a few colimits (but noticeably not any coproducts between manifolds of different dimension!). This is not enough for the working category theorist or really for the working geometer. We want to glue things together willy-nilly, like for instance, this is my favorite example, take two copies of the real line, and glue them together at the origin. We’ll call this space the Axes.
This is not a manifold! If it were, then it would be the colimit of the following diagram in \(\mathsf{Man}\).
\[0 \rightrightarrows \mathbb{R} \sqcup \mathbb{R},\]where each map is the inclusion of the origin into either the left or right copy of \(\mathbb{R}\). But c’mon now, this is a simple space! We should be able to have the usual concepts of differential geometry (tangent spaces, bundles, deRham cohomology, etc.) apply to this thing!
Diffeology is an attempt to do just this. It provides us with a category, \(\mathsf{Diff}\), whose objects are diffeological spaces, which is complete, cocomplete, and locally presentable. If you don’t know what that means exactly, don’t worry about it. The point is that it is a wayyy better category than \(\mathsf{Man}\), it lets us glue stuff together however we like. Our friend the Axes is an object in this category, as are all finite dimensional smooth manifolds, and thus the diagram above can be considered in \(\mathsf{Diff}\), and its colimit is precisely Axes!
This was a super rough, motivational post. I’ll be back next time to delve into some more motivation and some of the history of diffeological spaces.
]]>