Today I’d like to talk about an open problem I’ve been interested in for the past couple of years. It’s a very hard problem, in that there are easier special cases that are famously unapproachable, but it makes for some rather pretty algebra, living at the intersection of graph theory and category theory. If you ask me, it’s too good to be false.

A graph homomorphism between two (simple) graphs and is a function of the vertices that preserves edges, i.e. such that if , then . If you want to see a couple of professionals handle these bad boys, I would heartily recommend flipping open Chapter 6 of Algebraic Graph Theory by Godsil and Royle.

This is an appropriate notion of morphism for a category of graphs, for a number of reasons, not least of which is that the iso arrows are the usual graph isomorphisms. We will see this category rear its head again and again, in more or less obvious ways, but that won’t be important until much later.

A homomorphism partitions into fibres , one for each . If two vertices of fall into the same fibre, they cannot be adjacent, because otherwise would have a loop edge. So each fibre is a coclique1. Consequently, a homomorphism is an -colouring of the graph , and it doesn’t take too much imagination to view homomorphisms as a generalization of graph colouring.

You can restate a number of other interesting graph theoretical conditions in terms of homomorphisms as well. For example, iff has an -clique, so we can talk about the clique number . Odd girth—the length of the shortest odd cycle in –is another example. Even cycles are bipartite, so so long as is nonempty, but with an odd cycle , you have to wrap it around a smaller odd cycle, so e.g. if is triangle-free then .

Now define a relation on the set of graphs by saying if there exists a homomorphism from to . This relation is a preorder on , that is, it’s reflexive and transitive. It’s not a partial order, though, even up to isomorphism: as we saw just a moment ago, and . More generally, will confuse any nonempty bipartite graph for , and likewise if then and .


When faced with a preorder, a standard trick is to quotient out by equivalence relation generated by the preorder, and look at the resulting partial order. In our case, the equivalence relation is called hom-equivalence . Technically, all of my statements from now on should be about , but because hom-equivalence respects most of our intuition, I will often talk about the graphs themselves and not their hom-equivalence classes.

So now we’re living in a poset, . Let’s try to understand its structure. As of late, my favourite objects on this ‘blog have been lattices, so it should come as no surprise that is a lattice. What may be more surprising is what the meet and join are.

Recall that a lattice is a poset such that every pair of elements has a greatest lower bound, called a meet, and a least upper bound, called a join. In our case, we have a slightly nonstandard order , so in the intuitive picture of something being ‘above’ or ‘greater than’ another, I am considering the codomain to be above the domain, i.e. .

First off, let’s try to figure out the join. That is, for two graphs and , we want a graph such that iff and . In particular, , so we should have and .

The most brain-dead thing to try that obviously has this property is the disjoint union . If then we can clearly read off a pair of homs and . Similarly, if and , then the way to construct a hom is to simply send the -half via and the -half via . So this poset has a join, namely disjoint union.

Now, let’s consider the meet. It’s a bit of a counterintuitive answer, but I have to tell you what it is because I will make use of it later.

Define the graph by taking the vertex set , and the edge set

This graph is variously called the direct product, tensor product, or categorical product of the two graphs and . The two projection maps and to the coordinates of the vertex set are in fact surjective graph homomorphisms onto the factors.

Proposition. If and , then there is a homomorphism such that and .

Proof. Define by for each . This is a homomorphism if both and are, and it is very explicit that postcomposing projection maps recovers and . ∎

It follows that the direct product is the meet in our poset, and hence it is a lattice.

Theorem. The hom-equivalence classes of graphs form a lattice. ∎


The next step in grokking this lattice will be to get a better handle on its elements. Specifically, I would like to find a collection of interesting representatives for the hom-equivalence classes, much like the representatives for . By the serendipity of analogy, it will turn out that the vertex-minimal elements of each hom-equivalence class will have exceptional structure.

Theorem. Graphs in a hom-equivalence class having the minimum number of vertices are determined up to isomorphism by the hom-equivalence class.

Proof. Let be two graphs with the minimum number of vertices for their hom-equivalence class. Let and be homomorphisms. By the minimality condition, both and must be surjective, so is a surjective endomorphism, that is, an automorphism. Then has two-sided inverse , and it follows that . ∎

The unique-up-to-isomorphism graph of a hom-equivalence class is called the core . It turns out cores are particularly susceptible to this sort of minimality argument, which give them a number of algebraically pleasing properties.

Exercise. is isomorphic to an induced subgraph of .

With this result in hand, I will immediately abuse notation to say that is an induced subgraph of .

Theorem. A graph is a core iff .

