Sylow Theorems

\(\newcommand{\ZZ}{\Bbb Z} \DeclareMathOperator{\Stab}{Stab} \DeclareMathOperator{\Fix}{Fix} \DeclareMathOperator{\Aut}{Aut} \DeclareMathOperator{\sgn}{sgn}\)

In group theory, the Sylow theorems are a triplet of theorems that pin down a suprising amount of information about certain subgroups.

Lagrange’s theorem tells us that if \(H\) is a subgroup of \(G\), then the size of \(H\) divides the size of \(G\). The Sylow theorems give us some answers to the converse question: for what divisors of \(|G|\) can we find a subgroup of that size?

For a group \(G\), and a prime \(p\), and \(n\) be the largest integer such that \(p^n\) divides \(|G|\). A \(p\)-subgroup of \(G\) is a subgroup of order \(p^k\), and if it has order \(p^n\), then it is called a Sylow \(p\)-subgroup. Under these definitions, the Sylow theorems are:

Sylow Theorems
  1. Every \(p\)-subgroup is contained in a Sylow \(p\)-subgroup. As such, Sylow \(p\)-subgroups exist.
  2. All Sylow \(p\)-subgroups are conjugate to each other.
  3. Let \(n_p\) be the number of Sylow \(p\)-subgroups, and \(m = |G|/p^n\). Then the following hold:
    • \(n_p\) divides \(m\)
    • \(n_p \equiv 1 \bmod p\)
    • \(n_p = [G : N(P)]\), where \(N(P)\) is the normalizer of any Sylow \(p\)-subgroup.

These are rather technical and deserve some more thorough digestion. Sylow 1 tells us that maximal \(p\)-subgroups are as big as possible; there is no obstruction preventing them from being the full \(p^n\).

Sylow 2 tells us that all Sylow \(p\)-subgroups are isomorphic in a very strong way; there is a conjugation of the group sending them to each other. To see how this is a strong criterion, consider a non-example. Let \(G = \ZZ_4 \times \ZZ_2\), and pick out the subgroups \(H_1 = \{ (0, 0), (2, 0) \}\) and \(H_2 = \{ (0, 0), (0, 1) \}\). It’s clear that \(H_1\) and \(H_2\) are isomorphic, but they are not conjugate. This manifests in \(G/H_1 = \ZZ_2 \times \ZZ_2\) and \(G/H_2 = \ZZ_4\) not being isomorphic.

Sylow 3 is the easiest to understand; it just puts some arithmetic criteria on \(n_p\). For small-ish groups, this is often enough to nail down \(n_p\) exactly!

On to the proofs!


First let’s establish a lemma we’ll use frequently.


If \(G\) is a \(p\)-group, and it acts on a set \(X\), then \(|X| \equiv |\Fix(X)| \bmod p\), where \(\Fix(X)\) is the set of points in \(X\) that are fixed by every \(g \in G\).

Proof: Let \(x_1, \ldots, x_k\) be representatives for the \(G\)-orbits of \(X\). We know that the sum of the sizes of the orbits is \(|X|\). If \(x_i\) is a fixed point, then the orbit is of size \(1\). If it is not, then by orbit-stabilizer, the size of the orbit is \([G : \Stab(x_i)]\), which is divisible by \(p\). Thus, mod \(p\), every fixed point contributes \(1\), and everything else in \(X\) contributes \(0\).

Sylow 1

