Trying to systematize possible notions of graph morphisms I came about the following classification:
A morphism $f$ which sends a graph $G$ to another graph $G'$ is – first of all – supposed to be a function $f:V_G\rightarrow V_{G'}$ from the vertex-set of $G$ to the vertex-set of $G'$, that has to fulfill one or more conditions of the form
$$\phi(x,y) \rightarrow \phi(x',y')$$
or of the form
$$\phi(x',y') \rightarrow \phi(x,y)$$
Here $\phi(\cdot,\cdot)$ is either
- $\cdot = \cdot$
- $R(\cdot,\cdot)$, that means "$\cdot$ is related to $\cdot$",
- a negation of one of the former
- or any formula with two free variables of the first-order language with signature $\lbrace R, = \rbrace$ (called appropriate formula)
$\phi(x,y) \rightarrow \phi(x',y')$ is to be read
$$(\forall x,y \in V_G)\ \phi(x,y) \rightarrow \phi(f(x),f(y))$$
which is equivalent to
$$(\forall x,y \in V_{G})\ \phi(x,y)\rightarrow (\exists x',y' \in V_{G'})\ \phi(x',y') \wedge f(x)=x' \wedge f(y)=y'$$
$\phi(x',y') \rightarrow \phi(x,y)$ instead is to be read
$$(\forall x',y' \in V_{G'})\ \phi(x',y')\rightarrow (\exists x,y \in V_G)\ \phi(x,y) \wedge f(x)=x' \wedge f(y)=y'$$
Now look at the following specific restrictions:
- $x\neq y \rightarrow x' \neq y'$ ($f$ is injective)
- $x'=y' \rightarrow x = y$ ($f$ is surjective)
- $R(x,y) \rightarrow R(x',y')$ ($f$ is a weak homomorphism)
- $R(x',y') \rightarrow R(x,y)$ ($f$ is a strong homomorphism)
- $x=y \rightarrow x' = y'$ ($f$ is a function)
- $x'\neq y' \rightarrow x \neq y$ ($f$ is bijective)
The last two conditions seem to be unnecessary, i.e. definable.
Combinations of the other ones yield:
embeddings: strong + injective
elementary embeddings: for every appropriate formula $\phi$
$$\phi(x,y) \rightarrow \phi(x',y')$$
which implies for every appropriate formula $\phi$
$$\phi(x',y') \rightarrow \phi(x,y)$$
I would like to learn to what extent this classification is complete.