Goursat's lemma, named after the French mathematician Édouard Goursat, is an algebraic theorem about subgroups of the direct product of two groups.
It can be stated more generally in a Goursat variety (and consequently it also holds in any Maltsev variety), from which one recovers a more general version of Zassenhaus' butterfly lemma. In this form, Goursat's theorem also implies the snake lemma.
Goursat's lemma for groups can be stated as follows.
Let
G
,
G
′
be groups, and let
H
be a subgroup of
G
×
G
′
such that the two projections
p
1
:
H
→
G
and
p
2
:
H
→
G
′
are surjective (i.e.,
H
is a subdirect product of
G
and
G
′
). Let
N
be the kernel of
p
2
and
N
′
the kernel of
p
1
. One can identify
N
as a normal subgroup of
G
, and
N
′
as a normal subgroup of
G
′
. Then the image of
H
in
G
/
N
×
G
′
/
N
′
is the graph of an isomorphism
G
/
N
≈
G
′
/
N
′
.
An immediate consequence of this is that the subdirect product of two groups can be described as a fiber product and vice versa.
To motivate the proof, consider the slice
S
=
g
×
G
′
in
G
×
G
′
, for any arbitrary
g
∈
G
. By the surjectivity of the projection map to
G
, this has a non trivial intersection with
H
. Then essentially, this intersection represents exactly one particular coset of
G
′
. Indeed, if we had distinct elements
(
g
,
a
)
,
(
g
,
b
)
∈
S
with
a
∈
p
N
′
⊂
G
′
and
a
∈
q
N
′
⊂
G
′
, then
H
being a group, we get that
(
e
,
a
b
−
1
)
∈
H
, and hence,
(
e
,
a
b
−
1
)
∈
N
′
. But this a contradiction, as
a
,
b
belong to distinct cosets of
N
′
, and thus
a
b
−
1
N
′
≠
N
′
, and thus the element
(
e
,
a
b
−
1
)
∈
N
′
cannot belong to the kernel
N
′
of the projection map from
H
to
G
. Thus the intersection of
H
with every "horizontal" slice isomorphic to
G
′
∈
G
×
G
′
is exactly one particular coset of
N
′
in
G
′
. By an identical argument, the intersection of
H
with every "vertical" slice isomorphic to
G
∈
G
×
G
′
is exactly one particular coset of
N
in
G
.
All the cosets of
G
,
G
′
are present in the group
H
, and by the above argument, there is an exact 1:1 correspondence between them. The proof below further shows that the map is an isomorphism.
Before proceeding with the proof,
N
and
N
′
are shown to be normal in
G
×
{
e
′
}
and
{
e
}
×
G
′
, respectively. It is in this sense that
N
and
N
′
can be identified as normal in G and G', respectively.
Since
p
2
is a homomorphism, its kernel N is normal in H. Moreover, given
g
∈
G
, there exists
h
=
(
g
,
g
′
)
∈
H
, since
p
1
is surjective. Therefore,
p
1
(
N
)
is normal in G, viz:
g
p
1
(
N
)
=
p
1
(
h
)
p
1
(
N
)
=
p
1
(
h
N
)
=
p
1
(
N
h
)
=
p
1
(
N
)
g
.
It follows that
N
is normal in
G
×
{
e
′
}
since
(
g
,
e
′
)
N
=
(
g
,
e
′
)
(
p
1
(
N
)
×
{
e
′
}
)
=
g
p
1
(
N
)
×
{
e
′
}
=
p
1
(
N
)
g
×
{
e
′
}
=
(
p
1
(
N
)
×
{
e
′
}
)
(
g
,
e
′
)
=
N
(
g
,
e
′
)
.
The proof that
N
′
is normal in
{
e
}
×
G
′
proceeds in a similar manner.
Given the identification of
G
with
G
×
{
e
′
}
, we can write
G
/
N
and
g
N
instead of
(
G
×
{
e
′
}
)
/
N
and
(
g
,
e
′
)
N
,
g
∈
G
. Similarly, we can write
G
′
/
N
′
and
g
′
N
′
,
g
′
∈
G
′
.
On to the proof. Consider the map
H
→
G
/
N
×
G
′
/
N
′
defined by
(
g
,
g
′
)
↦
(
g
N
,
g
′
N
′
)
. The image of
H
under this map is
{
(
g
N
,
g
′
N
′
)
|
(
g
,
g
′
)
∈
H
}
. Since
H
→
G
/
N
is surjective, this relation is the graph of a well-defined function
G
/
N
→
G
′
/
N
′
provided
g
1
N
=
g
2
N
⇒
g
1
′
N
′
=
g
2
′
N
′
for every
(
g
1
,
g
1
′
)
,
(
g
2
,
g
2
′
)
∈
H
, essentially an application of the vertical line test.
Since
g
1
N
=
g
2
N
(more properly,
(
g
1
,
e
′
)
N
=
(
g
2
,
e
′
)
N
), we have
(
g
2
−
1
g
1
,
e
′
)
∈
N
⊂
H
. Thus
(
e
,
g
2
′
−
1
g
1
′
)
=
(
g
2
,
g
2
′
)
−
1
(
g
1
,
g
1
′
)
(
g
2
−
1
g
1
,
e
′
)
−
1
∈
H
, whence
(
e
,
g
2
′
−
1
g
1
′
)
∈
N
′
, that is,
g
1
′
N
′
=
g
2
′
N
′
.
Furthermore, for every
(
g
1
,
g
1
′
)
,
(
g
2
,
g
2
′
)
∈
H
we have
(
g
1
g
2
,
g
1
′
g
2
′
)
∈
H
. It follows that this function is a group homomorphism.
By symmetry,
{
(
g
′
N
′
,
g
N
)
|
(
g
,
g
′
)
∈
H
}
is the graph of a well-defined homomorphism
G
′
/
N
′
→
G
/
N
. These two homomorphisms are clearly inverse to each other and thus are indeed isomorphisms.
As a consequence of Goursat's theorem, one can derive a very general version on the Jordan–Hölder–Schreier theorem in Goursat varieties.