Let $G$ be a graph. A graph $C$ is a core of $G$ if:
- There is a homomorphism $G \to C$.
- There is a homomorphism $C \to G$.
- $C$ is smallest possible with these properties.
A core graph is well-defined up to isomorphism for any finite graph $G$. One can see that under these restrictions $C$ is a subgraph of $G$ (since otherwise the image of $C \to G$ must be a smaller graph with all these properties), and is its own core. Further, we may equivalently replace 3 with:
3'. All endomorphisms of $C$ are isomorphisms.
3' is one of the main reasons why core graphs are a useful notion (see references in the article above), so it is interesting to seek for similar objects in other categories. Let us define a core of an object $G$ as any $C$ satisfying 1, 2 and 3'.
In any category with an object $X$ both initial and terminal, $X$ is trivially a core of any object (as in $\mathbf{Grp}$, $\mathbf{Mon}$, or $\mathbf{Vect}_K$). In $\mathbf{Field}$ any object is a core of itself since any homomorphism is injective. In both of this situations the cores are kinda trivial. We could say that in the first case objects have too 'admissive' internal structure, while in the latter case objects have too 'restrictive' internal structure.
$\mathbf{Graph}$ is an example of a category with "meaningful" cores, that is, different graphs may have different cores, and there are graphs that are not cores of themselves. In $\mathbf{Ring}$ cores may be meaningful too: for example, the core of $\mathbb{Z}_n \times \mathbb{Z}_m$ is $\mathbb{Z}_{\mathrm{lcm}(n, m)}$.
Questions: In which (concrete) categories cores are meaningful? In which categories cores are defined up to isomorphism?
Late edit: Another aspect of how graph cores are interesting is that they are hard to compute (see above reference). Naturally, if cores of a category are computationally hard, then they must be meaningful in the above sense, and it feels like a good way to encapsulate their 'interestingness'. Can we say something about categories with computationally hard cores?