Proof. Suppose is a core, and let be an endomorphism, that is, a homomorphism . If is not an automorphism of , then it fails to be surjective, which contradicts minimality. Conversely, suppose is a graph such that . By the previous exercise, embeds into . There exists an endomorphism , and by hypothesis it is an automorphism, so and hence is a core. ∎

This is just the tip of the iceberg, though it is enough for now. There is a lot of great stuff on cores that I will eventually get to, but I have a particular goal this time.

The question I have is a simple one. The poset of cores is isomorphic to the lattice of hom-equivalence classes. So what is the lattice structure on ?

In one sense, it’s easy to describe. For , meet is just , and same with the join. But I claim we can do a bit better than that.

First off, given two cores and , either they are comparable or not. If , then it’s not very hard to see that and . So we may assume that and are hom-incomparable cores.

Let me show you a result about disjoint unions of cores which we can use to attack this problem.

Lemma. If and are connected hom-incomparable cores, then is a core.

Proof. Consider an endomorphism . By the universal property of disjoint unions, this is determined by the two homomorphisms and . Since is connected, sends to one of the two components of . But then by hom-incomparability, , so is essentially an endomorphism of . is a core, so and is an isomorphism of and the component of the disjoint union. By symmetry, is also an isomorphism of onto the -component of , and hence must be an automorphism. , so is a core. ∎

If you think about it for a bit, this tells us that really the only thing that can go wrong is that if , then . So if and are cores, then consists of the -maximal connected components of . That is what I consider a satisfactory answer: aside from the NP-complete problem of hom-existence between different components, we algebraically know exactly what the core is in terms of the factors.


So you might look at that and be optimistic about the dual case. We just need a similar lemma for the direct product—something to do with -irreducible hom-incomparable cores. Then we can just decompose all cores into their -factorizations and use our lemma a bunch!

Well, let’s not get hasty. -factorization doesn’t actually make sense in general!

Exercise. Show that for some -irreducible graph , where is the path on four vertices.

So you have a moment of panic, and then gather your thoughts and say, “Surely this is in the literature!” Well, yes, it is. Chapter 8 of the Handbook of Product Graphs, by Hammack, Imrich, and Klavžar, is all you need to know about direct product factorization, and in fact section 8.5 proves that the connected nonbipartite graphs have unique factorization in the graphs-with-loops.

“Okay, that’s a bit weird. Is that workable? Can we look at the proof and modify it?” Well, maybe. I don’t know yet. It’s kinda gross because the dependencies go back to the start of Chapter 7, and the Handbook is not light bedtime reading. Digesting it is on my to-do list, but nowhere near the top.

I have asked MathOverflow about this and they don’t seem to know either. In fact, in a way that is easy to see but hard to formally state, this question is stronger than the following open problem:

Conjecture (Hedetniemi, 1966). For all graphs and , .

It’s worth noting that the chromatic number of a product is easily upper bounded by that of both factors, because of the projection maps, so most of the work is trying to see that bound hold tightly. Currently, we know this conjecture is true when either of or is 4-colourable. If you want some reading material on this topic, the Wikipedia page has a pretty good list of references. The following paper in particular looks at Hedetniemi’s conjecture from the hom perspective.

Häggkvist et al. On multiplicative graphs and the product conjecture. Combinatorica (1988) 8: 63. doi:10.1007/BF02122553

Another thing MO pointed out to me was some more categorical ideas involving map graphs (don’t look this one up on Wikipedia, it’s something different). The point is that, not only is the direct product the product of the category of graphs and graph homs, but it has an exponential object with respect to this product. That route seems even less workable if you look closely, but I haven’t fully convinced myself the approach is useless.


It appears that I’ve run out the clock on actually explaining any more of this in more detail. I definitely have a lot more I’d like to say, but this is a pretty good introduction to the core problem. Each of the directions to proceed from here could fill a post or two of their own, so I think I’ll do that and refer back to this post as material to set the scene.

To end off on a high note, let me present some good news. The smallest pair of hom-incomparable graphs is and the Grötzsch graph on 11 vertices. is -irreducible, because 11 is a prime number, so we should expect that is a core. This graph has 33 vertices, which is a lot when you’re asking about cores, but running the world’s laziest SageMath code for a week has confirmed that, yes, is a core.

The next pair of hom-incomparable -irreducible cores I can think of are the Möbius ladder and the Petersen graphs, whose product comes to 80 vertices, but I don’t own any supercomputers yet, so trying to figure out a more efficient way to test for that is yet another interesting direction to explore.

  1. Some of you call these stable sets or independent sets. But I will call them cocliques until the day I die. Wikipedia can go suck a lemon.