The Orbit-Stabilizer Theorem

How many distinct necklaces can you make from a fixed set of colored beads, up to rotation? How many ways can a Rubik's cube face turn map one configuration to another? Behind both questions lies a single structural fact about Group Actions. When a group moves a point around, the size of the resulting orbit is completely controlled. It depends on how much of the group fixes that point in place. This trade-off is between "how far a point travels" and "how much symmetry stabilizes it." It is exactly measured by cosets, via Cosets and Lagrange's Theorem. The Orbit-Stabilizer Theorem makes this trade-off precise. It exhibits a genuine bijection between the orbit of a point and the set of left cosets of its stabilizer subgroup. This is not merely an inequality or an estimate. It is an exact correspondence. When the group is finite, it yields the crisp counting formula ∣G∣=∣Orb(x)∣⋅∣Stab(x)∣|G| = |\mathrm{Orb}(x)| \cdot |\mathrm{Stab}(x)|. This single equation is the computational engine behind an enormous swath of finite group theory. The result matters because it converts geometric or combinatorial questions into arithmetic questions about divisors of ∣G∣|G|. Such questions include how many symmetric configurations exist, how many colorings up to symmetry, and how many elements are conjugate to a given one. It is the reason Sylow theory, the class equation, and Burnside's counting lemma all work. Each is a variation or consequence of comparing orbit sizes to subgroup indices. This article gives the precise definitions and states the theorem with every hypothesis explicit. It proves the theorem in full by constructing the bijection directly. It checks well-definedness, injectivity, and surjectivity. Two asymmetric worked examples follow. One is geometric (rotations of a labeled polygon), and one is algebraic (a matrix group acting on vectors). A counterexample follows these examples. It shows exactly why the group must act on a nonempty set. It also shows why "coset" cannot be replaced carelessly. The article closes by connecting the theorem to The Class Equation and Burnside counting, which the reader will meet next.

Key takeaways
  • A group action of GG on a set XX partitions XX into orbits; each orbit has an associated stabilizer subgroup.
  • The Orbit-Stabilizer Theorem gives an explicit bijection gGx↦g⋅xgG_x \mapsto g\cdot x between G/GxG/G_x (left cosets) and the orbit of xx.
  • For finite GG, this bijection forces ∣Orb(x)∣=[G:Gx]=∣G∣/∣Gx∣|\mathrm{Orb}(x)| = [G : G_x] = |G|/|G_x|, so orbit size always divides ∣G∣|G|.
  • The proof is a direct, elementary verification: well-defined, injective (using the stabilizer definition), surjective (by definition of orbit).
  • Dropping the group hypothesis (e.g. using a monoid, or an empty set) breaks the bijection; the counterexample section shows exactly where.
  • It specializes immediately to conjugation actions, giving the size of conjugacy classes — the seed of The Class Equation and later Burnside Counting.
  • Key idea: counting an orbit is the same as counting cosets of a stabilizer — geometry of motion becomes arithmetic of index.

Where this lives today

The Orbit-Stabilizer Theorem is the computational backbone of finite group theory: it underlies the proof that conjugacy classes have size dividing ∣G∣|G|, which is the starting point of The Class Equation and hence of the existence proofs in Sylow theory. In combinatorics, it is the precise counting statement that Burnside Counting (the "lemma that is not Burnside's") builds upon, used to count distinct colorings of objects (necklaces, dice faces, chemical isomers) up to a symmetry group's action. In crystallography and physical chemistry, orbit-stabilizer reasoning determines the multiplicity of atomic positions within a unit cell under a crystallographic space group, directly informing site-symmetry tables. In computer science, it appears in algorithms for computing group orders and orbit sizes efficiently (e.g. the Schreier–Sims algorithm for permutation groups, central to computational group theory software), where stabilizer chains are built recursively using exactly this orbit/index relationship. In coding theory and cryptography, symmetry groups of codes and of algebraic curves are analyzed via orbit sizes to bound the number of equivalent representations of a structure, and in physics, orbit-stabilizer underlies the classification of particle states under symmetry groups (little groups / stabilizers of momentum vectors in the representation theory of the Poincaré group).

