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. Groups Goursat's lemma for groups can be stated as follows. Let , be groups, and let be a subgroup of such that the two projections and are surjective (i.e., is a subdirect product of and ). Let be the kernel of and the kernel of . One can identify as a normal subgroup of , and as a normal subgroup of . Then the image of in is the graph of an isomorphism . One then obtains a bijection between : Subgroups of which project onto both factors, Triples with normal in , normal in and isomorphism of onto . An immediate consequence of this is that the subdirect product of two groups can be described as a fiber product and vice versa. Notice that if is any subgroup of (the projections and need not be surjective), then the projections from onto and are surjective. Then one can apply Goursat's lemma to . To motivate the proof, consider the slice in , for any arbitrary . By the surjectivity of the projection map to , this has a non trivial intersection with . Then essentially, this intersection represents exactly one particular coset of . Indeed, if we had distinct elements with and , then being a group, we get that , and hence, . But this a contradiction, as belong to distinct cosets of , and thus , and thus the element cannot belong to the kernel of the projection map from to . Thus the intersection of with every "horizontal" slice isomorphic to is exactly one particular coset of in . By an identical argument, the intersection of with every "vertical" slice isomorphic to is exactly one particular coset of in . All the cosets of are present in the group , 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. Proof Before proceeding with the proof, and are shown to be normal in and , respectively. It is in this