A homomorphism between groups, $f:H\to K$ is said to be an epimorphism if for any group $L$, and for any homomorphisms $u,v:K\to L$, we have $u\circ f=v\circ f$ holds if and only if $u=v$ holds. Show that $f$ is an epimorphism of groups if and only if $f$ is surjective as a map of groups.

Firstly, suppose $f$ is surjective, we can know the image of $f$ is the entire $K$, so $u\circ f=v\circ f$ can imply $u=v$. Also $u=v$ can also imply $u\circ f=v\circ f$.

But how can I prove another way? Can someone tell me how to prove it? Or,can someone give me some hints?

  • $\begingroup$ It is tricky, and this question is very googleable (and answer) $\endgroup$
    – user29123
    Sep 20, 2015 at 4:25

2 Answers 2


I know this is an old question, but this came up recently in an answer to another question, so I figure we might as well have a standard answer on the site.

A classic proof of this fact is due Schreier; he used free products with amalgamation. He then also deduced the nontrivial fact that epimorphisms are surjective in the category of finite groups.

Carl Linderholm (of Mathematics Made Difficult fame) published a 1 page elementary proof in "A Group Epimorphism is Surjective", in the American Mathematical Monthly 77, pp. 176-177. I gave the proof on sci.math back in 2000. This is this proof with slightly different notation.

Let $f\colon H\to K$ be an epimorphism. We seek to find a group $S$ and two morphisms $g,h\colon K\to S$ such that $gf=hf$, and then use the conclusion that $g=h$ to conclude that $f(H)=K$.

Let $X=K/f(H)$ be the set of right cosets of $f(H)$ in $K$. Let $\infty$ be something which is not an element of $X$, and let $Y=X\cup\{\infty\}$. Let $S$ be the group of permutations on $Y$.

The right action of $K$ on $X$ induces an embedding of $K$ into $S$ as permutations that fix $\infty$; call this map $g$. Now let $\sigma\in S$ be the permutation that exchanges the coset $f(H)$ with $\infty$ and fixes everything else. let $h\colon K\to S$ be the homomorphism we get by composing $g$ with conjugation by $\sigma$ in $K$.

Now, consider $h$ and $g$. If $x\in H$, then $f(x)$ fixes the coset $f(H)$ and fixes $\infty$. Thusm the support of $g(f(x))$ and $\sigma$ are disjoint hence they commute: $h(f(x))=\sigma^{-1}\circ g(f(x))\circ \sigma=g(f(x))$. That is, $h\circ f = g\circ f$.

Since $f$ is an epimorphism, we conclude that $h=g$.

But that means that for all $k$, $h(k)=g(k)$. In particular, $g(k)$ must commute with $\sigma$ for all $k$. This requires that $g(k)$ leave $f(H)$ fixed. But that requires $k\in f(H)$. That is, we must have $f(H)=K$, so $f$ is surjective, as claimed.

Note, along the way, that when $K$ is finite the group $S$ is also finite. So this also proves that epimorphisms are surjective in the category of all finite groups, something which is not immediately obvious from Schreier’s Theorem. However, Schreier’s Theorem is stronger than the assertion that epimorphisms are surjective: it proves that every subgroup is an equalizer subgroup; i.e., if $H\leq G$, then there exist a group $K$ and morphisms $f,g\colon G\to K$ such that the equalizer of $f$ and $g$ is exactly $H$: $\mathrm{Eq}(f,g)=\{x\in G\mid f(x)=g(x)\}=H$.

  • $\begingroup$ I was looking at Linderholm's article and came across your post. Three questions: $1)$ is there any benefit from using the right cosets and the right action or could the argument equivalently be carried out using the left action of the left cosets? $2)$ What exactly is $\infty$? It's something which is not a right coset of $f(H)$, okay, but how can we choose such a thing (and don't we show in the end that there's in fact no such $\infty$?)? $3)$ Why does the induced right action fixes $\infty$ (I think this is related to me not understaind what $\infty$ is; see $2)$)? $\endgroup$
    – mrtaurho
    Dec 31, 2020 at 15:07
  • 1
    $\begingroup$ @mrtaurho: (1) There is no difference between left or right actions: you can convert one to the other and vice versa through a suitable function. (2) It is a theorem of Set Theory that given any set $X$, there is an element that is not in $X$ (there is no “universal set”). Since you have a set (the left cosets), just pick an element that is not there, and call it anything you want: $*$, $\infty$, “Joe”, or whatever. (3) We define the action of $G$ on the new set by letting it to what it did before on the set of cosets, and letting it fix $\infty$. So it fixes $\infty$ by definition. $\endgroup$ Dec 31, 2020 at 15:37
  • 1
    $\begingroup$ @mrtaurho: $\infty$ isn’t anything special. We are just adding an extra point to the set of cosets. $\endgroup$ Dec 31, 2020 at 15:38
  • $\begingroup$ Ahh, I thought $\infty$ was some element of $H$ or something similar. Now everything is clear. Thanks for the clarifications! $\endgroup$
    – mrtaurho
    Dec 31, 2020 at 15:47
  • $\begingroup$ ArturoMagidin: I tried to modify this argument to obtain epimorphisms of inverse semigroups, but seems lime it doesn't work. The main reason is, I don't know how "inverse semigroup actions" work. Do you know anything about epis in inverse semigroups? $\endgroup$
    – Bumblebee
    Jun 20, 2021 at 18:16

Firstly, suppose $f$ is surjective, we can know the image of $f$ is the entire $K$, so $u\circ f=v\circ f$ can imply $u=v$.

I take issue with the first sentence of your proof, quoted above. At the very least, the reasoning is not clear to me: where did you use surjectivity?

You want to show that $u = v$ as functions $K \to L$, so you might proceed by choosing an arbitrary $k \in K$ and showing that $u(k) = v(k)$. Since $f$ is surjective, what can you say about $k$?

Phrased a bit differently, you could instead say that $u \circ f = v \circ f$ implies that the restrictions $u|_{\text{img}(f)} = v|_{\text{img}(f)}$, and then use your observation about the image of $f$.

  • 1
    $\begingroup$ I think If the image of f is the whole K group, then as for any $k\in K$, we can have f(a)=k for some a in H. If so, suppose $u\circ f=v\circ f$ holds, then we have u(f(a)=v(f(a)), then we will have u(k)=v(k). Since k is chosen arbitrarily, so we have u(k)=v(k) for any k in K, so u=v. (is it right?) $\endgroup$
    – python3
    Sep 20, 2015 at 4:39
  • $\begingroup$ Seems good to me! $\endgroup$ Sep 20, 2015 at 4:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.