Given a \(p\)-subgroup \(H\), we show that, if it is not already maximal, we can find a \(p\)-subgroup \(H' \supset H\) that is \(p\) times bigger. Repeating this process gives us a Sylow \(p\)-subgroup containing our original \(H\). Since the trivial subgroup is a \(p\)-subgroup, this also establishes the existence of Sylow \(p\)-subgroups!

Let \(H\) be a \(p\)-group that is not maximal, i.e., it has order \(p^i\), where \(i < n\). There is a natural action of \(H\) on the left coset space \(G/H\), and since \(H\) is a \(p\)-group, our lemma tells us that \(|G/H|\) is equivalent to the number of fixed points mod \(p\). But since \(i < n\), \(G/H\) has order divisible by \(p\). So the number of fixed points of this action is also divisible by \(p\).

What do fixed points of this action look like? If \(gH\) is a coset fixed by \(h \in H\), then \(hgH = gH\), i.e., \(g^{-1} h g \in H\). If this is true for all \(h\), then \(g\) lies in the normalizer of \(H\). The converse is also true, since these implications were all reversible. This means that \(N(H)\) is composed of the cosets of \(H\) that are fixed points.

Combining the two observations above, we conclude that \([N(H) : H]\) is divisible by \(p\). Therefore, by Cauchy’s theorem, there’s some subgroup of order \(p\) in \(N(H)/H\). Lifting this subgroup to \(N(H)\), we get a subgroup of size \(p \cdot |H| = p^{i+1}\). This is the \(H'\) we were looking for.

Sylow 2

Let \(P\) and \(Q\) be two Sylow \(p\)-subgroups of \(G\). We want to show they are conjugate.

There is a natural action of \(P\) on \(G\) by multiplication, and this descends to an action of \(P\) on \(G/Q\) (again, left coset space). From our lemma, the number of fixed points of this action is equivalent to \(|G/Q|\), mod \(p\). But since \(Q\) is a Sylow \(p\)-subgroup, \(|G/Q|\) is not divisible by \(p\). This means that the number of fixed points cannot be zero; i.e., there is at least one fixed point for this action. This is some \(gQ\) such that \(pgQ = gQ\) for all \(p \in P\). Or, rearranging the terms, a \(g\) such that \(g^{-1}pg \in Q\) for all \(p \in P\). Since \(P\) and \(Q\) are the same size, being Sylow \(p\)-subgroups, this means that \(g^{-1}Pg = Q\), and so they are indeed conjugate.

Sylow 3

Let \(P\) be a particular Sylow \(p\)-subgroup, and let it act on the set of all Sylow \(p\)-subgroups by conjugation. We claim that \(P\) is the only fixed point of this action. This would, by our lemma (we’re getting so much mileage out of this baby), instantly tell us that \(n_p \equiv 1 \bmod p\).

Consider some fixed point \(Q\). Then for any \(p \in P\), \(p^{-1}Qp = Q\), which means that \(P\) lies in the normalizer of \(Q\). Since both \(P\) and \(Q\) are Sylow \(p\)-subgroups of \(G\), they are both Sylow \(p\)-subgroups of \(N(Q)\). By Sylow 2, they must be conjugate, but since \(Q\) is normal in \(N(Q)\), it’s not going anywhere under conjugation. Thus \(Q\) must equal \(P\).

Next, we show that \(n_p = [G : N(P)]\). Consider the action of \(G\) by conjugation on the set of Sylow \(p\)-subgroups. There’s only one orbit, because of Sylow 2, and by orbit-stabilizer, it has size \([G : \Stab(P)]\). But the stabilizer of \(P\) is just the normalizer, so \(n_p = [G : N(P)]\), as desired.

Lastly, since \(m = [G : P] = [G : N(P)] [N(P) : P]\), we get that \(n_p\) divides \(m\) for free.


Cool! These are nice theorems, how do we put them to use? Let’s look at some example applications.

Show that \(\ZZ_{35}\) is the only group of size \(35\).

Let \(G\) be a group of size \(35\). We’ll consider its Sylow \(5\) and \(7\)-subgroups. By Sylow 3, we know that \(n_5 \equiv 1 \bmod 5\), and divides \(7\). This means it’s gotta be \(1\), which means \(G\) has a normal subgroup of size \(5\). Likewise, \(n_7 \equiv 1 \bmod 7\), and divides \(5\), so \(G\) has a normal subgroup of size \(7\) as well. They intersect trivially, since their sizes are relatively prime, so \(G\) is a direct product of these groups. Therefore, \(G \cong \ZZ_5 \times \ZZ_7\), which is \(\ZZ_{35}\).

Classify all groups of order \(105\).

Let \(G\) be a group of order \(105\). First, we show that it has normal Sylow \(5\)- and \(7\)-subgroups. Sylow 3 restricts \(n_5 = 1,21\) and \(n_7 = 1,15\).

If \(n_5 = 1\), then there’s a unique Sylow \(5\)-subgroup \(N_5\). Picking out some Sylow \(7\)-subgroup \(P_7\), we get a subgroup \(H = N_5 P_7\) of size \(35\) (the normality of \(N_5\) is necessary for this to be a subgroup). But from our previous exercise, we know that this must be isomorphic to \(\ZZ_{35}\). Since it’s abelian, \(P_7\) must of course be normal in \(H\). This means that the normalizer \(N(P_7) \supseteq H\). Since \(n_7 = [G : N(P_7)] \le [G : H] = 3\), we are forced to conclude that \(n_7 = 1\) as well.

Likewise, if \(n_7 = 1\), we can construct a subgroup \(H = P_5 N_7\) isomorphic to \(\ZZ_{35}\), in which \(P_5\) is normal. The index of \(H\) here is \(7\), and this also pins down \(n_5 = 1\).

If neither of these are \(1\), then we run out of elements. Each of these subgroups intersects trivially (because they have prime order), and so we would have \(20 \cdot 4\) non-identity elements from the Sylow \(5\)-subgroups, and \(15 \cdot 6\) non-identity elements from the Sylow \(7\)-subgroups. Adding in the identity, this is a total of \(171\) elements, way too many.

So \(G\) has normal Sylow \(5\)- and \(7\)-subgroups, and their product is a subgroup \(H\) or size \(35\). As the product of normal subgroups, it is itself normal. Cauchy’s theorem gives us an element \(x\) of order \(3\), and it generates a subgroup \(K\). Since \(H\) and \(K\) intersect trivially, \(HK\) is the whole group, and so \(G\) is a semidirect product of \(H\) and \(K\).

What options do we have for our twisting homomorphism \(\phi : K \to \Aut(H)\)? All we have to do is specify \(\phi(x)\), and all we need is that \(\phi(x)^3\) is the identity.

The automorphisms of \(\ZZ_n\) are those given by multiplying by some \(a\) relatively prime to \(n\). As such, the automorphisms of \(\ZZ_{35}\) with degree dividing \(3\) are \((r \mapsto ar)\), where \(a^3 \equiv 1 \bmod 35\). The only such solutions are \(1, 11, 16\).

If \(a = 1\), then this is the trivial automorphism, and so \(G \cong \ZZ_3 \times \ZZ_{35} \cong \ZZ_{105}\).

It turns out that the groups for \(a = 11\) and \(a = 16\) are isomorphic, but I can’t figure out a clean way to show it at the moment. Stay tuned.

Show \(A_5\) is the smallest non-abelian simple group.

To prove this, we need to eliminate the possibility of a simple non-abelian group of any smaller size. First, we can eliminate primes; any group of size \(p\) is cyclic, hence abelian.

We can also eliminate prime powers. Any group of prime power order has a non-trivial center, so it cannot be simple.

Next, we eliminate anything that is \(2\) mod \(4\). Such a number is equal to \(2m\) with \(m\) odd. If \(G\) is a group of size \(2m\), let \(G\) act on itself by multiplication. This gives us a map \(\phi : G \to S_{2m}\) sending \(g\) to the permutation it induces. By Cauchy’s theorem, there’s an element of order \(2\). This induces a product of \(m\) transpositions, and thus an odd permutation. So the map \(\sgn \circ \phi : G \to \{ \pm 1 \}\) is surjective, and so its kernel is a non-trivial proper subgroup of \(G\). (Unless \(G\) has order \(2\), but we already handled that case.)

Our last big sweep will be to eliminate groups of size \(p^k m\) with \(m < p\). Since \(n_p\) divides \(m\), we have \(n_p \le m < p\). But \(n_p\) is \(1\) mod \(p\), and so must be \(1\). If there is a single Sylow \(p\)-subgroup, it must be normal. This eliminates 15, 20, 21, 28, 33, 35, 39, 44, 51, 52, 55, and 57.

This leaves us with 12, 24, 36, 40, 45, 48, and 56.

\(|G|=40\): From the congruence conditions, we know that \(n_5\) is \(1\) mod \(5\) and divides \(8\). But this forces it to be \(1\), so there is a unique Sylow \(5\)-subgroup.

\(|G|=45\): Similar to \(|G|=40\), the arithmetic restrictions force \(n_5\) to be \(1\).

\(|G| = 12\): We know that \(n_3\) is either \(1\) or \(4\). If it’s not \(1\), there’s \(4\) Sylow \(3\)-subgroups, and because they have prime order, they intersect trivially. This gives \(8\) elements of order \(3\), leaving \(4\) other elements to constitute the Sylow \(2\)-subgroups. But each Sylow \(2\)-subgroup has \(4\) elements, and so there is a unique (hence normal) one.

\(|G| = 56\): Similar to the case for \(12\). If \(n_7\) is not \(1\), it is \(8\), yielding \(48\) elements of order \(7\). The leftover \(8\) elements form the unique Sylow \(2\)-subgroup.

For the other three cases we need some stronger stuff.

Claim: if \(G\) is simple and non-abelian, then for all \(p\) dividing \(|G|\), we must have \(|G|\) divides \(n_p!\).

Proof: Let \(G\) act on the Sylow \(p\)-subgroups by conjugation. Because there are \(n_p\) of them, this gives us a homomorphism \(\phi : G \to S_{n_p}\). Since \(G\) is simple, \(\ker \phi\) is either trivial or all of \(G\). Because all Sylow \(p\)-subgroups are conjugate, the latter situation only occurs when there is only one of them, something impossible if \(G\) is simple and non-abelian.

This leaves us with the former case, where the kernel is trivial, and thus \(\phi\) is an injection. Identifying \(G\) as a subgroup of \(S_{n_p}\), we get that \(|G|\) divides \(n_p!\) as promised.

We can now eliminate the last cases.

\(|G|=24\): We know that \(n_2\) is either \(1\) or \(3\), by the usual congruence conditions. But now we have a new tool. If \(G\) were simple, then \(24\) would divide \(n_2!\), which it can’t in either case. So \(G\) can’t be simple.

\(|G|=36\): We know \(n_3\) is \(1\) or \(4\). If \(G\) is simple, then \(36\) would divide \(n_3!\), which it can’t.

\(|G|=48\): Identical to the case for \(24\).


This was a lot of work. Back when I was in high school, we had to prove this without the Sylow theorems, and by god we appreciated them. Get off my lawn!

(But actually though, that was an… experience.)