Goursat's lemma
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. 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 formula_3 is "any" subgroup of formula_4 (the projections formula_5 and formula_6 need not be surjective), then the projections from formula_3 onto formula_35 and formula_36 "are" surjective. Then one can apply Goursat's lemma to formula_37. To motivate the proof, consider the slice formula_38 in formula_39, for any arbitrary formula_40. By the surjectivity of the projection map to formula_1, this has a non trivial intersection with formula_3. Then essentially, this intersection represents exactly one particular coset of formula_12. Indeed, if we had distinct elements formula_44 with formula_45 and formula_46, then formula_3 being a group, we get  that formula_48, and hence, formula_49. But this a contradiction, as formula_50 belong to distinct cosets of formula_12, and thus formula_52, and thus the element formula_53 cannot belong to the kernel formula_12 of the projection map from formula_3 to formula_1. Thus the intersection of formula_3 with every "horizontal" slice isomorphic to formula_58 is exactly one particular coset of formula_12 in formula_2. By an identical argument, the intersection of formula_3 with every "vertical" slice isomorphic to formula_62 is exactly one particular coset of formula_63 in formula_1. All the cosets of formula_65 are present in the group formula_3, 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, formula_10 and formula_12 are shown to be normal in formula_69 and formula_70, respectively. It is in this sense that formula_10 and formula_12 can be identified as normal in "G" and "G"', respectively. Since formula_11 is a homomorphism, its kernel "N" is normal in "H". Moreover, given formula_40, there exists formula_75, since formula_13 is surjective. Therefore, formula_77 is normal in "G", viz: It follows that formula_10 is normal in formula_69 since The proof that formula_12  is normal in formula_70 proceeds in a similar manner. Given the identification of formula_1 with formula_69, we can write formula_28 and formula_87 instead of formula_88 and formula_89, formula_40. Similarly, we can write formula_29 and formula_92, formula_93. On to the proof. Consider the map formula_94 defined by formula_95. The image of formula_3 under this map is formula_97. Since formula_98 is surjective, this relation is the graph of a well-defined function formula_99 provided formula_100 for every formula_101, essentially an application of the vertical line test. Since formula_102 (more properly, formula_103), we have formula_104. Thus formula_105, whence formula_106, that is, formula_107. Furthermore , for every formula_108 we have formula_109. It follows that this function is a group homomorphism. By symmetry, formula_110 is the graph of a well-defined homomorphism formula_111. These two homomorphisms are clearly inverse to each other and thus are indeed isomorphisms. Goursat varieties. As a consequence of Goursat's theorem, one can derive a very general version on the Jordan–Hölder–Schreier theorem in Goursat varieties.