The orbit–stabiliser theorem
Statement
Let \(G\) be a group acting on a set \(X\), let \(x \in X\), and write \(G\cdot x = \{g\cdot x : g \in G\}\) for the orbit of \(x\) and \(G_x = \{g \in G : g\cdot x = x\}\) for its stabiliser. Then \(G_x\) is a subgroup of \(G\) and the assignment \(gG_x \mapsto g\cdot x\) is a well-defined bijection from the set \(G/G_x\) of left cosets onto the orbit \(G\cdot x\); consequently \(|G\cdot x| = [G:G_x]\). If in addition \(G\) is finite, Lagrange's theorem turns this into the product formula \(|G| = |G\cdot x|\cdot|G_x|\), so every orbit size divides the order of the group.
Why it matters
Almost every counting argument in finite group theory is this one theorem wearing a different hat. It converts a question about the size of a symmetry group into two much easier questions — how many things can a point be moved to, and how many symmetries hold it still — and it does so with no computation at all. The order of the rotation group of the cube, the size of a conjugacy class, the number of Sylow \(p\)-subgroups, the index of a normaliser, the count of necklaces up to rotation: each is a single application of \(|G| = |G\cdot x|\,|G_x|\) to a well-chosen action.
Its structural content is deeper than its arithmetic content. The bijection \(G/G_x \to G\cdot x\) is not merely a numerical coincidence: it is an isomorphism of \(G\)-sets, and it says that every transitive action of \(G\) is, up to relabelling, the action of \(G\) on the cosets of some subgroup. Transitive \(G\)-sets are therefore classified by subgroups of \(G\), up to conjugacy — the discrete shadow of the Galois correspondence, and the reason group actions and subgroup lattices are two descriptions of one object. The numerical formula is the visible corner of that statement.
Hypotheses
Proof
The whole proof rests on one reversible computation, Step 2: two group elements send \(x\) to the same place exactly when they differ by something that fixes \(x\). Everything else is bookkeeping. Note that Steps 1–6 use no finiteness of any kind.
Result
Reading. The places a point can be sent to are in exact correspondence with the cosets of the symmetries that hold it fixed. Orbit size times stabiliser size rebuilds the group: how far a point moves and how tightly it is pinned are complementary halves of the same order.
Scope. The bijection and the index formula \(|G\cdot x| = [G:G_x]\) hold for any group acting on any set, with no finiteness. The product formula \(|G| = |G\cdot x|\,|G_x|\) requires \(|G| \lt \infty\). Nothing requires the action to be faithful, transitive, or free, and \(G_x\) need not be normal. Applied to conjugation it gives class sizes; applied to left translation on cosets it gives the index; applied to a geometric symmetry group it gives the order of that group.
Corollaries & converses
- Orbit sizes divide the group order. For finite \(G\), \(|G\cdot x| = [G:G_x]\) divides \(|G|\). So an action of a group of order \(12\) can have no orbit of size \(5,7,8,9,10,11\); which of the divisors \(1,2,3,4,6,12\) actually occur depends on the group, since the orbit sizes are exactly the indices of its subgroups.
- Stabilisers along an orbit are conjugate. \(G_{g\cdot x} = gG_xg^{-1}\), so all points of one orbit have stabilisers of the same order — consistent with all of them having the same orbit.
- Orbit decomposition. \(|X| = \sum_{i=1}^{r}[G:G_{x_i}]\) over orbit representatives \(x_1,\dots,x_r\); the finite set \(X\) is cut into blocks whose sizes all divide \(|G|\).
- The class equation. Taking \(X = G\) with \(g\cdot a = gag^{-1}\), orbits are conjugacy classes and \(G_a = C_G(a)\) is the centraliser, so \(|G| = |Z(G)| + \sum_{i}[G:C_G(a_i)]\), the sum running over representatives of the classes of size greater than \(1\).
- Fixed points modulo \(p\). If \(|G| = p^n\) acts on a finite \(X\), every orbit has size a power of \(p\), so \(|X| \equiv |X^G| \pmod p\) where \(X^G\) is the set of fixed points. Hence a \(p\)-group acting on a set of size coprime to \(p\) always has a fixed point — the engine of the Sylow theorems.
- Counting a symmetry group. If \(G\) acts transitively on \(X\) then \(|G| = |X|\cdot|G_x|\) for any \(x\); this is how the orders \(24\) (cube rotations), \(12\) (tetrahedron rotations) and \(60\) (dodecahedron rotations) are computed without listing a single element.
- Converse (classification of transitive actions). Every subgroup is a stabiliser: \(H \le G\) is the stabiliser of the point \(eH\) in the transitive action of \(G\) on \(G/H\). Combined with Step 8, every transitive \(G\)-set is isomorphic to some \(G/H\), and \(G/H \cong G/K\) as \(G\)-sets exactly when \(H\) and \(K\) are conjugate. So the theorem is not merely a counting identity — it is a bijection between transitive actions and conjugacy classes of subgroups.
- Burnside / Cauchy–Frobenius. Substituting \(|G_x| = |G|/|G\cdot x|\) into a double count of the pairs \((g,x)\) with \(g\cdot x = x\) gives the orbit-counting lemma \(|X/G| = \frac{1}{|G|}\sum_{g\in G}|X^g|\).
Fails without
- Compatibility axiom dropped: with \(G = \mathbb{Z}/4\) acting on \(X=\{1,2,3\}\) by \(e\cdot n = n\) and \(g\cdot n = g^2\cdot n = g^3\cdot n = \sigma(n)\), \(\sigma = (1\,2\,3)\), the “orbit” of \(1\) is \(\{1,2\}\) and the “stabiliser” is \(\{e\}\). The product is \(2\), not \(|G| = 4\), and \(\{e\}\) has index \(4\), not \(2\), so Step 6 fails as well. The diagnosis: \(g \mapsto (n \mapsto g\cdot n)\) is not a homomorphism \(G \to \operatorname{Sym}(X)\) — \(g\) acts as \(\sigma\) but \(g^2\) acts as \(\sigma\) rather than \(\sigma^2\) — and it is exactly that homomorphism property that Step 2 needs in order to be reversible.
- Identity axiom dropped: if \(e\) is not required to act trivially, the set \(\{g : g\cdot x = x\}\) may fail to contain \(e\) and is then not a subgroup at all; \([G:G_x]\) has no meaning, Lagrange cannot be invoked, and Step 7 has no content. The subgroup property of the stabiliser is a theorem about actions, not a definition.
- Finiteness of \(G\) dropped: for \(G = (\mathbb{Z},+)\) acting on \(X = \{0,1\}\) by \(n\cdot x \equiv x+n \pmod 2\), the stabiliser of \(0\) is \(2\mathbb{Z}\), which is infinite. The index form is correct and useful, \([G:G_0] = 2 = |G\cdot 0|\); the product form reads \(|\mathbb{Z}| = 2\cdot|2\mathbb{Z}|\), i.e. \(\aleph_0 = \aleph_0\), which is true and says nothing. The divisibility conclusion — that each orbit size divides \(|G|\) — has no meaning here either, since \(|G|\) is not a natural number.
- Applying it to a subset that is not an orbit: let \(G = \mathbb{Z}/3\) act on \(X = \{1,2,3\}\) by cyclic rotation. The subset \(S = \{1,2\}\) has \(|S| = 2\), and \(2 \nmid 3\). No contradiction arises because \(S\) is not an orbit — the divisibility conclusion applies to orbits only, and “\(G\)-invariant-looking” is not the same as \(G\)-invariant.
Common errors
- “All orbits have size \(|G|/|G_x|\), so they are all equal.” The formula is anchored at a specific \(x\). In the action of \(\mathbb{Z}/3\) on the \(3\) vertices and \(1\) centre of a triangle, one orbit has size \(3\) and one has size \(1\).
- “\(G_x\) is the set of \(g\) with \(g\cdot S = S\).” Confusing the pointwise stabiliser of a point with the setwise stabiliser of a subset. For the cube rotations acting on faces, the stabiliser of one face has order \(4\); the setwise stabiliser of a pair of opposite faces has order \(8\), and only the former is what the theorem uses on \(X = \{\text{faces}\}\).
- “\(G/G_x\) is a quotient group, so \(|G\cdot x|\) is a group order.” \(G/G_x\) is a coset space with a \(G\)-action; it carries a group structure only when \(G_x \trianglelefteq G\). The centraliser of a non-central element is almost never normal.
- “Every divisor of \(|G|\) occurs as an orbit size.” The theorem gives a necessary condition, not a sufficient one. No action of \(A_4\) on any set whatsoever has an orbit of size \(2\), even though \(2 \mid 12\): an orbit of size \(2\) would force a stabiliser of index \(2\), that is a subgroup of order \(6\), and \(A_4\) has none. Orbit sizes are exactly the indices of subgroups, so the realisable sizes for \(A_4\) are \(1,3,4,6,12\).
- “For a right action the same formula gives left cosets.” A right action \(x\cdot g\) produces the bijection \(G_xg \mapsto x\cdot g\) onto the orbit, i.e. right cosets. The index and the counting formula are unchanged, but writing \(gG_x\) for a right action mismatches the fibres and breaks well-definedness.
- Counting \(|G|\) as the order of an ambient group. When \(G\) is a subgroup of \(S_n\), using \(n!\) instead of \(|G|\) in \(|G\cdot x| = |G|/|G_x|\) inflates every orbit. The theorem is about the group that is acting, not the group it sits inside.
Discussion
The proof is a single idea — group the elements of \(G\) by where they send \(x\) — and the entire theorem is the observation that the fibres of the map \(g \mapsto g\cdot x\) are exactly the left cosets of \(G_x\). Seen this way, the orbit–stabiliser theorem is the first isomorphism theorem for \(G\)-sets: a map out of \(G\) factors through the quotient by the equivalence relation it induces, and the quotient here is \(G/G_x\). The parallel is exact, and it is worth carrying: in both cases the content is that a surjection is determined by its fibres, and that its fibres are the translates of the fibre over the basepoint.
The relationship with Lagrange's theorem is often stated loosely as “orbit–stabiliser generalises Lagrange”. What is true is more interesting than that. The index form \(|G\cdot x| = [G:G_x]\) is logically independent of Lagrange: it is proved above without any counting, and it holds for infinite groups. Lagrange enters only in Step 7, to convert an index into a quotient of orders. Conversely, Lagrange's own coset-partition argument is the special case of Step 2 for the action of \(G\) on \(G/H\) by left translation, where the stabiliser of the basepoint \(eH\) is \(H\) itself. The two theorems are the same computation performed for two purposes: Lagrange to count, orbit–stabiliser to identify.
In practice the theorem is used in one of two directions, and it is worth being deliberate about which. Forwards, one knows the group and wants an orbit: the class equation, the count of Sylow subgroups \(n_p = [G:N_G(P)]\), the number of conjugates of a subgroup. Backwards, one knows the orbit and wants the group: the order of the rotation group of a polyhedron, of the automorphism group of a graph, of a symmetry group acting on a configuration space. The backwards direction is the more striking, because a transitive action on a visible set of \(n\) objects plus a stabiliser one can see by inspection produces the order of a group nobody has enumerated.
The classification implicit in Step 8 — transitive \(G\)-sets up to isomorphism correspond to conjugacy classes of subgroups — is the finite, discrete model of the Galois correspondence, and it is the reason the same diagram appears in covering-space theory: for a reasonable connected space with fundamental group \(\pi\), connected covering spaces correspond to conjugacy classes of subgroups of \(\pi\), with the fibre over the basepoint playing the role of the orbit and the subgroup playing the role of the stabiliser. In each setting, the deck group, the Galois group, or the acting group \(G\) is recovered from the “space” \(G/H\) plus a basepoint, and forgetting the basepoint is exactly what replaces \(H\) by its conjugacy class. The orbit–stabiliser theorem is the elementary instance from which the pattern is best learned.
Common misconceptions. First, that the theorem describes \(X\); it describes one orbit, and \(X\) enters only through the decomposition of Step 9. Second, that a large stabiliser means a large orbit: the relation is inverse, and a point fixed by everything has an orbit of size \(1\). Third, that the bijection \(\Phi\) depends on choices — it does not: once \(x\) is fixed, \(\Phi\) is canonical, and the only choice in the whole theorem is the basepoint \(x\), which is precisely what conjugating the stabiliser accounts for.
Worked examples
Example 1. Find the order of the rotation group \(G\) of a cube (the group of rotations of \(\mathbb{R}^3\) carrying the cube to itself), and confirm it by three independent applications of the theorem.
Reading. The rotation group of the cube has order \(24\); no element of it was ever written down. Each factorisation is the same group order split according to which feature of the cube is held fixed.
Example 2. In \(S_5\) (order \(120\)) compute the size of the conjugacy class of a \(5\)-cycle, of a transposition and of a product of two disjoint transpositions, and verify the class equation.
Reading. Every conjugacy class size in \(S_5\) is \(120\) divided by a centraliser order, hence a divisor of \(120\); the seven class sizes sum to the group order, which is the class equation and a complete arithmetic audit of the computation.
Problems
- The dihedral group \(D\) of the regular hexagon has order \(12\) and acts on the \(6\) vertices. Compute the stabiliser of a vertex and verify the theorem; then repeat with the action on the \(6\) edges.
Solution
The action on vertices is transitive: the rotation by \(60^\circ\) carries any vertex to any other, so \(|D\cdot v| = 6\). The stabiliser of a vertex \(v\) consists of the identity together with the reflection in the long diagonal through \(v\) and the opposite vertex; a rotation other than the identity moves every vertex, and a reflection fixes \(v\) only if its axis passes through \(v\). Hence \(|D_v| = 2\) and \(|D| = 6\times 2 = 12\), as required.
For the \(6\) edges: the action is again transitive (rotation by \(60^\circ\) cycles the edges), so the orbit has size \(6\). The stabiliser of an edge \(e\) is the identity together with the reflection in the perpendicular bisector of \(e\) — which is the line through the midpoints of \(e\) and the opposite edge — so \(|D_e| = 2\) and \(6\times 2 = 12\). Note that this reflection fixes \(e\) as a set while swapping its two endpoints: the stabiliser of the edge as a point of \(X = \{\text{edges}\}\) is not the pointwise stabiliser of its endpoints, which is trivial.
- Use the theorem three ways to compute the order of the rotation group \(G\) of a regular dodecahedron (\(12\) pentagonal faces, \(20\) vertices, \(30\) edges).
Solution
Faces: the action is transitive on the \(12\) faces, and the stabiliser of a face is the group of rotations about the axis through its centre and the centre of the opposite face, by \(0^\circ, 72^\circ, 144^\circ, 216^\circ, 288^\circ\) — cyclic of order \(5\). So \(|G| = 12\times 5 = 60\).
Vertices: three faces meet at each vertex, so the stabiliser of a vertex is the cyclic group of order \(3\) generated by the \(120^\circ\) rotation about the axis through that vertex and the antipodal one; the action is transitive on the \(20\) vertices, giving \(|G| = 20\times 3 = 60\).
Edges: the stabiliser of an edge is \(\{\text{identity},\ 180^\circ\text{ rotation about the axis through the midpoints of that edge and the opposite edge}\}\), of order \(2\); transitivity on the \(30\) edges gives \(|G| = 30\times 2 = 60\).
All three agree: \(|G| = 60\) rotations. (Consistently, \(60 = 12\cdot 5 = 20\cdot 3 = 30\cdot 2\), and each stabiliser order divides \(60\).)
- The \(6\) faces of a cube are painted with \(6\) different colours, one colour per face. How many distinct painted cubes are there, if two are the same when one can be rotated into the other?
Solution
Let \(X\) be the set of assignments of the \(6\) colours to the \(6\) faces, so \(|X| = 6! = 720\), and let \(G\) be the rotation group of the cube, \(|G| = 24\) by Example 1. \(G\) acts on \(X\) by permuting the faces a colouring is written on.
Claim: the action is free, i.e. \(G_\chi = \{e\}\) for every \(\chi \in X\). If \(g \neq e\) then \(g\) moves some face \(F\) to a different face \(F' \neq F\); since all six colours are distinct, \(\chi(F') \neq \chi(F)\), so \(g\cdot\chi \neq \chi\). Hence only the identity stabilises any colouring.
By the theorem, every orbit has size \(|G\cdot\chi| = |G|/|G_\chi| = 24/1 = 24\). The orbits partition \(X\) (Step 9), so the number of orbits is
\[ \frac{|X|}{24} = \frac{720}{24} = 30. \]
There are \(30\) distinct painted cubes. (Equivalently: fixing the colour of the bottom face costs a factor \(6\), leaving \(120\) arrangements of the other five, of which the \(4\) rotations about the vertical axis identify groups of four, giving \(720/6 = 120\) and then \(120/4 = 30\) — the same number by a different bookkeeping.)
- In \(S_6\) (order \(720\)) determine the order of the centraliser of \(\tau = (1\,2)(3\,4)\), and identify the centraliser explicitly.
Solution
Cycle type is a complete conjugacy invariant in \(S_n\), so the conjugacy class of \(\tau\) is the set of all elements of cycle type \(2^21^2\). Their number is
\[ \frac{6!}{(2^2\cdot 2!)\cdot(1^2\cdot 2!)} = \frac{720}{8\cdot 2} = 45. \]
(The denominator is the standard cycle-type count: \(2^2\) for the two ways of writing each \(2\)-cycle, \(2!\) for the order of the two \(2\)-cycles, and \(1^2\cdot 2!\) for the two fixed points.)
By the theorem applied to conjugation, \(|\operatorname{ccl}(\tau)| = [S_6 : C_{S_6}(\tau)]\), so
\[ |C_{S_6}(\tau)| = \frac{|S_6|}{|\operatorname{ccl}(\tau)|} = \frac{720}{45} = 16. \]
Explicitly, a permutation commutes with \(\tau\) exactly when it permutes the two \(2\)-cycles \(\{1,2\}, \{3,4\}\) among themselves (possibly swapping them) and permutes the fixed points \(\{5,6\}\) arbitrarily. That group is \(\bigl(\langle(1\,2)\rangle\times\langle(3\,4)\rangle\bigr)\rtimes\langle(1\,3)(2\,4)\rangle\) acting on \(\{1,2,3,4\}\), of order \(4\times 2 = 8\), times \(S_{\{5,6\}}\) of order \(2\): total \(8\times 2 = 16\), confirming the count. Note \(16 \mid 720\) and \(45 \mid 720\), as the theorem requires.
- Let \(G\) be a finite \(p\)-group, \(|G| = p^n\), acting on a finite set \(X\), and let \(X^G = \{x \in X : g\cdot x = x \text{ for all } g\}\). Prove \(|X| \equiv |X^G| \pmod p\). Deduce what can be said when \(|G| = 27\) acts on a set of \(25\) elements.
Solution
By the theorem, every orbit satisfies \(|G\cdot x| = [G:G_x]\), which divides \(|G| = p^n\); hence every orbit size is a power of \(p\), say \(p^{k}\) with \(0 \le k \le n\). An orbit has size \(p^0 = 1\) exactly when \(g\cdot x = x\) for all \(g\), i.e. exactly when \(x \in X^G\); every other orbit has size \(p^k\) with \(k \ge 1\) and is therefore divisible by \(p\).
Splitting the orbit decomposition of Step 9 into the singleton orbits and the rest,
\[ |X| = |X^G| + \sum_{i} [G:G_{x_i}], \]
the sum running over representatives of the orbits of size greater than \(1\). Each summand is divisible by \(p\), so reducing modulo \(p\) gives \(|X| \equiv |X^G| \pmod p\).
With \(|G| = 27 = 3^3\) and \(|X| = 25\): \(p = 3\) and \(25 \equiv 1 \pmod 3\), so \(|X^G| \equiv 1 \pmod 3\). In particular \(|X^G| \neq 0\), so the action has at least one fixed point, and the possible values are \(|X^G| \in \{1,4,7,10,13,16,19,22,25\}\). The non-fixed points fall into orbits of size \(3\), \(9\) or \(27\); since \(27 \gt 25\), only sizes \(3\) and \(9\) can actually occur, so \(25 - |X^G|\) must be expressible as a sum of \(3\)s and \(9\)s — which is any multiple of \(3\) up to \(24\), so no further restriction arises. If instead \(|X| = 24\), then \(24 \equiv 0 \pmod 3\) and no fixed point is guaranteed: let \(G = \mathbb{Z}/27\) act by translation on the \(3\) cosets of its subgroup of order \(9\) — a transitive action with \(X^G = \varnothing\) — and take \(8\) disjoint copies of that \(3\)-element \(G\)-set to obtain an action on \(24\) points with no fixed point at all.