You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.
Consider the category with two objects and two non-identity arrows . Then a graph can be described as a presheaf . In particular, we obtain a category of graphs.
However, for a graph theorist, is more likely described as a directed multigraph possibly with self-loops. The usual graph our graph theorist has in mind usually involves more constraints. For the sake of simplicity, just consider the constraint stating that there is at most one edge between any two vertices.
Now, say I want to describe this data structure with presheaves. I see, at least, two options:
I can just select the presheaves on which satisfy condition . I obtain a collection of presheaves. But now it is not clear, at first sight, that we obtain a category (we need to work to check, e.g., if the -morphisms are compatible with ).
Or maybe I can change the base category for another category . Something like two objects and an epi . And selecting only presheaves that preserve some stuff (e.g. products, epi to mono, ...)
Maybe there are other ways I am missing.
My question is: are there typical and nice ways to express constraints like in a presheaf-based model? By nice, I mean, for instance, that some general results apply to produce an actual category .
You could restate using an [[orthogonality]] condition (see section orthogonality of morphisms to objects).
Consider the two following graphs with two vertices and a single edge (the walking edge) and with 2 vertices as well and two parallel edges between these vertices. Let map the unique edge of to . Now given a graph , is the set of edges of while is the set of parallel pairs in . Precomposition by induces a restriction
and this map is invertible exactly when has no distinct pair of parallel edges. This is exactly stating that is (right) orthogonal to .
We usually start from a presentation of a category rather than a category, so you can literally write down equations you want to hold in your category. But certain classes of constraint, like an arrow being mono, will go beyond equational presentations.
Just a remark concerning your particular example: "simple" directed graphs (in the sense of graphs with at most one edge between any two nodes ) may be expressed as [[separated presheaves]] on the coverage saying that the two arrows are a covering family. While this does not generalize to obtain more sophisticated constraints that you may have in mind, it does tell us that the category of simple directed graphs is a [[quasitopos]] (a potentially interesting side remark).
That's not just a potentially interesting side remark, it's a very important point. There are various ways of expressing constraints like this, but they all tell you something important about what the resulting category is like.
Another important point is that when you have constraints that only eliminate objects, there is no chance of ending up with something that isn't a category. It's only when you start eliminating arrows that that can happen.
Thank you all for your answers. I didn't know about these concepts, I'll try to work them out on a few other cases.