The core C {\displaystyle C} (in red) of the truncated tetrahedron graph G {\displaystyle G}.

In the mathematical field of graph theory, a core is a notion that describes behavior of a graph with respect to graph homomorphisms.

Definition

Graph C {\displaystyle C} is a core if every homomorphism f : C → C {\displaystyle f:C\to C} is an isomorphism, that is it is a bijection of vertices of C {\displaystyle C}.

A core of a graph G {\displaystyle G} is a graph C {\displaystyle C} such that

  1. There exists a homomorphism from G {\displaystyle G} to C {\displaystyle C},
  2. there exists a homomorphism from C {\displaystyle C} to G {\displaystyle G}, and
  3. C {\displaystyle C} is minimal with this property.

Two graphs are homomorphically equivalent if and only if they have isomorphic cores.

Examples

Properties

Every finite graph has a core, which is determined uniquely, up to isomorphism. The core of a graph G is always an induced subgraph of G. If G → H {\displaystyle G\to H} and H → G {\displaystyle H\to G} then the graphs G {\displaystyle G} and H {\displaystyle H} are necessarily homomorphically equivalent.

Computational complexity

It is NP-complete to test whether a graph has a homomorphism to a proper subgraph, and co-NP-complete to test whether a graph is its own core (i.e. whether no such homomorphism exists) (Hell & Nešetřil 1992).