Whitney’s Theorem
Let G = (V, E) be an n–vertex graph with vertex set V and edge set E. As you
have seen in class, the PIE gives an expression for the chromatic polynomial
of G:
X
PG (k) =
(−1)|S| k C(S) ,
(1)
S⊆E
where C(S) is the number of components of (V, S), the graph with vertex set V
and edge set S. In the case that G is a tree, note, (V, S) will be a forest1
with C(S) = (n − |S|) components. This allows a considerable simplification
of (1). For a tree T ,
X
PT (k) =
(−1)|S| k C(S)
(2)
S⊆E
=
X
(−1)|S| k n−|S|
(3)
S⊆E
=
n−1
X
t=0
X
(−1)t k n−t
S⊆E
|S|=t
n−1
X
n−1
PT (k) =
(−1)t k n−t
t
t=0
n−1
X n − 1
= k
(−1)t k (n−1)−t
t
t=0
(4)
= k(k − 1)n−1 .
Exercise 1. Show that equation (4) may be restated as follows.
Let T be a tree. If you write the chromatic polynomial of T with
decreasing powers of k and alternating signs,
PT (k) = k n − a1 k n−1 + a2 k n−2 − · · · ,
then at is the number of t–element subsets of E.
For an arbitrary simple graph G, since there is no straightforward relationship
between |S| and C(S), the step from (2) to (3) is not possible; and you would
expect the matter to end there. But it doesn’t. In 1931, Hassler Whitney
proved the remarkable theorem below, which shows that a version of this step
is possible for any graph whatsoever. The main trick is to arrange the terms in
sum (2) so that most of them cancel out and the remaining uncancelled ones
correspond to forests. The upshot is a theorem that is very similar in form to
Exercise 1.
1 Recall
that a forest is an acyclic simple graph.
1
Let me set the stage. Given a simple graph G = (V, E), number the edges
of G with the numbers 1, 2, . . . , |E|. (It does not matter which edge gets which
number.) Then, for each cycle C of G (given as the set of edges that make up C),
remove the highest-numbered edge from this set. The resulting set is denoted
C and is called a broken circuit. I can now state Whitney’s Theorem.
Theorem 1 (Whitney) If you write the chromatic polynomial of G with decreasing powers of k and alternating signs,
PG (k) = k n − a1 k n−1 + a2 k n−2 − · · · ,
then at is the number of subsets S of E such that |S| = t and such that S
contains no broken circuit.
Proof. Let G have r cycles. The strategy will be to construct a sequence
(W1 , W2 , . . . , Wr , Wr+1 ),
(5)
where each term in the sequence is a collection of sets of edges,2 that satisfies
conditions (a) (b) and (c) below.
(a): Each set of edges is in exactly one of the collections {Wi : 1 ≤ i ≤ (r + 1)}.
X
(b): For 1 ≤ i ≤ r,
(−1)|S| k C(S) = 0.
S∈Wi
(c): For every S ∈ Wr+1 , (V, S) is a forest, so that C(S) = n − |S|.
Once we have found a sequence like this, we can make a transition like that
from (2) to (3):
X
PG (k) =
(−1)|S| k C(S)
S⊆E
(by (a))
=
X
(−1)|S| k C(S) + · · · +
S∈W1
(by (b))
=
X
(−1)|S| k C(S) +
S∈Wr
0 + 0 + ··· + 0 +
X
X
(−1)|S| k C(S)
S∈Wr+1
|S| C(S)
(−1)
k
S∈Wr+1
(by (c))
=
X
(−1)|S| k n−|S| .
(6)
S∈Wr+1
Now we can proceed as we did in the tree case: gathering terms by set size in (6)
gives
PG (k) = k n − a1 k n−1 + a2 k n−2 − · · · ,
(7)
where, for t = 1, 2, · · ·, at is the number of t–element sets S ∈ Wr+1 .
The Sequence. I will use the broken circuits to construct the sequence (5)
that enables the above computation. Let {C1 , . . . , Cr } be the the collection of
2 That
is, for each 1 ≤ i ≤ (r + 1), each element of Wi is a set of edges.
2
cycles of G. For each 1 ≤ i ≤ r, let edge ji be the highest-numbered edge in
cycle Ci , so that the corresponding broken circuit is
C i = Ci − {ji }.
Before constructing the sequence—by rearranging the labels on the cycles and
broken circuits if necessary—I must make sure that the broken circuits
C 1 = C1 − {j1 }, C 2 = C2 − {j2 }, C 3 = C3 − {j3 }, · · ·
have been labeled so as to guarantee that
j1 ≤ j2 ≤ j3 ≤ · · ·
I am now able to define the sequence. I put
W1
W2
W3
..
.
Wr
Wr+1
:=
:=
:=
..
.
:=
:=
{S
{S
{S
..
.
{S
{S
⊆ E: C 1 ⊆ S};
⊆ E: C 2 ⊆ S but not C 1 ⊆ S};
⊆ E: C 3 ⊆ S but not C 1 ⊆ S and not C 2 ⊆ S};
⊆ E: C r ⊆ S but not C t ⊆ S, 1 ≤ t ≤ r − 1};
⊆ E: S contains no broken circuit}.
It is immediate from the definition of this sequence that it satisfies condition (a),
but it is by no means obvious that it satisfies conditions (b) and (c). To show
that it satisfies (b), I will first consider W1 (the simplest case). A set S ∈ W1
must contain C 1 ; it may either contain j1 or not. This allows to arrange the sets
in W1 in pairs
S ←→ S 0 ,
where S and S 0 are identical, except that S 0 contains j1 and S does not. Now ,
consider the contributions of any two such paired sets S and S 0 to the sum
X
(−1)|S| k C(S) .
(8)
S∈W1
Adding the edge j1 to C 1 simply restores the cycle C1 ; does not connect two
separate components. This means that C(S) = C(S 0 ). Furthermore, since the
0
number of edges in S and S 0 differ by one, we have (−1)|S| = −(−1)|S | . Thus,
the contributions of S and S 0 to (8) will cancel each other. Since all of the sets
in W1 have been arranged in such S ←→ S 0 pairs, we have
X
(−1)|S| k C(S) = 0.
S∈W1
Now I will consider W2 , which is trickier. I will attempt to proceed in the same
way—to pair up the sets in W2 ,
S ←→ S 0 ,
3
(9)
where S and S 0 are identical, except that S 0 contains j2 and S does not. In this
case, though, a complication arises.
Could it happen that adding edge j2 to S (to form S 0 ) would make
C 1 a subset of S 0 , thus putting S 0 in W1 ?
This would destroy my attempt to make the terms of the W2 sum cancel in
pairs. Fortunately, the answer to this question is no, it could not happen. Here
is why. The only way this could happen would be if edge j2 were the only edge
of C 1 that was not already in S; but in fact j2 cannot be an edge of C 1 , period .
This is because all the edges in C 1 have numbers strictly less than j1 —edge j1
is the largest-numbered edge of C1 —whereas j2 ≥ j1 .
We can thus be sure that that (9) is a pairing between subsets that are in
fact elements of W2 , so by the same argument we used for W1 , we get
X
(−1)|S| k C(S) = 0.
S∈W2
The argument for classes W3 , . . . , Wr is essentially the same as that for W2 ;
it follows that our sequence satisfies condition (b).
Finally, consider condition (c). The fact that our sequence satisfies this condition follows from the observation that
S ∈ Wr+1
=⇒
=⇒
=⇒
=⇒
S contains no broken circuit
S contains no cycle
(V, S) is a forest
(V, S) has (n − |S|) components.
Since our sequence satisfies all three conditions, we can conclude that PG (k) is
given by Equation (7):
PG (k) = k n − a1 k n−1 + a2 k n−2 − · · · ,
where, for t = 1, 2, · · ·, at is the number of t–element subsets S ∈ Wr+1 . Moreover, by the definition of our sequence,
S ∈ Wr+1 ⇐⇒ S contains no broken circuit.
The proof is complete.
4
© Copyright 2026 Paperzz