Ask the tutor: Can you show me how Orbit-Stabilizer is used inside the proof of Cauchy's theorem on elements of prime order?

DefinitionGroup Action, Orbit, Stabilizer

Let GG be a group with identity ee, and let XX be a nonempty set. A (left) group action of GG on XX is a map

⋅:G×X→X,(g,x)↦g⋅x,\cdot : G \times X \to X, \qquad (g,x) \mapsto g\cdot x,

satisfying, for all g,h∈Gg,h \in G and all x∈Xx \in X: 1. e⋅x=xe \cdot x = x (identity acts trivially), and 2. g⋅(h⋅x)=(gh)⋅xg \cdot (h \cdot x) = (gh)\cdot x (compatibility with multiplication). Given such an action and a point x∈Xx \in X, define:

  • The orbit of xx is Orb(x)=G⋅x:={ g⋅x:g∈G }⊆X\mathrm{Orb}(x) = G\cdot x := \{\, g\cdot x : g \in G \,\} \subseteq X.
  • The stabilizer of xx is Gx:={ g∈G:g⋅x=x }⊆GG_x := \{\, g \in G : g\cdot x = x \,\} \subseteq G.

The stabilizer GxG_x is always a subgroup of GG (verified inside the proof below), so it has a well-defined set of left cosets G/Gx={ gGx:g∈G }G/G_x = \{\,gG_x : g\in G\,\}, and, when GG is finite, an index [G:Gx]=∣G∣/∣Gx∣[G:G_x] = |G|/|G_x| by Cosets and Lagrange's Theorem.

Intuition

Picture GG as a set of moves and XX as a stage of positions; acting sends a position to another position by applying a move. Fix one position xx. As gg ranges over all of GG, the point g⋅xg\cdot x sweeps out the orbit — everywhere xx can be sent. Some moves do nothing to xx at all; these form the stabilizer GxG_x, a subgroup because doing nothing then doing nothing is still doing nothing, and undoing a "do nothing" move is itself a "do nothing" move. The key insight is that two moves gg and hh send xx to the same place exactly when they differ by a stabilizing move: g⋅x=h⋅xg\cdot x = h\cdot x if and only if h−1g∈Gxh^{-1}g \in G_x, i.e. gg and hh lie in the same left coset hGxhG_x. So the orbit is not just related to the coset space G/GxG/G_x — it is the coset space, relabeled by where each coset sends xx. This is why counting an orbit reduces to counting cosets, and why ∣G∣=∣Orb(x)∣⋅∣Gx∣|G| = |\mathrm{Orb}(x)|\cdot|G_x| whenever GG is finite.

Figure
Rotations of a square act on a labeled vertex; the four rotations split into cosets of the stabilizer {e}\{e\}
G = {e, r, r², r³} acting on vertex x = 1 of a square, r = 90° rotation 1 e·x = 1 2 r·x = 2 3 r²·x = 3 4 r³·x = 4 Stabilizer G_x = {e}: each coset gG_x = {g} is a single element, matched bijectively to one orbit point. |Orb(x)| = 4 = [G : G_x] = 4 / 1 = |G| / |G_x|.
TheoremOrbit-Stabilizer Theorem

Let GG be a group acting on a nonempty set XX, and let x∈Xx \in X. Then: 1. Gx={g∈G:g⋅x=x}G_x = \{g \in G : g\cdot x = x\} is a subgroup of GG. 2. The map

φ:G/Gx⟶Orb(x),φ(gGx)=g⋅x\varphi : G/G_x \longrightarrow \mathrm{Orb}(x), \qquad \varphi(gG_x) = g\cdot x

is a well-defined bijection from the set of left cosets of GxG_x in GG onto the orbit of xx. 3. Consequently, if GG is finite, then

∣Orb(x)∣=[G:Gx]=∣G∣∣Gx∣,|\mathrm{Orb}(x)| = [G : G_x] = \frac{|G|}{|G_x|},

and in particular ∣Orb(x)∣|\mathrm{Orb}(x)| divides ∣G∣|G|.

Proof

We proceed in three steps: subgroup verification, construction of the bijection, and the finite counting consequence. The technique throughout is direct verification from the definitions (well-definedness, injectivity, surjectivity checked in turn); no result is used that is not already established.

