In category theory , the following are different types of morphisms:
An isomorphism is a morphisms $f:X\to Y$ for which there exists $g:Y\to X$ so that $gf=1_X$ and $fg=1_Y$. (If there exists such a morphism between $X$ and $Y$, these objects are said to be isomorphic.)
An endomorphism is a morphism $f:X\to X$ whose domain equals its codomain. An endomorphism which is also an isomorphism is called an automorphism.
A monomorphism is a morphism $f:X\to Y$ with the property that $fh=fk\implies h=k$ for any morphisms $h,k:W\to X$.
A monomorphism that has a left inverse is called a split monomorphism.
An epimorphism is a morphism $f:X\to Y$ with the property that $hf=kf\implies h=k$ for any morphisms $h,k:Y\to Z$.
An epimorphism that has a right inverse is called a split epimorphism.
These properties of morphisms interact with each other and with composition in the following ways:
If $f:x\to y$ and $g:x\to y$ are monic, then so is $gf:x\to z$.
If $gf:x\to z$ is monic, then $f:x\to y$ is monic.
If $f:x\to y$ and $g:x\to y$ are epic, then so is $gf:x\to z$.
If $gf:x\to z$ is epic, then $g:y\to z$ is epic.
If $f$ is monic and split epic, then it is an isomorphism.
If $f$ is epic and split monic, then it is an isomorphism.
Here are some specific examples of each of these in abstract categories (work in progress):
Here are some useful facts relating these types of morphisms to hom-sets . In a locally small category $\mathsf{C}$, we have that
$f:x\to y$ is an isomorphism iff post-composition with $f$ defines a bijection from $\text{Hom}(c,x)$ to $\text{Hom}(c,y)$ for each object $c$.
$f:x\to y$ is an isomorphism iff pre-composition with $f$ defines a bijection from $\text{Hom}(x,c)$ to $\text{Hom}(y,c)$ for each object $c$.
$f:x\to y$ is a monomorphism iff post-composition with $f$ defines an injection from $\text{Hom}(c,x)$ to $\text{Hom}(c,y)$ for each object $c$.
$f:x\to y$ is an epimorphism iff pre-composition with $f$ defines a bijection from $\text{Hom}(x,c)$ to $\text{Hom}(y,c)$ for each object $c$.
In the category $\mathsf{Set}$, a morphism is an isomorphism iff it is both monic and epic. But this is not true in general, and this fact is easy to forget! As a reminder, here are several examples of categories with nonisomorphisms that are monic and epic:
In $\mathsf{Ring}$, the inclusion map $i:\mathbb Z\to\mathbb Q$ is both monic and epic but it is not an isomorphism. (In $\mathsf{Group}$, this inclusion is not epic.)
In $\mathsf{Top}$, if $X_1$ is the space of reals with the Euclidean topology, and $X_2$ is the space of reals with the discrete topology, then the identity map $f:X_1\to X_2$ is monic and epic (by virtue of being a bijection) but is not an isomorphism.
In $\mathsf{SimpGraph}$, if $G$ is a finite simple non-complete graph with $n$ vertices, then any map $f:G\to K_n$ which is a bijection between the vertices of $G$ and $K_n$ is monic and epic without being an isomorphism.