Sperner’s Lemma - Combinatorial Proof

discrete math
combinatorics
triangles
coloring
combinatorial proof
Author

Apurva Nakade

Published

May 16, 2025

This picture is a combinatorial proof of Sperner’s Lemma.

Imagine each small triangle as a room with three walls. Treat each RG edge as a door. Here’s what we observe:

  1. RGB triangles have exactly one door.
  2. RRG and RGG triangles have two doors.
  3. All other triangles have no doors.

(In the plot above, RRG/RGG triangles are shaded a much fainter gold than in the diagram below, so the rainbow triangles stay the visual focus; every other non-rainbow triangle is left unfilled. Mixed-color edges still get a colored line, the same convention used on the other Sperner’s lemma pages.)

In other words, we can identify RGB triangles as the rooms with an odd number of doors. Sperner’s Lemma, then, can be restated in a more visual way: If Sperner’s condition holds, there is at least one room with an odd number of doors. We’ll prove a related version of this statement.

Following the Doors

Picture all the possible paths that can be formed by stepping through these RG doors — the black lines in the diagram represent all of these paths.

  • The yellow triangles have paths that enter through one door and exit through another — like hallways.
  • The RGB triangles have only one door, so they are endpoints — there’s no way to pass through.

Using simple logic, we can deduce the following:

  1. No two paths intersect.
  2. Some paths form closed loops.
  3. Paths that do not form loops must have two endpoints, so the total number of endpoints is even.
  4. The only possible endpoints are:
    1. An RG door on the outer boundary of the big triangle
    2. An RGB triangle.

Putting this all together gives us a key result:

NoteTheorem: Doors plus RGB triangles is even

The sum of the number of RG boundary edges, and the number of RGB triangles must be even.

From this, we immediately get:

NoteTheorem: RGB triangles share parity with the boundary

The number of RGB triangles is odd if and only if the number of RG edges on the boundary is odd.

So to conclude the proof, all that remains is to show:

NoteConjecture: Odd number of RG boundary edges

The number of RG boundary edges is odd.

Sperner’s condition implies that the only RG boundary edges must appear on the bottom edge (the edge running from the red vertex to the green vertex — the blue vertex can’t be an endpoint of an RG edge), which reduces the problem to the following.

NoteConjecture: Odd number of RG edges on the bottom

The number of RG boundary edges on the bottom edge is odd.

This has a short, elegant proof — but it’s also easy to think you’ve proven it when you haven’t, so rather than writing it out, here it is as a genuine exercise. Try each step before opening the next.

TipExercise

Prove the conjecture above: the bottom edge is a sequence of points colored red or green, starting red and ending green (by Sperner’s condition, no blue is possible there). Call the sequence of colors \(x_0, x_1, \dots, x_M\), read left to right.

  1. Encode each color as a number: \(x_i = 0\) if the \(i\)-th point is red, \(x_i = 1\) if it’s green. What are \(x_0\) and \(x_M\)?
  2. An RG edge is an index \(i\) with \(x_i \neq x_{i+1}\). Write the total number of RG edges as a sum involving the \(x_i\) — without an absolute value or a case split. (Consider working modulo 2.)
  3. Combine steps 1 and 2 to conclude the number of RG edges is odd.

Try it below: click Regenerate colors a few times and check that the count is always odd, no matter how the interior points are colored.

Questions

  • Design an app for visualizing this proof for any triangulation of a triangle, not just uniform subdivisions. How would you generate random triangulations? How would you efficiently loop through all the triangles?

  • This proof generalizes to an \(n\)-simplex for any \(n\). For \(n=1\), we recover the case of a line segment. For \(n=2\), we have Sperner’s lemma. What is the statement for \(n=3\)? How would you visualize it?

    • For \(n=2\), the case of a line segment can be thought of as an intermediate value theorem: if a continuous function \(f\) has \(f(a) < 0\) and \(f(b) > 0\), then there is a point \(c \in (a, b)\) with \(f(c) = 0\). Do you see it? What is the analogous statement for \(n=3\)?