Step 1: GxG_x is a subgroup of GG. Nonempty / contains identity. By axiom (1) of a group action, e⋅x=xe\cdot x = x, so e∈Gxe \in G_x. Closed under the operation. Suppose g,h∈Gxg,h \in G_x, so g⋅x=xg\cdot x = x and h⋅x=xh \cdot x = x. Using axiom (2) of the action,

(gh)⋅x=g⋅(h⋅x)=g⋅x=x,(gh)\cdot x = g\cdot(h\cdot x) = g\cdot x = x,

so gh∈Gxgh \in G_x. Closed under inverses. Suppose g∈Gxg \in G_x, so g⋅x=xg\cdot x = x. Apply g−1⋅(−)g^{-1}\cdot(-) to both sides using axiom (2):

g−1⋅x=g−1⋅(g⋅x)=(g−1g)⋅x=e⋅x=x,g^{-1}\cdot x = g^{-1}\cdot(g\cdot x) = (g^{-1}g)\cdot x = e\cdot x = x,

so g−1∈Gxg^{-1} \in G_x. By the subgroup criterion, Gx≤GG_x \le G. This makes the set of left cosets G/GxG/G_x well-defined, and by Cosets and Lagrange's Theorem, the cosets of GxG_x partition GG into blocks of size ∣Gx∣|G_x| (when GG is finite).

