We’ve already solved two universal problems! In this post, we will solve the third, which is not more complicated than the last problem. However, the next problem is pretty complicated and it will use what we’ll do here, so it’s important to understand this problem as good as possible. Ok, let’s not spend any more time and just dive in:
The problem
In this prolem, two groups are given – and
.
From those groups we can define homomorphisms and
to some other group
.

But that’s not really a problem, right? The real problem is to find some universal group with homomorphism:
i_G :\color{blue}G\color{black}\to U \\ i_H: \color{red}H\color{black}\to U
such that all the homomorphism to goes “through it”.

That is, there exists a unique homomorphism such that:
\color{blue}\varphi\color{black}=L\circ i_G\\ \color{red}\psi\color{black}=L\circ i_H
I am not going to prove the uniqueness of here, I’ve already proved uniqueness in the previous problems and the process is the same! (You can find a full proof here, not the same case, but you can easily apply this prove to this case)
It turns out that in order to solve this problem we need to define a new group – the free product:
Sets of Words
First, we need to define a set that is the set of all the words that are made from elements from
and
. And what’s that exactly? such a “word” is just a finite sequence of elements from
and
(it can be empty…). For example, the following sequence:
(g_1,h_1,g_2,g_3,h_2,h_3,h_4,g_4)
(Where ) is an example of a word.
But dealing with words won’t give us anything, in order to make thing a bit more interesting we need to define an equivalence realtion on the set. We’ll define:
(---, g_1,g_2,---)\sim (---, g_1g_2,---) \ , \ g_1,g_2\in G\\ (---, h_1,h_2,---)\sim (---, h_1h_2,---) \ , \ h_1,h_2\in H
That is, if two elements from the same group are next to each other in the word – we can ‘reduce’ the word by replacing both elements with their product.
Moreover, we can reduce the identities:
(---,1_G,---)\sim(------) \\ (---,1_H,---)\sim(------)
We’ll denote the set of equivalence classes as . The only thing left to do is to define an action on the set:
The action on the set
The most natural action to define on the set of words is the following:
(---,x_1)\circ(x_2,---)=(---,x_1,x_2,---)
We just “connect” the words. We can now easilly define a similar action on :
[(---,x_1)]\circ[(x_2,---)]=[(---,x_1,x_2,---)]
This action is indeed well defined:
We need to shot that if and
then
.
But that’s not so complicated – Suppose that:
x_1=(a_1,\dots,a_k), y_1=(b_1,\dots,b_m)
So their product is:
(a_1,\dots,a_k,b_1,\dots,b_m)
Intuitively we can put an ‘imaginary bar’ :
(a_1,\dots,a_k\ |\ b_1,\dots,b_m)
and ‘split’ the words into two parts. In the left part we can do the required manipulation in order to bring it to the form of (this is possible since
), and similarly, do the required manipulation in order to bring right side to the form of
. Thus, the word after the manipulations is:
(x_2\ |\ y_2)
And this yields that as we wanted.
The proof for the associativity is done pretty much in the same way – try to prove it yourself!
The identity will be the class of the empty word – . The inverse element of the class:
[(x_1,\dots,x_m)]
Will be the elements:
[(x_m^{-1},\dots,x_1^{-1})]
It’s not hard to see why (convince yourself! multiply those classes if you want and see what you get).
Note that if the groups are not trivial, then the action is not commutative, to see this we can just pick some and
and get:
[(g)][(h)]=[(g,h)]\neq[(h,g)]=[(h)][(g)]
The group
Great, so we’ve found out that is indeed a group! In fact, this group has a special name – it is called the free product of
and
.
Note that we can easily define natural homomorphisms:
i_G:G\to G*H\\ i_H:H\to G*H
How? Just send an element to the class of the word that is made from it:
i_G(g)=[(g)] \\ i_G(h)=[(h)]
Those are indeed homomorphisms, for example:
i_G(g_1g_2)=[(g_1g_2)]=[(g_1,g_2)]=[(g_1)][(g_2)]=i_G(g_1)i_g(g_2)
Moreover, those homomorphism are in fact injective (those are monomorphisms):
i_G(1_G)=[(1_G)]=[()]=1_{G*H}
Great, so we have a group and we have homomorphisms to it, the only thing left to check is that this group is indeed the solution for the universal problem:
Is that what we are looking for?
So, now the diagram looks like:

We just need to figure out who is and why it is unique. Well, we know that it should satisfy:
\color{blue}\varphi\color{black}=L\circ i_G \\ \color{red}\psi\color{black}=L\circ i_H
So for every is should satisfy:
\color{blue}\varphi\color{black}(g)=L\circ i_G(g)=L([(g)]) \\ \color{red}\psi\color{black}(h)=L\circ i_H(h)=L([(h)])
And that’s exactly how is defined! (That also proves the uniqueness) For example, if the sequence is:
[(g_1,h_1,g_2,g_3)]
Then:
L([(g_1,h_1,g_2,g_3)])=L([(g_1)][(h_1)][(g_2)][(g_3)])
= L([(g_1)])L([(h_1)])L([(g_2)])L([(g_3)])=\color{blue}\varphi\color{black}(g_1)\color{red}\psi\color{black}(h_1)\color{blue}\varphi\color{black}(g_2)\color{blue}\varphi\color{black}(g_3)
Summary
I find the construction of the group pretty natural – think about it, the universal group recieves ‘data’ from two groups, it should know how to ‘handle it’.
When I first saw this problem I said to myself – why would it work if we just pick to be the cartesian product
? Well it doesn’t, If you try to use this group as a solution, you will get that
is not a homomorphism… Try it, it’s a really nice practice – think about who should be
and how
has to be defined.
Great, so we now solved three universal problems, three more to go! The next problem is the most complicated one! However, it is a really important one and it will allow us to compute fundamental groups like crazy!