Core (graph theory)
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  is a core if every homomorphism  is an isomorphism, that is it is a bijection of vertices of . A core of a graph  is a graph  such that
 There exists a homomorphism from  to ,
 there exists a homomorphism from  to , and
  is minimal with this property. Two graphs are said to be homomorphism equivalent or hom-equivalent if they have isomorphic cores. Examples 
 Any complete graph is a core. A cycle of odd length is a core. A graph  is a core if and only if the core of  is equal to . Every two cycles of even length, and more generally every two bipartite graphs are hom-equivalent. The core of each of these graphs is the two-vertex complete graph K2. By the Beckman–Quarles theorem, the infinite unit distance graph on all points of the Euclidean plane or of any higher-dimensional Euclidean space is a core. 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  and  then the graphs  and  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) . References
 Godsil, Chris, and Royle, Gordon. Algebraic Graph Theory. Graduate Texts in Mathematics, Vol. 207. Springer-Verlag, New York, 2001. Chapter 6 section 2.
. . Graph theory objects