Step 2: φ\varphi is well-defined. We must check that the value φ(gGx):=g⋅x\varphi(gG_x) := g\cdot x does not depend on the choice of representative gg for the coset gGxgG_x. Suppose gGx=g′GxgG_x = g'G_x for g,g′∈Gg, g' \in G. By the standard coset criterion (a consequence of Cosets and Lagrange's Theorem), gGx=g′GxgG_x = g'G_x if and only if g−1g′∈Gxg^{-1}g' \in G_x, i.e.

(g−1g′)⋅x=x.(g^{-1}g')\cdot x = x.

Apply g⋅(−)g \cdot (-) to both sides and use axiom (2) twice:

g⋅((g−1g′)⋅x)=g⋅x⟹(g(g−1g′))⋅x=g⋅x⟹g′⋅x=g⋅x,g\cdot\big((g^{-1}g')\cdot x\big) = g\cdot x \quad\Longrightarrow\quad (g(g^{-1}g'))\cdot x = g\cdot x \quad\Longrightarrow\quad g'\cdot x = g\cdot x,

since g(g−1g′)=(gg−1)g′=eg′=g′g(g^{-1}g') = (gg^{-1})g' = eg' = g'. Hence g⋅x=g′⋅xg\cdot x = g'\cdot x, so φ(gGx)=φ(g′Gx)\varphi(gG_x) = \varphi(g'G_x): the map does not depend on the coset representative, and is therefore well-defined as a function on G/GxG/G_x.

Step 3: φ\varphi is injective. Suppose φ(gGx)=φ(g′Gx)\varphi(gG_x) = \varphi(g'G_x), i.e. g⋅x=g′⋅xg\cdot x = g'\cdot x. Apply g−1⋅(−)g^{-1}\cdot(-) to both sides:

g−1⋅(g⋅x)=g−1⋅(g′⋅x)⟹(g−1g)⋅x=(g−1g′)⋅x⟹x=(g−1g′)⋅x,g^{-1}\cdot(g\cdot x) = g^{-1}\cdot(g'\cdot x) \quad\Longrightarrow\quad (g^{-1}g)\cdot x = (g^{-1}g')\cdot x \quad\Longrightarrow\quad x = (g^{-1}g')\cdot x,

using axiom (2) and g−1g=eg^{-1}g = e together with axiom (1). This says precisely that g−1g′∈Gxg^{-1}g' \in G_x, which (by the same coset criterion cited in Step 2) means gGx=g′GxgG_x = g'G_x. Thus distinct cosets have distinct images under φ\varphi: injectivity holds.

Step 4: φ\varphi is surjective onto Orb(x)\mathrm{Orb}(x). Let y∈Orb(x)y \in \mathrm{Orb}(x). By definition of orbit, y=g⋅xy = g\cdot x for some g∈Gg \in G. Then y=φ(gGx)y = \varphi(gG_x) by definition of φ\varphi. Hence every element of Orb(x)\mathrm{Orb}(x) is hit, so φ\varphi is surjective onto Orb(x)\mathrm{Orb}(x) (note: φ\varphi's codomain was declared to be Orb(x)\mathrm{Orb}(x) exactly so that this holds — the map is surjective onto its stated codomain by the very definition of the orbit as the image of the orbit map g↦g⋅xg \mapsto g\cdot x). Combining Steps 2–4, φ:G/Gx→Orb(x)\varphi : G/G_x \to \mathrm{Orb}(x) is a well-defined bijection. This proves part (2) of the theorem.

Step 5: the counting formula. Suppose now GG is finite. Since φ\varphi is a bijection between G/GxG/G_x and Orb(x)\mathrm{Orb}(x), these two finite sets have equal cardinality:

∣Orb(x)∣=∣G/Gx∣=[G:Gx].|\mathrm{Orb}(x)| = |G/G_x| = [G:G_x].

By Cosets and Lagrange's Theorem, [G:Gx]=∣G∣/∣Gx∣[G:G_x] = |G|/|G_x|, since Gx≤GG_x \le G is a subgroup (Step 1) and Lagrange's theorem gives ∣G∣=[G:Gx]⋅∣Gx∣|G| = [G:G_x]\cdot |G_x|. Substituting,

∣Orb(x)∣=∣G∣∣Gx∣.|\mathrm{Orb}(x)| = \frac{|G|}{|G_x|}.

Since ∣Gx∣|G_x| is a positive integer dividing ∣G∣|G| (again by Lagrange), ∣Orb(x)∣|\mathrm{Orb}(x)| is an integer dividing ∣G∣|G|. ■\blacksquare

∎

Worked examples

Example 1 (geometric, asymmetric orbit): the dihedral group acting on labeled vertices of a pentagon, with a non-vertex point thrown in for contrast. Let G=D5G = D_5, the dihedral group of symmetries of a regular pentagon with vertices labeled 1,2,3,4,51,2,3,4,5 in cyclic order, so ∣G∣=10|G| = 10 (five rotations e,r,r2,r3,r4e, r, r^2, r^3, r^4 and five reflections s,sr,sr2,sr3,sr4s, sr, sr^2, sr^3, sr^4). Let X={1,2,3,4,5}X = \{1,2,3,4,5\} be the vertex set, with GG acting by permuting labels according to the geometric symmetry. Take x=1x = 1. Every vertex of a regular pentagon is symmetric to every other (the dihedral group acts transitively on vertices of a regular nn-gon), so

Orb(1)={1,2,3,4,5},∣Orb(1)∣=5.\mathrm{Orb}(1) = \{1,2,3,4,5\}, \qquad |\mathrm{Orb}(1)| = 5.

The stabilizer G1G_1 consists of symmetries fixing vertex 11. Rotations other than ee move every vertex, so no nontrivial rotation fixes 11. Among reflections, exactly one axis of a regular pentagon passes through vertex 11 and the midpoint of the opposite edge, and reflecting across it fixes vertex 11 while swapping the other four vertices in pairs. Hence

G1={e,s1},∣G1∣=2,G_1 = \{e, s_1\}, \qquad |G_1| = 2,

where s1s_1 denotes that particular reflection. Orbit-Stabilizer predicts

∣Orb(1)∣=∣G∣∣G1∣=102=5,|\mathrm{Orb}(1)| = \frac{|G|}{|G_1|} = \frac{10}{2} = 5,

which matches the direct count. Concretely, the bijection φ\varphi sends the two-element coset gG1gG_1 to the vertex g⋅1g\cdot 1; for instance the coset {r,rs1}\{r, rs_1\} maps to r⋅1=2r\cdot 1 = 2 (the vertex 11 is rotated to), and one checks rs1⋅1=r⋅(s1⋅1)=r⋅1=2rs_1 \cdot 1 = r\cdot(s_1\cdot 1) = r \cdot 1 = 2 as well, confirming both coset representatives really do send 11 to the same place, as the well-definedness argument in the proof guarantees. Now, for contrast, let YY be the set of the five diagonals of the pentagon (segments joining non-adjacent vertices), and let y0y_0 be one fixed diagonal, say the one joining vertices 11 and 33. The group still acts on YY, again transitively (any diagonal can be rotated/reflected to any other), so ∣Orb(y0)∣=5|\mathrm{Orb}(y_0)| = 5 again, but now the stabilizer is different: the reflection fixing the diagonal {1,3}\{1,3\} setwise is the reflection through vertex 22 (which swaps 1↔31 \leftrightarrow 3 and fixes 2,2, and swaps 4↔54\leftrightarrow5), together with identity — so again ∣Gy0∣=2|G_{y_0}| = 2 and 10/2=510/2 = 5. This illustrates that different actions of the same group can produce different stabilizers that nonetheless combine with orbit size to reproduce ∣G∣=10|G|=10 every time — the invariant is not the orbit or the stabilizer alone, but their product.

Example 2 (algebraic, asymmetric group and set): GL2(F3)GL_2(\mathbb{F}_3) acting on nonzero vectors of F32\mathbb{F}_3^2. Let F3={0,1,2}\mathbb{F}_3 = \{0,1,2\} be the field with three elements, and let G=GL2(F3)G = GL_2(\mathbb{F}_3), the group of invertible 2×22\times 2 matrices over F3\mathbb{F}_3. Recall

∣GL2(F3)∣=(32−1)(32−3)=8⋅6=48,|GL_2(\mathbb{F}_3)| = (3^2 - 1)(3^2 - 3) = 8 \cdot 6 = 48,

by the standard formula ∣GLn(Fq)∣=∏i=0n−1(qn−qi)|GL_n(\mathbb{F}_q)| = \prod_{i=0}^{n-1}(q^n - q^i). Let X=F32∖{0}X = \mathbb{F}_3^2 \setminus \{0\}, the eight nonzero vectors, with GG acting by matrix-vector multiplication: A⋅v=AvA\cdot v = Av. This is a genuine group action: I⋅v=vI\cdot v = v, and (AB)⋅v=(AB)v=A(Bv)=A⋅(B⋅v)(AB)\cdot v = (AB)v = A(Bv) = A\cdot(B\cdot v) by associativity of matrix multiplication. Fix x=(10)x = \binom{1}{0}. The orbit of xx is all of XX: given any nonzero v∈F32v \in \mathbb{F}_3^2, extend {v}\{v\} to a basis {v,w}\{v, w\} of F32\mathbb{F}_3^2 (possible since v≠0v \ne 0 and F32\mathbb{F}_3^2 is 22-dimensional), and let AA be the matrix with columns v,wv, w; then AA is invertible (its columns are a basis) and A⋅x=Av⋅A\cdot x = Av\cdot-th column =v= v — more precisely A(10)=vA\binom{1}{0} = v, the first column. So every nonzero vector is reachable, and

∣Orb(x)∣=∣X∣=8.|\mathrm{Orb}(x)| = |X| = 8.

By Orbit-Stabilizer, ∣Gx∣=∣G∣/∣Orb(x)∣=48/8=6|G_x| = |G|/|\mathrm{Orb}(x)| = 48/8 = 6. Let us verify this directly. GxG_x consists of invertible matrices A=(abcd)A = \begin{pmatrix} a & b \\ c& d\end{pmatrix} with A(10)=(10)A\binom{1}{0} = \binom{1}{0}, i.e. a=1,c=0a = 1, c = 0. So A=(1b0d)A = \begin{pmatrix} 1 & b \\ 0 & d \end{pmatrix} with d≠0d \ne 0 (needed for invertibility, since det⁡A=1⋅d−b⋅0=d\det A = 1\cdot d - b\cdot 0 = d) and b∈{0,1,2}b \in \{0,1,2\} arbitrary, d∈{1,2}d \in \{1,2\} (nonzero elements of F3\mathbb{F}_3). This gives 3×2=63 \times 2 = 6 matrices, exactly matching the prediction ∣Gx∣=6|G_x| = 6. The bijection φ:G/Gx→X\varphi: G/G_x \to X sends the coset of AA to the vector AxAx, i.e. to the first column of AA — and indeed two matrices have the same first column exactly when they differ by right-multiplication by an upper-triangular matrix fixing (10)\binom{1}{0}, which is precisely membership in the same left coset of GxG_x.

Counterexamplewhy the action must be on a nonempty set by a group — dropping "group" for "monoid" breaks injectivity

The theorem's proof used inverses essentially twice: once to show GxG_x is a subgroup (closure under inverses), and once in Step 3 to prove φ\varphi injective (multiplying by g−1g^{-1}). If we weaken the hypothesis from "group action" to "monoid action" — dropping the requirement that every element have an inverse — the bijection collapses. Concretely, let M=(N,×)M = (\mathbb{N}, \times) be the monoid of natural numbers under multiplication (identity 11; not a group, since 00 and most elements have no multiplicative inverse in N\mathbb{N}). Let MM act on X=NX = \mathbb{N} by m⋅x:=mxm \cdot x := mx (ordinary multiplication). This satisfies the two action axioms with ee replaced by the monoid identity 11: 1⋅x=x1\cdot x = x and m⋅(n⋅x)=(mn)⋅xm\cdot(n\cdot x) = (mn)\cdot x. Fix x=1∈Xx = 1 \in X. Define Mx:={m∈M:m⋅x=x}={m∈N:m=1}={1}M_x := \{m \in M : m\cdot x = x\} = \{m \in \mathbb{N} : m = 1\} = \{1\}, the "stabilizer." Here MxM_x happens to be a submonoid (trivially, just {1}\{1\}), so one might hope for an analogue of G/Mx↔Orb(x)G/M_x \leftrightarrow \mathrm{Orb}(x). Since Mx={1}M_x = \{1\} is trivial, the "coset space" M/MxM/M_x would naively be identified with M=NM = \mathbb{N} itself (each singleton "mMxmM_x" ={m}= \{m\}), suggesting a bijection N→Orb(1)\mathbb{N} \to \mathrm{Orb}(1) via m↦m⋅1=mm \mapsto m\cdot 1 = m. This particular case looks fine — but the failure shows up as soon as the stabilizer is not trivial, because the well-definedness and injectivity arguments genuinely require inverses. Take instead x=0∈X=Nx = 0 \in X = \mathbb{N}. Every m∈Nm \in \mathbb{N} satisfies m⋅0=0m \cdot 0 = 0, so the "stabilizer" is M0=M=NM_0 = M = \mathbb{N} itself, and the orbit is Orb(0)={0}\mathrm{Orb}(0) = \{0\}, a single point. If Orbit-Stabilizer held verbatim we would want a bijection between "M/M0M/M_0" and Orb(0)\mathrm{Orb}(0) — and indeed there is exactly one coset M0M_0 itself, matching the one orbit point 00, so this instance is consistent by accident. The real breakdown is structural, not numerical: for a monoid, "mMx=m′MxmM_x = m'M_x" cannot even be defined as an equivalence relation via a two-sided cancellation law the way cosets are for groups, because there is no guarantee that mm can be canceled from mn=mn′mn = mn' (multiplication by mm need not be injective on MM). For instance in M=(N,×)M = (\mathbb{N},\times) acting on itself by multiplication, 0⋅5=0⋅70 \cdot 5 = 0 \cdot 7 but 5≠75 \ne 7: the map "act by 00" is not injective, so the argument in Step 3 of the proof — which canceled gg by multiplying by g−1g^{-1} — has no analogue, since 00 has no inverse. Consequently there is no well-defined notion of "coset of the stabilizer" that biject with an orbit in general monoid actions, and the clean formula ∣Orb(x)∣⋅∣Stab(x)∣=∣G∣|\mathrm{Orb}(x)|\cdot|\mathrm{Stab}(x)| = |G| can fail outright once the acting structure is not a group. This is exactly why the theorem's hypothesis specifies a group action, not merely a monoid or semigroup action.

Scope, edge cases & common traps

SituationWhat happensWhy
GG infinite, XX infiniteBijection G/Gx↔Orb(x)G/G_x \leftrightarrow \mathrm{Orb}(x) still holdsSteps 1–4 of the proof use no finiteness
GG finite, XX infiniteOrbit can still be infinite? No — orbit is a quotient-like image of GG, so ∣Orb(x)∣≤∣G∣<∞|\mathrm{Orb}(x)| \le |G| < \inftyOrbit is the image of the finite set GG under g↦g⋅xg \mapsto g\cdot x
xx is a fixed point (G⋅x={x}G\cdot x = \{x\})Gx=GG_x = G, orbit size 11Formula becomes 1=∣G∣/∣G∣1 = |G|/|G|
Action is trivial (g⋅x=xg\cdot x = x for all g,xg,x)Every orbit is a singleton, every stabilizer is all of GGDegenerate but consistent instance of the theorem
Replacing "group" with "monoid/semigroup"Bijection can fail; stabilizer need not even be well-behavedSee counterexample above — inverses are essential
Confusing left and right cosetsFormula for [G:Gx][G:G_x] is unaffected (index is the same either side), but the explicit bijection gGx↦g⋅xgG_x \mapsto g\cdot x specifically needs left cosets for a left actionMixing conventions silently breaks well-definedness in Step 2

The mathematician behind it

Origins · 1 minAugustin-Louis Cauchy and how this was discovered
AC
Augustin-Louis Cauchy
1789–1857 · early group theory and permutation groups

Cauchy did not state the Orbit-Stabilizer Theorem in modern language — group actions as an abstract concept crystallized only in the late 19th and early 20th centuries — but his systematic study of permutation groups and the arithmetic of permutation cycle counting laid essential groundwork. Cauchy's theorem that a group of order divisible by a prime pp has an element of order pp is proved (in one standard modern approach) using an auxiliary group action and orbit-counting, showing how deeply the ideas behind Orbit-Stabilizer permeate even results that predate the formal definition.

History
- 1815: Cauchy publishes foundational work on permutations and substitutions, developing cycle notation and early closure arguments for what we now call permutation groups.
- 1870s–1880s: Camille Jordan and others systematize the theory of permutation groups and transitivity, implicitly using orbit-counting arguments in geometric and algebraic contexts.
- 1887: Georg Frobenius and collaborators develop character theory and representation-theoretic tools that rely on orbit and stabilizer counting for finite groups.
- Early 1900s: William Burnside's treatise Theory of Groups of Finite Order formalizes orbit-counting arguments (the lemma later popularly, if inaccurately, called "Burnside's Lemma") building directly on the Orbit-Stabilizer relationship.
- 1920s–1930s: The abstract axiomatic notion of a group action on a set is codified in the modern algebra tradition (van der Waerden's textbook synthesizing Noether's and Artin's lectures), giving Orbit-Stabilizer its now-standard formulation.
Does the Orbit-Stabilizer Theorem require GG to be finite?

No. The bijection φ:G/Gx→Orb(x)\varphi: G/G_x \to \mathrm{Orb}(x) is established purely from the group action axioms and holds for any group GG acting on any nonempty set XX, finite or infinite. Finiteness is only needed for the final numeric consequence ∣Orb(x)∣=∣G∣/∣Gx∣|\mathrm{Orb}(x)| = |G|/|G_x|, since dividing cardinalities only makes sense (as ordinary integer division) when the quantities involved are finite. For infinite groups, one still gets the bijection with cosets, and can meaningfully compare cardinalities (e.g. countable vs. uncountable orbits), but the clean quotient formula is really a statement about the finite case, powered by Cosets and Lagrange's Theorem.

Is the stabilizer always a normal subgroup?

No, not in general. The proof only shows GxG_x is a subgroup, using closure and inverses — nothing forces it to be normal. In fact different points in the same orbit have conjugate stabilizers: if y=g⋅xy = g\cdot x, one can check Gy=gGxg−1G_y = gG_xg^{-1}. If the action is transitive and some GxG_x happens to be normal, then all stabilizers coincide (since conjugates of a normal subgroup equal itself), but generically stabilizers of different orbit points are merely conjugate, not equal, and need not be normal in GG at all.

How does this theorem relate to the class equation?

The class equation applies Orbit-Stabilizer to the specific action of GG on itself by conjugation, g⋅h:=ghg−1g \cdot h := ghg^{-1}. Here the orbit of hh is its conjugacy class, and the stabilizer of hh is its centralizer CG(h)C_G(h). Orbit-Stabilizer gives ∣conjugacy class of h∣=[G:CG(h)]|\text{conjugacy class of } h| = [G : C_G(h)], and summing this over one representative per conjugacy class (separating out the center, whose elements are fixed points with singleton classes) produces the class equation ∣G∣=∣Z(G)∣+∑[G:CG(hi)]|G| = |Z(G)| + \sum [G:C_G(h_i)]. So the class equation is not a separate theorem but a direct specialization of Orbit-Stabilizer to a particular, very important action.

What's the difference between orbit-stabilizer and Burnside's counting lemma?

Orbit-Stabilizer is a statement about a single orbit: it says the size of one orbit equals the index of one stabilizer. Burnside's lemma (sometimes called the Cauchy–Frobenius lemma) is a statement about the number of orbits, and it works by averaging fixed-point counts: the number of orbits equals 1∣G∣∑g∈G∣Xg∣\frac{1}{|G|}\sum_{g\in G} |X^g|, where XgX^g is the set of points fixed by gg. Burnside's lemma is typically proved by double-counting pairs (g,x)(g,x) with g⋅x=xg\cdot x = x, and Orbit-Stabilizer is used inside that proof to relate the size of each orbit to the group order — so Burnside's lemma builds on top of Orbit-Stabilizer rather than replacing it.

Can two different points in the same orbit have different stabilizer sizes?

No, not if the group is finite — if xx and yy lie in the same orbit, their stabilizers are conjugate subgroups (as noted above, Gy=gGxg−1G_y = gG_xg^{-1} for any gg with y=g⋅xy = g\cdot x), and conjugate subgroups always have the same cardinality (conjugation by a fixed element is a group automorphism, hence a bijection Gx→GyG_x \to G_y). So all points within one orbit share a common stabilizer size, consistent with the fact that they also share the same orbit size (the whole orbit, by definition) — Orbit-Stabilizer applied to any point in the orbit gives the same equation ∣G∣=∣Orb∣⋅∣Gx∣|G|=|\mathrm{Orb}|\cdot|G_x|.

Does the theorem tell us anything if the action is not transitive?

Yes — it applies orbit-by-orbit regardless of transitivity. A non-transitive action simply partitions XX into multiple orbits Orb(x1),Orb(x2),…\mathrm{Orb}(x_1), \mathrm{Orb}(x_2), \dots, and Orbit-Stabilizer applies separately to each one, giving ∣Orb(xi)∣=∣G∣/∣Gxi∣|\mathrm{Orb}(x_i)| = |G|/|G_{x_i}| for every representative xix_i. Summing ∣X∣=∑i∣Orb(xi)∣=∑i[G:Gxi]|X| = \sum_i |\mathrm{Orb}(x_i)|= \sum_i [G:G_{x_i}] over orbit representatives recovers the total size of XX as a sum of divisors of ∣G∣|G| — this is exactly the bookkeeping device used in the class equation and in Burnside-style counting arguments.

Why is the bijection with left cosets, and does it matter if the action is a right action instead?

The specific formula φ(gGx)=g⋅x\varphi(gG_x) = g\cdot x is tailored to a left action, where the compatibility axiom is g⋅(h⋅x)=(gh)⋅xg\cdot(h\cdot x) = (gh)\cdot x; the proof's cancellation steps rely on this exact associativity direction. For a right action x⋅gx\cdot g with axiom (x⋅g)⋅h=x⋅(gh)(x\cdot g)\cdot h = x\cdot(gh), the analogous bijection is with right cosets GxgG_x g via Gxg↦x⋅gG_x g \mapsto x\cdot g, and the proof mirrors the left case with all multiplications reversed. The underlying content — orbit size equals index of stabilizer — is identical either way, since left and right cosets of the same subgroup always have equal cardinality.

Before this

Where this leads