co 342 course notes
Introduction to Graph Theory – Lecture notes – co3422012
University Of Waterloo
Introduction to Graph Theory (Co 342)
- Academic year:
- Please sign in or register to post comments.
Lecture notes Introduction to Real Estate – complete course Graph Theory – Lecture notes – co4422012 Lecture notes, lectures Introductory Graph Theory Book solution "An Introduction to Game Theory", Martin J. Osborne Introduction To Cells – Lecture notes, lecture 1 Introduction to Genetics – Lecture notes – BIOL1005 Notes
Graph Theory 1
Instructor: Bruce Richter
Term: Spring 2012 (1125)
University of Waterloo
August 3, 2012
Disclaimer: These notes are provided as-is, and may be incomplete or contain errors.
1.1 Paths and edge-cuts . . . . . . . .
1.2 Menger’s Theorem (edge version) .
1.3 Menger’s Theorem (vertex version)
1.4 2-connected graphs . . . . . . . . .
Wednesday, May 2
• Midterm: Wednesday, June 13 in class.
• Topics: connectivity of graphs (Menger’s theorem) for 3 weeks, matchings in graphs (Tutte’s theorem) for 3 weeks, Kuratowski’s theorem (characterizing planarity) for 6 weeks.
• Weekly assignments (33.3%), midterm (20%), final exam (46.6%).
• Two lowest assignment scores are ignored.
Paths and edge-cuts
Definition 1.1. A walk is a sequence of vertices such that consecutive terms in the sequence are adjacent. A path is a walk
in which all the vertices are distinct.
Definition 1.2. A graph G is connected if for any two vertices u and v of G, there is a uv-path in G.
Equivalently, we can say a graph is connected if there exists a vertex u such that for every vertex v, there is a uv-path (it’s
enough to connect one vertex to all the others). In the above, we could replace “path” by “walk” and obtain the same concept.
Theorem 1.3. A graph is connected if and only if it has a spanning tree.
We examine the prospect of deleting edges to disconnect a connected graph. Deleting an edge makes the graph disconnected if
and only if the edge does not lie in a cycle.
Example 1.4. Consider the graph of a regular octagon. This is a cycle. Deleting any two edges in a cycle leaves a disconnected
In a sense, we think of a cycle as being “more connected” than a tree, because in a cycle we must delete more edges to render it
disconnected than we do for a tree.
Example 1.5. The complete graph K4 on 4 vertices needs the deletion of 3 edges to disconnect. No 2 or fewer edges will
In general, for Kn , n − 1 edges will disconnect (all edges incident with the same vertex).
The uv-paths in the graph K100
Put k = 100. Then we have 99 different uv-paths. One is just the edge uv, and every other vertex of K100 yields a uv-path of
length 2 (illustrated in diagram above). These paths are edge-disjoint; deleting 98 (or fewer) edges will leave one of the 99 paths
We will prove that this always happens1 .
Friday, May 4
Consider the following graph.
We ask two questions:
• What is the size of a largest set of edge-disjoint uv-paths?
• What is the size of a smallest set of edges whose deletion leaves no uv-paths at all?
We will imagine that to check whether a graph is connected, we want to check all n2 pairs. We want to think about “how much
we have to delete” in order to separate u and v.
As an answer to the second question, delete AE, BE, FJ, FK. This shows that the answer is ≤ 4.
Now solve the first question: if we know there are 4 edge-disjoint uv-paths, we can conclude that the answer for the second
question is ≥ 4, hence equal to 4. The four desired paths are: uAEGv, uBEHv, uCFJLv, uDFKv. So we found a set of 4
edge-disjoint uv-paths. We found a set of 4 edges whose deletion leaves no uv-path. We conclude that 4 is largest for the first
problem and smallest for the second problem.
Deleting only 3 edges cannot disconnect u and v, because at least one of the four paths we found will still be present.
Also, if we had 5 edge-disjoint uv-paths, we would remark that deleting only 4 edges couldn’t disconnect u and v. However, we
know that deleting a particular set of 4 edges does disconnect u and v, so this cannot be the case.
Definition 1.6. Let u and v be vertices in a graph G. A uv-edge-cut is a set F of edges of G so that G − F has no uv-path.
To rephrase the above, we were seeking a smallest uv-edge-cut. The following lemma makes this precise.
who have taken CO 351, Network Flows, will have a slight advantage – we will give an algorithm for finding a maximum collection of
edge-disjoint uv-paths, and also find us a smallest set of edges whose deletion disconnects u from v). That algorithm is the max-flow min-cut algorithm
(network flow algorithm).
Lemma 1.7. Let u and v be vertices in a graph G. Let ℘ be a set of (pairwise) edge-disjoint uv-paths, and let F be a uv-edge-cut.
Then2 |℘| ≤ |F .
Proof. Since there are no uv-paths in G − F , each path P ∈ ℘ has an edge eP ∈ F . Since the paths in ℘ are edge-disjoint, the
eP are all distinct, so |eP : P ∈ ℘| = |℘|. On the other hand, eP : P ∈ ℘ ⊆ F , so |eP : P ∈ ℘| ≤ |F |, which completes the
Corollary 1.8. Let u and v be vertices in a graph G. Let ℘ be a set of (pairwise) edge-disjoint uv-paths and let F be a
uv-edge-cut. If |℘| = |F |, then ℘ is a largest set of edge-disjoint uv-paths and F is a smallest uv-edge-cut.
Proof. Let ℘′ be any set of edge-disjoint uv-paths, and let F ′ be any uv-edge-cut. By the lemma,
|℘′ | ≤ |F |,
|℘| ≤ |F ′ |.
Since |℘| = |F |, we see that |℘′ | ≤ |℘| and |F | ≤ |F ′ |.
It is, however, not obvious that there is a set ℘ of edge-disjoint uv-paths and a uv-edge-cut F of equal sizes.
Menger’s Theorem (edge version)
Theorem 1.9 (Menger’s Theorem, edge version). Let u and v be vertices in a graph G. Then the sizes of a largest collection
of edge-disjoint uv-paths and a smallest uv-edge-cut are equal.
To prove this, we will describe an algorithm to take a set of edge-disjoint uv-paths, and either find a bigger set, or find a cut of
the same size.
Suppose we have some set of edge-disjoint uv-paths. The strategy we’re going to employ is: use the given set of uv-paths. Start
labelling the vertices starting at u, by some (somewhat bizarre) rules. These rules have the property that: if we end up labelling
v, this tells us that we can find a bigger set of edge-disjoint uv-paths (a bigger flow in the context of CO 351). There will
eventually be an iteration where we cannot label v. If this occurs, we will show we can find an edge cut whose size is the same
as our current set of paths (so by the corollary, we will know everything).
Let ℘ be our current collection of edge-disjoint uv-paths (start with the empty collection of paths).
(0) Label u with (∗, 0).
(1) Let xy be an edge of G with x labelled with (z, i) and y unlabelled.
(i) If xy is not in any path in ℘, then label y with (x, i + 1).
(ii) If xy is in the path P ∈ ℘, and y is closer to u in P than x is, then label y with (x, i + 1).
(2) Repeat (1) as long as possible.
(thanks to: Jimmy Zhu3 )
Monday, May 7
We now give an alternate, equivalent, statement of Menger’s theorem.
Definition 1.10. Let G be a graph. The edge-connectivity of G is the smallest number of edges whose deletion leaves G
disconnected. G is called k-edge-connected if its edge-connectivity is ≥ k.
Equivalently, a graph G is k-edge-connected if the deletion of fewer than k edges from G always leaves a connected subgraph.
(Notice that this is essentially what one is asked to show in A1, Q4. Furthermore, the definition given above is equivalent to the
one on the assignment.)
We may thus state Menger’s theorem as follows:
Theorem 1.11 (Menger’s Theorem, restated). A graph G is k-edge-connected if and only if for every pair u, v of distinct
vertices in G, there are k edge-distinct uv-paths.
Continuing on from last class now, we trace through the labelling algorithm on the following graph:
we get an injective function from the set of such paths to the set of such edge-cuts. For each path, pick one of the edges in the cut.
you have him to thank for the awesome colours!
The u and v vertices are shown in grey and we currently have only a single uv-path P , which is outlined in green.
1. We first label u with (∗, 0).
2. Among the neighbours of u (this is our x), we may label A, C, and D (these are our y) with (u, 1); notice u is closer to u
(obviously) than B.
3. Among the neighbours of C, we may only label B with (C, 2); notice B and G are both in P , but B is closer to u in P
than C is, but G is not.
4. Among the neighbours of B, we may only label G with (B, 3).
5. Among the neighbours of A, we may label E, F , and N with (A, 2).
6. To conserve time, we quickly make a path to v by labelling I with (G, 4), K with (I, 5), M with (K, 6), and v with (M, 7).
The rest of the labellings are left as exercise.
Tracing backwards from v via the labellings, we notice that we obtain a uv-path uCBGIKM v, furthermore, the only edge which
is in P is CB which we note was obtained by step 1(ii) of the algorithm. Finally, note that if we replace4 the uBC portion in P
with uC, we obtain two edge-disjoint paths (shown in orange and green):
pretty sure this is wrong. We want to change our new path to get it to not use the edge uC.
This is a general phenomenon which we shall prove we are always able to do by the end of this week. At this point, we may
quickly run the algorithm again to see if we may find another edge disjoint path with our collection of 2 edge-disjoint uv-paths
or we simply may do so by inspection (new path in blue):
Running the algorithm once more on our new collection of 3 edge-disjoint paths, we find a uv-path uDGEAF JLv and observing
the edge we obtained from step 1(ii) this time is DG, we may once again create, by replacing uCGD with uD, an enlarged
collection, ℘, of 4 edge-disjoint uv-paths (new one shown in yellow):
Running the algorithm one last time, we note that we are no longer able to label v, indeed, the only vertex we are able to label
is u. Observe that if we remove the edges from u, we actually have an edge-cut of size 4 (hence showing that our collection of 4
edge-disjoint paths is a maximal collection, as expected). This is another general phenomenon which we shall prove by the end
of the week: if v is unable to be labelled at some iteration of the algorithm, the labelled/unlabelled vertices we obtain at the
end partition the graph into connected components and the edges between the two sets of vertices form an edge-cut.
To prove the claim that if v is labelled then we may modify the paths in a collection ℘ of pairwise edge-disjoint uv-paths to
obtain a larger collection, we observe that we essentially have the following (simplified) scenario:
The idea is that we have a uv-path P in ℘ which contains the green and blue edges, and the algorithm produced another uv-path
Q which contains the red and blue edges, and their intersection are the blue edges (the blue edges must have been obtained by
applications of step 1(ii) of the algorithm). Hence, if we modify P to be the lower red-green path, and if we modify Q to be the
upper green-red path, we may obtain 2 edge-disjoint paths. This is, of course, a simplification, and there are a few subtleties
The following definition formally captures this notion:
Definition 1.12. Let ℘ be a set of pairwise edge-disjoint uv-paths. A uv-path Q is a ℘-augmenting path if, in traversing
from u to v, for every edge xy of Q that is in some path P in ℘, P goes through xy from x to y, while Q goes through xy from
y to x.
Wednesday, May 9
(thanks to: Jimmy Zhu)
Lemma 1.13. Suppose P is a ℘-augmenting uv-path in a graph G, with ℘ a set of pairwise edge-disjoint uv-paths. Then there
is a set ℘′ of pairwise edge-disjoint uv-paths with |℘′ | = |℘| + 1.
Proof. Let n(P, ℘) denote the number of edges of P that are in some path of ℘. We shall proceed by induction on n(P, ℘). The
base case, n(P, ℘) = 0, is easy; we may just set ℘′ = ℘ ∪ P and of course ℘′ is a set of pairwise edge-disjoint uv-paths such
that |℘′ | = |℘| + 1. The induction step involving finding a new set ℘′ of edge-disjoint uv-paths and a ℘′ -augmenting path P ′ so
that |℘′ | = |℘| and n(P ′ , ℘′ ) < n(P, ℘).
Traversing P from u to v, let xy be the first edge that occurs in a path, say Q, in ℘. Choose the labelling of x and y so that x
comes before y in Q (hence, y comes before x in P ). That is, P traverses xy from y to x and Q traverses xy from x to y, going
from u to v (since P is a ℘-augmenting uv-path).
Let Qx and Qy denote the subpaths of Q from u to x and y to v, respectively. Let z be the first vertex5 of P that is in Qy , going
from u to v in P (note the existence of a common vertex is already established by the existence of a common edge). Set Q′ to
be subpath of P from u to z, followed by the subpath of Qy from z to v. Set ℘′ = (℘ \ Q) ∪ Q′ . We show that ℘′ is a set of
Since ℘ consists of edge-disjoint uv-paths, it suffices to show that Q′ is edge-disjoint from each path in ℘ \ Q. Since y is in
Qy , we must have that z occurs no later than y in P (it may be y itself) and, since y occurs in P just before the first edge that
is in any path in ℘ (that is, xy), it follows that the portion of Q′ from u to z is edge-disjoint from every path in ℘. On the other
hand, the portion of Q′ from z to v is contained in Q and is thus edge-disjoint from every path in ℘ \ Q. Therefore, Q′ is
edge-disjoint from every path in ℘ \ Q. Hence, we set ℘′ = (℘ \ Q) ∪ Q′ and ℘′ is a set of pairwise edge-disjoint uv-paths
with |℘′ | = |℘|.
Here is a diagram of the situation:
The blue edge is the first common edge xy going from u to v in P , the green path is Q, the red path is P , Qx is the first green
path, Qy is the second green path passing through z, while the dotted path is the new path Q′ . Observe that while we picked
xy to be the first edge of P in common with a path in ℘ we may potentially have many vertices in common with paths in ℘
prior to xy.
is not necessarily always y, because we are going from u to v in P .
[It remains to construct a ℘′ -augmenting uv-path, P ′ , which we shall do in next Monday’s lecture.]
Friday, May 11 – lecture by Brendan Rooney
We now prove, algorithmically, the second part of the theorem. The proof of Lemma 1.13 will be completed on Monday.
Recall the labelling algorithm:
1. Label u with (∅, 0).
2. (a) If there is a vertex x labelled (z, i), an edge xy not in a path in ℘ and y is not labelled, then we label y with (x, i + 1).
(b) If x is a vertex labelled (z, i), xy is an edge in a path in ℘, y is closer to u in the path than x and y is not labelled,
then label y as (x, i + 1).
3. Repeat (until we can’t label new vertices).
We will prove the correctness of this algorithm, which is captured in the following theorem.
Theorem 1.14. If ℘ is a set of edge-disjoint uv-paths, then either the labelling algorithm terminates with v labelled, and there
exists a ℘-augmenting path, or it terminates without labelling v and there is a uv-edge-cut F with |F | = |℘|.
Proof. v is assigned label (z, k). Since v has label (z, k), zv is an edge in our graph. Define a path
Q = (u = w0 , w1 , . . . , wk = v)
where w0 = u, wk = v, wk−1 = z. For each wi , we take wi−1 to be the vertex in the label of wi .
If wi−1 wi is an edge of Q then either wi−1 wi lies in a path P ∈ ℘ or it doesn’t. If it doesn’t, then wi was labelled using 2(a) in
the algorithm. If it does lie in P ∈ ℘, then wi was labelled (wi−1 , i), by step 2(b) in the algorithm. So wi is closer to u in P
than wi−1 . Hence by definition, Q is a ℘-augmenting path in G.
If v is not assigned a label at the end of the algorithm, we want to find an edge-cut (some set of edges that we remove from
our graph, and we remove it we have, potentially, several connected components, one of which contains u and another of which
Set A to be the set of vertices labelled by the algorithm, and set B to be the set of vertices without labels.
Define F to be the set of edges with one end in A and the other end in B. Our claim is that this is a uv-edge cut and that it
has the correct size. First, note that it is a uv-edge cut: note that u ∈ A and v ∈ B, so if P is any uv-path, then there is some
least (closest) vertex x ∈ P ∩ B.
Let y be the neighbour of x in P closest to u. Then y ∈ A as xy ∈ F , so P is not a uv-path in G \ F . We now proceed to prove
that |F | = |℘|. We first show |F | ≥ |℘|. By the previous argument, each path P ∈ ℘ contains an edge of F . Since the paths are
edge-disjoint, we have |F | ≥ |℘|. We now show that |F | ≤ |℘|.
2(a) xy ∈
/ P ∈ ℘. 2(b) xy ∈ P ∈ ℘. The fact that we didn’t label y implies that xy ∈ P ∈ ℘ (there is some path P that contains
We know every one of the edges in the above diagram is in some path, but we want to make sure we don’t have some path that
goes back and forth, as above. Let e = xy be an edge in F with x ∈ A and y ∈ B. Since x is labelled and y is not labelled, we
know that both criteria 2(a) and 2(b) fail for the edge e.
Since xy fails 2(a), we know that xy is an edge of some path P in ℘. Since xy fails 2(b), we know that x is closer to u in P than
y. We can’t have any backward edges (going from B to A) because then they would have been labelled first, which is impossible.
Thus |P ∩ F | = 1 (as if |P ∩ F | > 1, then some edge in P ∩ F contradicts our remark about the failure of 2(b) above). Thus we
|F | = |℘|
Proof of Menger’s theorem. If ℘ is an edge-disjoint set of uv-paths, and F is a uv-edgecut, then |℘| ≤ |F |. So if we find an
edge-disjoint set of uv-paths ℘ and uv-edgecut F with |F | = |℘| then F is minimum and ℘ is maximum.
If ℘ is a set of edge-disjoint uv-paths then we run the labelling algorithm on ℘. Either we get a ℘-augmenting path Q in which
case by the previous theorem we can find a set of edge-disjoint uv-paths ℘′ with |℘′ | = |℘| + 1, or we get a uv-edgecut F with
|F | = |℘|. Finally, since |℘| is trivially bounded above by |E(G)| we simply run the algorithm repeatedly until we find such a ℘
and F .
Example of labelling algorithm
We start with the graph and ℘ = ∅. In the first iteration below, we get the path Q = ucev, shown in red.
Now we do the second iteration, with ℘ = Q, and we obtain the path Q′ = ubdv, shown in blue.
Now for the third iteration, with ℘ = Q, Q′ , we obtain:
At this point we stop, because v is not labelled. F = dv, ev. We get
(the path we get is in blue, overlap is denoted in purple), and so on.
Monday, May 14
Continuation of Wednesday’s proof: what happens when v gets labelled. On Friday, we did the proof of what happens when v
does not get labelled.
What have we done so far?
1. We described a labelling algorithm (given a current set ℘ of edge-disjoint uv-paths).
2. On Friday we saw that if v is not labelled, then there is a uv-edge-cut of size |℘|.
3. If v is labelled, then there is a ℘-augmenting path.
Proof of Lemma 1.13, continued. We now finish the proof that the existence of a ℘-augmenting path implies the existence of a
set of |℘| + 1 edge-disjoint uv-paths. We need to find a ℘′ -augmenting path P ′ so that P ′ has fewer edges in paths in ℘′ than P
has in ℘ (n(P ′ , ℘′ ) < n(P, ℘)).
We set wz to be the first edge of Q (in going from u to v) that is also an edge of P . Choose the labels w, z so that w is nearer
to u in Q than z is. It follows that traversing P from u to v, we come to z before w. Let Pz be the portion of P from u to z and
Pw the portion of P from w to v (in particular, P = (Pz ∪ Pw ) + wz.) Let s be the first vertex of Q (starting at u) that is in Pw .
Now set P ′ to be the path consisting of Q from u to s and Pw from s to v. We need to show P ′ was a ℘′ -augmenting path and
that n(P ′ , ℘′ ) < n(P, ℘).
Let pq be an edge of P ′ that is in some path in ℘′ .
Case 1: pq is in some path R in ℘ ∩ ℘′ .
Recall P ′ is composed of a subpath of Q (from u to s) and a subpath of P (from s to v). Because Q and R are edge-disjoint, it
must be that pq is in P . The construction of P ′ traverses the edge pq in the same direction P does. Since P and R traverse pq
in opposite directions, so do P ′ and R, as required.
Case 2: pq is in Q′ . [second series of diagrams]
Recall that Q′ consists of an initial subpath of P and a final subpath of Q. Likewise P ′ has an initial subpath of Q and a final
subpath of P . The initial in Q has no edge in P and the initial path in P has no edge in Q. So pq is in the final of P and in the
final of Q. Because P and Q traverse this edge in opposite directions and those directions are preserved by Q′ and P ′ , the paths
P ′ and Q′ traverse pq in opposite directions, as required. Thus P ′ is ℘′ -augmenting. More over every edge of P ′ in a path in ℘′
is an edge of P in a path in ℘.
Wednesday, May 16
We showed that any edge of P ′ that is in a path in ℘′ is an edge of P that is in a path in ℘. Consequently, that edge is traversed
in opposite directions by P ′ and the path in ℘′ . Therefore P ′ is a ℘′ -augmenting path. So n(P ′ , ℘′ ) ≤ n(P, ℘).
At the beginning of the inductive step, xy was the first edge of P (going from u to v) that is in a path in ℘, and Q was the path
containing xy. We see that xy is not an edge of P ′ [diagram reviewing construction6 of P ′ ] and so xy is an edge of P in
a path in ℘, while it is not in P ′ . Thus, n(P ′ , ℘′ ) < n(P, ℘). By induction, there is a set ℘ of |℘′ | + 1 edge-disjoint uv-paths.
Since |℘′ | = |℘|, we have a set ℘ of |℘| + 1 edge-disjoint uv-paths, as required.
This completes the proof that if there is a ℘-augmenting path, then there is a set of |℘| + 1 edge-disjoint uv-paths.
Menger’s Theorem (vertex version)
Definition 1.15. Let u and v be two vertices in a graph G. Two uv-paths P and Q are called internally disjoint if they have
only u and v in common.
Suppose u and v are not adjacent. This is to allow the deletion of a set W of vertices of G, W ⊆ V (G) \ u, v, so that u and v
are in different components of G − W .
Consider the graph:
Delete A, C, D. In this case u and v are in different components of G − A, B, C. Also, H, E, F , being the set of neighbours
of v, will separate u and v.
Remark 1.16 (general observation). If u and v are not adjacent in G and W consists of the neighbours of u, then G − W has
u and v in different components.
Let u and v be non-adjacent vertices in a graph G. Define κ(u, v; G) to be the size of a smallest set W of vertices of G so that
u and v are in different components of G − W .
Definition 1.17. A uv-vertex-cut is a set W of vertices so that u and v are in different components of G − W .
General observation shows that
κ(u, v; G) ≤ degG (u) ≤ degG (v).
However equality does not, in general, hold, as is shown by the following:
Here, we have
κ(u, v; G) = 1,
deg(u) = 2 = deg(v).
Or we could consider the simple example
is obtained by following Q from u up to the first edge relative to Q that’s also in P , then follow P from there on.
κ(u, v; G) = 0,
deg(u) = 1 = deg(v).
Definition 1.18. A graph G is k-connected if deleting any k − 1 vertices leaves a connected subgraph and G has at least k + 1
Theorem 1.19 (Menger’s Theorem, vertex-disjoint version). Let u and v be non-adjacent vertices in a graph G. Then the
maximum size of a set of internally disjoint uv-paths is κ(u, v; G).
Friday, May 18
Proof. We proceed by induction on the number of vertices not adjacent to exactly one of u and v. We start with the induction
step, so let w be a vertex of G that is not (adjacent to exactly one of u and v).
Case 1: w is adjacent to both u and v. Notice that w is in every uv-vertex-cut. Therefore
κ(u, v; G − w) = κ(u, v; G) − 1.
By induction, there is a set ℘ of internally-disjoint uv-paths in G − w so that |℘| = κ(u, v; G − w). Now ℘ ∪ (u, w, v) is a set
of internally-disjoint uv-paths in G of size
1 + κ(u, v; G − w) = κ(u, v; G)
Case 2: w is adjacent to neither u nor v.
Subcase 2a: κ(u, v; G − w) = κ(u, v; G). Applying induction to G − w, we get κ(u, v; G − w) internally-disjoint uv-paths in
G − w. All these paths are also paths in G, so there are κ(u, v; G − w) internally-disjoint uv-paths in G. In this subcase we have
κ(u, v; G) internally-disjoint uv-paths in G, as required.
Subcase 2b: κ(u, v; G − w) = κ(u, v; G) − 1. In this subcase, w is in a smallest uv-vertex-cut; call it X. We collapse as follows:
is essentially to take care of complete graphs.
“Every vertex in X is adjacent to at least one vertex in the orange collection (if some vertex is not, we can ignore it when deleting
vertices in X and u will still be disconnected from v by deleting everything but such a vertex.)”
Monday, May 21 – Victoria Day, no classes
Tuesday, May 22 – Monday schedule day
Let Ku and Kv be the components of G − X containing u and v, respectively. Because X is a uv-vertex-cut, Ku 6= Kv . Steps:
1. Every vertex of X has a neighbour in Ku and a neighbour in Kv .
2. Each of Ku and Kv has at least two vertices.
So the plan is to take one of the paths from Ku to v ∗ and take one of the paths from u∗ to Kv (see diagram) and then
“glue” them together at the point in X.
3. Replace Kv be a single new vertex v ∗ and apply induction. Same for Ku .
4. Apply induction to get κ(u, v; G) internally-disjoint uv ∗ -paths and also u∗ v − paths.
There are κ(u, v ∗ ; Gv ) internally-disjoint uv ∗ -paths in Gv . (We want κ(u, v ∗ ; Gv ) = κ(u, v; G)). Note that if we have two
collections A, B of sets, then indeed
minA ≥ min : B ∈ B.
Claim 1: Every vertex in X has a neighbour in Ku and a neighbour in Kv .
Proof. Let x be in X. If x has no neighbour in Ku , then Ku is a component of G − (X \ x). Thus, X − x is a uv-vertex-cut,
which is a contradiction: X is a smallest uv-vertex-cut.
In particular, w has neighbours u′ ∈ V (Ku ) and v ′ ∈ V (Kv ). Since w is not adjacent to u, u′ 6= u, so Ku has at least two
vertices. Likewise for Kv . We conclude Ku and Kv both have at least two vertices.
Let Gv be the graph obtained from G by deleting all the vertices in Kv and adding one new vertex v ∗ adjacent to every vertex
in X. Notice that X is a uv ∗ -vertex-cut in Gv , so
κ(u, v ∗ ; Gv ) ≤ |X| = κ(u, v; G).
For the reverse inequality, let C be a uv ∗ -vertex-cut in Gv . [diagram 20120522-2 (camera)]. Notice that C ⊆ V (G) \ u, v.
We need to prove that u and v are in different components of G − C.
Suppose P is a uv-path in G − C. Since X is a uv-vertex-cut in G, there is a vertex of P in X. Let P ′ be the subpath of P from
u to the first vertex x of P that is in X. Since xv ∗ is an edge of Gv , P ′ + xv ∗ is a uv ∗ -path in Gv − C, which is a contradiction.
κ(u, v ∗ ; Gv ) ≥ κ(u, v; G).
The two inequalities show that in fact
κ(u, v ∗ ; Gv ) = κ(u, v; G).
The exact same arguments show that κ(u∗ , v; Gu ) = κ(u, v; G).
Wednesday, May 23
By the inductive assumption, there is a set ℘u consisting of κ(u, v ∗ ; Gv ) internally-disjoint uv ∗ -paths in Gv . Likewise there is a
set ℘v consisting of κ(u∗ , v; Gu ) internally-disjoint u∗ v-paths in Gu .
Each vertex in X is in exactly one path in each of ℘u and ℘v and, furthermore, each path in each of ℘u and ℘v has a vertex in
X. For each vertex x ∈ X, let Pxu be the ux-subpath of the path in ℘u containing x and let Pxv be the xv-subpath of the path
in ℘v containing x. Because the number of paths in ℘u is equal to |X|, each path in ℘u has exactly one vertex in X, so each
path P in ℘u consists of P ∩ Ku together with two more edges, namely the one to the vertex in P ∩ X and then the one to v ∗ .
Likewise for the paths in ℘v .
In particular, for x, y ∈ X, Pxu and Pyv intersect at most in one vertex, and this only if x = y. Therefore, for each x ∈ X, Pxu ∪ Pxv
is a uv-path in G and the set of these paths is internally-disjoint, as required.
Matchings in bipartite graphs
[many diagrams I didn’t take down]
Friday, May 25 – hours slept: 0. hallucination possible (notes were typeset by a split-biquaternionic ethereal
ferret8 which may or may not exist); integrity not guaranteed.
Monday May 28: DC 1302, Wednesday May 30: MC 4040.
A vertex cover in this bipartite graph is a uv-vertex-cut in the whole graph. Konig’s theorem says that the size of a largest
matching is the size of a smallest vertex cover. The largest matching gives an equal-sized set of internally-disjoint paths, which
has the same size as this particular uv-vertex cut so it must be a largest set of paths and a smallest uv-vertex cut.
Let H be the bipartite subgraph of G consisting of the vertices in N (u) and N (v), together with all edges of G having one end
in N (u) and one end in N (v).
König’s theorem tells us that there is a matching M of H and a vertex cover C of H so that |M | = |C|. We first show C is a
uv-vertex-cut in G. In G − C, there is no edge with one end in N (u) and one end in N (v). Therefore there is no uv-path in
G − C (every uv-path contains an edge with one end N (u) and one end in N (v)). Thus C is a uv-vertex-cut in G.
For each edge u′ v ′ of M , one end, say u′ , is in N (u), while v ′ is in N (v). Thus (u, u′ , v ′ , v) is a uv-path in G. The set
(u, u′ , v ′ , v) : u′ v ′ ∈ M
of these uv-paths has size |M | = |C|. Since no two edges of M have a vertex in common, so these paths are internally-disjoint.
(u, u′ , v ′ , v) : u′ v ′ ∈ M
is a set of internally-disjoint uv-paths with the same size as the uv-vertex-cut C, showing
|C| = κ(u, v; G),
completing the proof.
Monday, May 28 – DC 1302
Definition 1.20. A matching in a graph G is a set M of edges of G so that no vertex of G is incident with more than one
edge of M . The number ν(G) denotes the size of a largest matching in the graph G.
Every graph has ∅ as a matching.
Example 1.21. Consider K1,n (the graph where n vertices are connected to one vertex, commonly referred to as star graphs).
makes sense to be afraid of such ferrets.
If n ≥ 1, then ν(K1,n ) = 1 and if n ≥ 2 then ν(K2,n ) = 2. More generally,
ν(Kp,q ) = minp, q.
Also, we have ν(Kn ) = ⌊n/2⌋ (try proving this).
A maximum matching in K5 has size 2.
Remark 1.22. For any graph G,
Example 1.23. Consider the graph of the n-cube, called the cube graph and denoted Qn (the vertex set is the binary strings
of length n, and two vertices are adjacent iff they differ at only one position). If we look at Qn for 0 ≤ n ≤ 3, we observe that
ν(Qn ) = 2n−1 =
|V (Qn )|
This bound comes from the fact that we can pick all edges of the form (0σ)(1σ).
Let v be a vertex of a graph G. What can we say about the relationship between ν(G) and ν(G − v)? Either ν(G − v) = ν(G),
or ν(G − v) = ν(G) − 1.
Consider the graph K1,2 . If we delete one of the vertices with degree 1 then the size of a maximum matching does not change.
In fact, we have that
ν(G − v) = ν(G) − 1
occurs if and only if v lies in every maximum matching of G (i.e. v is saturated by every maximum matching). This motivates
the following definition.
Definition 1.24. A vertex v in a graph G is unavoidable if
ν(G − v) = ν(G) − 1
otherwise v is avoidable.
Our aim is to gain a very good understanding of connected graphs that have only avoidable vertices. The strategy is as follows.
Let G be a graph. If G has an unavoidable vertex v1 , then set G1 = G − v1 . If G1 has an unavoidable vertex v2 then set
G2 = G1 − v2 . Keep going until Gk has only avoidable vertices.
Is there an example of a vertex v avoidable in G but unavoidable in G − v1 (with v1 unavoidable)? None exists! Unavoidable
vertices can become avoidable, but avoidable vertices stay avoidable.
If v1 is unavoidable in G, does G − v1 have an avoidable vertex? Yes, always.
Wednesday, May 30 – MC 4040
Definition 1.25. Let M and N be two matchings in a graph G. We let M ⊕ N denote the subgraph of G consisting of the
edges in the symmetric difference of M and N .
The symmetric difference of two sets A and B is defined as A ⊕ B := (A ∪ B) \ (A ∩ B).
Example 1.26. Consider the Petersen graph.
The graph M ⊕ N always has a nice structure. For example, a little thought shows that each vertex in the “induced subgraph”
of a matching will have degree either 0 or 1. There are two matchings used to construct M ⊕ N , so we note that every vertex
in M ⊕ N has degree at most 2: it is incident with at most one edge in each M and N .
1. M ⊕ N is not 3-connected.
2. M ⊕ N is not planar.
3. The components of M ⊕ N are cycles and paths (this implies #2 and #1).
4. The cycles in M ⊕ N have even length.
5. If a path P is a component of M ⊕ N with more edges in M than in N , then P is an N -augmenting path [see camera
diagram]. Then N ⊕ P is a matching with one more edge than N has.
We conclude the following: let M be a matching in a graph G. Then M is not a maximum matching if and only if there is an
M -augmenting path.
The form that is useful for us is: let M and N be two maximum matchings in a graph G. Then every component of M ⊕ N has
an even number of edges.
If P is an even length path in M ⊕ N (M , N maximum matchings), then M ⊕ P is another maximum matching.
The first significant ingredient is as follows.
Lemma 1.27 (de Caen’s Lemma). Let u and v be9 distinct avoidable vertices in a graph G so that every maximum matching
in G saturates at least one of u and v. Let Mu and Mv be maximum matchings in G so that Mu does not saturate u and Mv
does not saturate v. Then one component of Mu ⊕ Mv is a uv-path (of even length).
Remark 1.28. In K2n+1 , all vertices are avoidable; every maximum matching leaves exactly one vertex unsaturated.
If u, v are adjacent in G, no maximum matching leaves both u and v unsaturated.
Friday, June 1
Proof of de Caen’s Lemma. [two camera diagrams] Because Mu and Mv are both maximum matchings, every component of
Mu ⊕ Mv has an even number of edges. Moreover v has degree 1 in Mu ⊕ Mv (it must be Mu -saturated and is Mv -unsaturated).
Therefore v is an endpoint of a component P of Mu ⊕ Mv that is an even-length path.
Let w be the other end of P . If w 6= u, then10 E(Mu ⊕ P ) is another maximum matching. As u is not in P and u is Mu unsaturated, u is (Mu ⊕ P )-unsaturated. Since the edge of Mu incident with v is in P , v is also (Mu ⊕ P )-unsaturated. That is,
Mu ⊕ P is a maximum matching leaving both u and v unsaturated, which is a contradiction. Therefore, w = u as required.
Corollary 1.29. If G is a bipartite graph in which all vertices are avoidable then G has no edges.
Proof. Suppose uv is an edge of G. No maximum matching in G can have both u and v unsaturated (otherwise we can just
add uv to it). Let Mu and Mv be maximum matchings in G so that u is Mu -unsaturated and v is Mv -unsaturated. de Caen’s
Lemma tells us one component P of Mu ⊕ Mv is an even length uv-path. Then P + uv is an odd cycle in G, a contradiction.
Thus there is no edge in G, as claimed.
Theorem 1.30 (König’s Theorem).
9 These kind of pairs of avoidable vertices will be central to our discussion. Consider a path uvw. Then u and w are an example of such a pair of
10 Here we are abusing notation by saying “M ⊕ P ”.
Proof. If G has any unavoidable vertices, let v1 be one of them. Set G1 = G − v1 and repeat. This gives us a sequence
G0 = G, G1 = G − v1 , G2 = G1 − v2 , . . . , Gk = Gk−1 − vk
of subgraphs of G so that for i = 1, . . . , k, vi is unavoidable in Gi−1 (if such vi exists). Choose k so that Gk has only avoidable
vertices. Since a vertex avoidable in Gi−1 is avoidable in Gi , eventually such k exists, and Gk has at least one vertex.
Since Gk is bipartite, the corollary implies Gk has no edges. Clearly ν(Gk ) = 0. Another way to say this: G − v1 , . . . , vk
(which is Gk ), has no edges, so v1 , . . . , vk is a vertex-cover. On the other hand, ν(G) = ν(Gk ) + k = k. This is because, for
each i, ν(Gi ) = ν(Gi−1 ) − 1, so ν(G) = ν(Gi ) + i. So G has a matching M of size k, so |M | = |v1 , . . . , vk |, so the cover is
Monday, June 4
Lemma 1.31. Let u, v, w be distinct avoidable vertices in a graph G. Suppose no maximum matching leaves both u and v
unsaturated and no maximum matching leaves both v and w unsaturated. Then no maximum matching leaves both u and w
Proof. Suppose by way of contradiction that some maximum matching M leaves both u and w unsaturated. Let Mv be a
maximum matching so that v is Mv -unsaturated. By hypothesis, v is M -saturated. Likewise, Mv saturates both u and w. All
three have degree 1 in M ⊕ Mv .
Apply de Caen’s Lemma to u and v, one component of M ⊕ Mv is a uv-path. Repeating this with v and w, one component of
M ⊕ Mv is a vw-path. Because both components contain v, they must are the same component, the vertices u and w are the
same end of the path, a contradiction.
Corollary 1.32. Let G be a graph consisting only of avoidable vertices. Let a and b be distinct vertices of G joined by a path
in G. Then no maximum matching leaves both a and b unsaturated.
Proof. Note first that if a and b are adjacent, then no maximum matching misses both a and b. We proceed by induction on the
length of the ab-path. If the length is 1, the first note yields the result. If the length is n > 1, let c be the unique path-neighbour
of b. Then a and c are the ends of a shorter path and therefore no maximum matching leaves both a and c unsaturated.
Since b and c are adjacent, the note implies no maximum matching leaves both b and c unsaturated. The lemma tells us that no
maximum matching leaves both a and b unsaturated.
Corollary 1.33. If G is a connected graph with only avoidable vertices. If u is any vertex of G, G − u has a perfect matching.
|V (G)| − 1
Even more particularly, G has an odd number of vertices.
Proof. Let M be a maximum matching in G so that u is M -unsaturated. By the first corollary and the assumption that G is
connected, every other vertex is saturated. That is, M is a perfect matching in G − u.
It follows that
ν(G) = |M | =
|V (G − u)|
|V (G)| − 1
Since this is an integer, |V (G)| must be odd.
Recall our strategy is to let G0 = G, G1 , G2 , . . . , Gk be a sequence of subgraphs of G so that, for i = 1, . . . , k there is an
unavoidable vertex vi in Gi−1 and Gi = Gi−1 − vi . Also Gk has only avoidable vertices. We’ve already argued that Gk has at
least one vertex.
Since ν(Gi ) = ν(Gi−1 ) − 1, we know that
ν(Gk ) = ν(G) − k.
Suppose Gk has components H1 , . . . , Hℓ . For each j = 1, . . . , ℓ, Hj is connected and has only avoidable vertices, therefore
ν(Hj ) =
|V (Hj )| − 1
ν(Gk ) =
which is equal to
ν(Hj ) =
|V (Hj )| − 1
|V (Hj )| − ℓ = (|V (Gk )| − ℓ)
(|V (Gk )| − (# of components of Gk ))
which is equal to
(|V (Gk )| − (# of components of Gk having an odd number of vertices)) .
Let S be the set v1 , . . . , vk . Gk = G − S. Then
ν(G) = k + ν(Gk ) = |S| +
= |S| +
(|V (Gk )| − odd(Gk ))
(|V (G)| − |S| − odd(G − S))
(|V (G)| + |S| − odd(G − S))
Wednesday, June 6
(thanks to: Jimmy Zhu)
By A5Q3, this implies
ν(G) = min 21 (.
This is the Tutte(-Berge) formula for the size of a largest matching in G.
Example 1.34. Consider Kn . When n is odd, we have ν(Kn ) =
Let S ⊆ V (Kn ). Then
0 if |S| is odd
|V (G)| + |S| − odd(G − S) = n + |S| −
1 if |S| is even.
Is this always at least n − 1? Yes. |S| ≥ 0, and
n − odd(G − S) ≥ n − 1.
Choose S = ∅, then n + |S| − 1 = n − 1, so this is the minimum.
Example 1.35. Consider C9 , the cycle on 9 vertices. Let S ⊆ V (C9 ). Is |V (C9 )| + |S| − odd(G − S) ≥ 8? Find a set S so that
|V (C9 )| + |S| − odd(G − S) = 8.
S = ∅, are there others? No, because the number of components in G − S is at most |S|.
Friday, June 8
Let S be a set of vertices in a graph G so that
(|V (G)| + |S| − odd(G − S))
(this is the number of vertices saturated by a maximum matching). [diagram]. A maximum matching in G must have the
1. every vertex in S is incident with a matching edge whose other end is in an odd component of G − S, and these odd
components are all different.
2. for each odd component of G − S, the matching restricted to that component saturates all but exactly one vertex in the
odd component and
3. for each even component of G − S, the matching restricted to that component is a perfect matching.
Recall that for Kp,q with p < q, we have ν(Kp,q ) = p. The p-vertices are unavoidable, and the q-vertices are avoidable. What
happens when we delete all the p-vertices? There are q odd components:
(|V (G)| + |S| − odd(G − S)) = ((p + q) + p − q) = p.
If S ⊆ V (Kp,q ) does not contain all the p and does not contain all of the q, then Kp,q − S has exactly one component. Are there
any circumstances in which, for such an S,
ν(Kp,q ) =
(|V (Kp,q )| + |S| − odd(G − S))?
(p + q) + |S| − odd(G − S)
0 or 1
((p + q) + |S| − 1)
2p ≥ p + q + |S| − 1
p ≥ q + |S| − 1 ≥ p + |S| =⇒ 0 ≥ |S| ≥ 0 =⇒ S = ∅.
If q = p + 1 and S = ∅, then
(|V (Kp,q )| + |S| − odd(Kp,q − S)) =
So suppose S contains all of the p vertices and r of the q vertices. Then
(p + p + 1 − 1) = p.
|S| = p + r, odd(Kn − S) = q − r.
(|V (Kp,q )| + |S| − odd(Kp,q − S)) = ((p + q) + (p + r) − (q − r)) = (2p + 2r) = p + r
This is equal to ν(Kp,q ) only when r = 0. (Every vertex in S is unavoidable if we have equality.)
Monday, June 11
Let A and B be sets. Then recall that A ⊕ B denotes the set
(A ∪ B) \ (A ∩ B).
This is the set consisting of those items that are in exactly one of A and B.
Let S be any set. We denote the set of subsets of S by 2S . For A, B ∈ 2S , it is clear that A ⊕ B ∈ 2S . Thus,
• ⊕ is closed on 2S .
• ⊕ is commutative: A ⊕ B = B ⊕ A.
• ⊕ is associative: (A ⊕ B) ⊕ C = A ⊕ (B ⊕ C).
• ⊕ has an identity I: A ⊕ I = I ⊕ A = A, where I = ∅.k
• Every element has an inverse under ⊕: A ⊕ A−1 = I = ∅, where A−1 = A.
We now have the following proposition which characterizes the elements of a k-fold ⊕ (symmetric difference) operation. Conceptually one can think of ⊕ as an XOR (exclusive or), which makes the property below obvious.
Proposition 1.36. Let A1 , A2 , . . . , Ak be any subsets of 2S and let E be some (bracketing evaluation of ((A1 ⊕ A2 ) ⊕ (. . .)) ⊕ Ak .
Then x is in E if and only if x is in an odd number of the Ai .
Proof. By induction on k, the cases k = 1, 2 being trivial. Consider the last ⊕ used to compute E. Each Ai is in exactly one
part of the two sides used to compute E. By induction an element of S is in a side if and only if it is in an odd # of the Ai on
Integers modulo 2. 0, 1, 0 + 0 = 0, 0 + 1 = 1 + 0 = 1, 1 + 1 = 0.
0 · 0 = 0 · 1 = 1 · 0 = 0, 1 · 1 = 1.
The scalar multiplication is given by: 0 · A = ∅ and 1 · A = A. In fact, this is the only way it can be defined: the first equation
is forced by an elementary lemma on vector spaces, and the second is required by the vector space axioms.
α · A ∈ 2S
α · A ⊕ β · A = (α ⊕ β) · A
(αβ) · A = α · (β · A)
α · A ⊕ α · B = α · (A ⊕ B)
1 · A = A.
What is the dimension of 2S ? What is a basis for 2S ?
S = a, b, c
2S = ∅, a, b, c, a, b, a, c, b, c, a, b, c.
Let B = b1 , . . . , bℓ be a basis for 2S . Then each vector in 2S is uniquely a linear combination
α1 b1 ⊕ α2 b2 ⊕ . . . ⊕ αd bd
where αi ∈ 0, 1. So there are 2d choices for the coordinates (α1 , . . . , αd ), so there are 2d vectors in 2S . Since 2d = |2S | = 2|S| ,
d = |S|. So the dimension of 2S is |S|. So, for S = a, b, c, the dimension of 2S is 3. A basis is a, b, c.
More generally, for any set S,
s : s ∈ S
is a basis for 2 . To be a basis we need
• Linear independence: if ⊕di=1 αi Ai = ∅ then all αi are 0.
• Span: for every A ∈ 2S , there exist αi so that A = ⊕di=1 αi Ai .
Spans: let A ∈ 2S . For s ∈ S, let αs = 1 if s ∈ A, 0 if s ∈
/ A. Then
αs · s.
αs · s = ∅.
Since a particular s ∈ S is in only one singleton, it is in the sum if and only if its coefficient is 1. Therefore all coefficients are 0.
Midterm: everything through the assignment handed in on Friday (A5).
Wednesday, June 13 – midterm
Friday, June 15
Definition 1.37. Let W be a subset of a vector space V . Then W is called a subspace if
1. 0 ∈ W (equivalently, W 6= ∅).
2. W is closed under vector addition and scalar multiplication.
In our context, where 0 and 1 are the only scalars, W is a subspace if and only if 0 ∈ W and W is closed under vector addition.
Example 1.38. Let S be a finite set and let W consist of the subsets A of S with |A| even. This is a subspace of 2S . In this
case, 0 = ∅ and this has even size, so ∅ ∈ W . The other thing we need to prove is that if A, B ∈ W , then A ⊕ B ∈ W .
|A ⊕ B| = (|A| − |A ∩ B|) + (|B| − |A ∩ B|) = |A| + |B| − 2|A ∩ B|.
Therefore, if |A| and |B| are even, then |A ⊕ B| is also even.
Example 1.39. Let
S = a, b, c
W = ∅, a, b, a, c, b, c.
Then a, b, a, c form a basis for W . dim 2S = 3 and dim W = 2.
Remark 1.40. Recall that for any subspace A of 2S , |A| = 2dim(A) . We know that dim(2S ) = |S|. If W consists of the even
sets then (assuming S 6= ∅)
|W | = |2S |
thus dim(W ) = |S| − 1.
A basis for W consists of, for fixed element σ of S, all the pairs σ, τ , τ ∈ S \ σ.
How do we express the subset A of S, with |A| even, as a linear combination of the σ, τ from above?
ατ · σ, τ
and choose ατ = χA (τ ).
Back to graphs
Let G be a graph. We are considering 2E(G) .
Definition 1.41. The cycle space Z(G) consists of those subsets z of E(G) so that each vertex of G is incident with an even
number of edges in z.
Example 1.42. We have:
• ∅ ∈ Z(G).
• The edge set of a cycle is in Z(G).
• E(K5 ) is in Z(K5 ). More generally if we pick any K5 subgraph in a graph G, the edges in that K5 is in Z(G).
• The union of any set of edge-disjoint cycles is in Z(G).
Monday, June 18 Assignment 6 Question 5 is showing the harder direction of the statement: if z ⊆ E(G) then z ∈ Z(G) if
and only if z is the edge-set of the union of edge-disjoint cycles.
Theorem 1.43. Z(G) is a subspace of 2E(G) .
Proof. Since every vertex is incident with an even number of edges in ∅, ∅ ∈ Z(G).
We now show that Z(G) is closed under ⊕. Let z1 , z2 ∈ Z(G). We must show every vertex is incident with an even number of
vertices in z1 ⊕ z2 .
For i = 1, 2, let Ei denote the edges in zi incident with the vertex v. Then E1 ⊕ E2 is the set of edges of z1 ⊕ z2 incident with
v. We know that
|E1 ⊕ E2 | = |E1 | + |E2 | − |2 ∩ E1 E2 |
since E1 , E2 are even, so is E1 ⊕ E2 .
[diagram – 14 faces.]
Recall the following. Let A be any set of vectors in a vector space V . Then span(span(A)) = span(A). In our context, A6Q5
shows Z(G) is the span of the cycles in G. For any planar graph G, the face boundaries span the cycles of G.
Conclusion from these 3 facts: for a connected planar graph G, the face boundaries span the cycle space of G.
In a 2-connected, every face is bounded by a cycle. This does not always occur without 2-connectedness: [picture of two
2-connected planar graphs have the property that they have a set of cycles so that every edge is in exactly two, and that set of
cycles spans the cycle space. Maclane’s theorem is the converse: a graph that has a set of cycles that spans the cycle space and
every edge is in exactly two, then it is planar (this establishes a characterization of planar graphs!)
We can build up every 2-connected graph starting with a cycle just by adding simple things to it enough times until we get our
[cube graph and sequence of diagrams]
We will end up with a sequence of 2-connected subgraphs, starting with a cycle, and ending with the whole graph. Want a path
which has both of its ends in this subgraph but is otherwise disjoint from that subgraph.
That is, in the sequence, we start with a cycle and add a path with both ends in the current subgraph but otherwise disjoint
from the current subgraph, and we end with G. This sequence of subgraphs is going to be called an ear decomposition.
Definition 1.44. Let G be a graph. An ear decomposition of G is a sequence G0 , G1 , G2 , . . . , Gk of subgraphs of G so that
1. G0 is a cycle.
2. Gk = G.
3. For i = 1, . . . , k, there is a path Pi in G so that the ends of Pi are in Gi−1 , but Pi is otherwise disjoint from Gi−1 , and
Gi = Gi−1 ∪ Pi .
Wednesday, June 20
We are aiming for the following.
Theorem 1.45. If G is a 2-connected, then G has an ear decomposition.
The proof we give involves the following fact.
Lemma 1.46. Let H be a subgraph of a connected graph G. If H 6= G, then there is an edge e of G that is not in H, but at
least one end of e is in H.
Proof. If V (H) = V (G), then since H 6= G, G has an edge that is not in H; any such edge has both ends in H. Thus, we can
assume V (H) 6= V (G).
Let v be a vertex of G not in H and let w be a vertex of H. Since G is connected, there is a vw-path P in G. Traversing P from
v, there is a first vertex of P that is in H. The edge of the vx-subpath of P that is incident with x is not in H and has one end
Proof of theorem. Since G is 2-connected, there is a cycle G0 in G. Suppose we have already obtained G0 , G1 , . . . , Gi . If Gi 6= G,
then the lemma implies there is an edge uv of G not in Gi so that u ∈ V (Gi ).
If v ∈ V (Gi ), then Pi+1 = (u, v) and Gi+1 = Gi ∪ Pi+1 .
If v ∈
/ V (Gi ), [diagram] then observe that G − u is connected and there are vertices in Gi − u, since Gi has at least the vertices
of the cycle G0 .
Let w be a vertex in Gi − u and let P be a vw-path in G − u. Traversing P from v, there is a first vertex x that is in Gi . Let
Pi+1 be the union of the path (u, v) and the vx-subpath of P . Then Gi+1 = Gi ∪ Pi+1 , and the only intersection of Pi+1 with
Gi is u and x, as required.
Since |E(G)| is finite and
|E(G0 )| < |E(G1 )| < |E(G2 )| < . . . ≤ |E(G)|,
there is some k so that Gk = G.
[aside on board]
Jordan Curve Theorem. Simple closed curves f : S 1 → R2 continuous and one-to-one.
Nice examples: [picture: circle, hexagon, square, etc.] Not-so-nice example: [extremely messed up curve] Non-example:
y = sin(1/x).
Theorem 1.47 (JCT). If f : S 1 → R is a simple closed curve, then
R2 \ f (S 1 )
has exactly two components.
Fact: If f : [0, 1] → R2 is continuous and one-to-one then R2 \ f ([0, 1]) is connected.
Friday, June 22
Midterm: 53 wrote. Average was 75% (22.5/30). 18 got ≥ 90% (27/30). 5 got < 50% (15/30).
Peano found a continuous and onto “space-filling curve” f : S 1 → ([0, 1] × [0, 1]).
[diagram] This graph has three cycles (u, a, v, b, u), (u, a, v, c, u) and (u, b, v, c, u).
If this graph is embedded in the plane, then each of these cycles is represented by a simple closed curve. [diagram]. The path
(u, c, v) must be contained on one side of the cycle (u, a, v, b, u).
Theorem 1.48. Let G be a 2-connected graph. In any planar embedding of G, all the faces of G are bounded by cycles of G.
Proof. Let G0 , G1 , . . . , Gk = G be an ear decomposition of G. Each of G0 , . . . , Gk is embedded (by the embedding of G). The
JCT tells us that G0 has two faces and they are both bounded by G0 . This gives us the base for our induction.
For the induction step, suppose i < k is such that every face of the embedding of Gi is bounded by a cycle of Gi . We shall prove
the same holds for Gi+1 .
By the definition of ear decomposition, there is a path Pi+! in G whose ends are in Gi but is otherwise disjoint from Gi and
Gi+1 = Gi ∪ Pi+1 .
Because Pi+1 is connected, it is contained in one of the faces of Gi . From our discussion of the example above (“this graph has
three cycles”) we know that Pi+1 splits this face into two, each bounded by a cycle containing Pi+1 . All other faces of Gi+1 are
also faces of Gi , so all faces of Gi+1 are bounded by cycles, as required.
Monday, June 25
(thanks to: Ritvik Ramkumar)
Theorem 1.49. Let G be a 2-connected graph embedded in the plane. Then the face boundary cycles span the cycle space.
Aside 1.50. If H is a graph in which every vertex has even degree, then the dual graph is bipartite. [diagrams]
Proof. Because the set of all cycles in our 2-connected graph G spans Z(G), it suffices to prove that every cycle is a linear
combination of face boundaries.
Let C be a cycle in G. By the Jordan Curve Theorem, C has two sides. Let C1 , . . . , Ck be all the face boundary cycles of one
side of C. We claim
There are three types of edges in Gi :
1. Those on the same side of C as the Ci
2. Those in E(C)
3. Those on the other side of C from the Ci
• Each edge of type 1 is in exactly two of the Ci and is not in
• Each edge of type 2 is in exactly one of the Ci and so is in
• Each edge of type 3 is in none of the Ci and so is not in
It follows that C =
Definition 1.51. Let G be a graph. A cycle double cover for G is a sequence (to allow repetitions) (C1 , . . . , Ck ) of cycles in
G so that each edge of G is in precisely two of the Ci .
Remark 1.52 (famous conjecture11 ). Every 2-connected graph has a cycle double cover.
Wednesday, June 27
11 See the following: http://188.8.131.52/W_kiss10/74000161_pv.pdf. The cycle double cover conjecture states that every bridgeless graph
has a cycle double cover, but to prove this it (apparently) suffices to show that every 2-connected graph has a cycle double cover (please look into this
yourself; I do not know for sure).
Theorem 1.53 (Maclane’s Theorem). Let (C1 , C2 , . . . , Ck ) be a cycle double cover in a 2-connected graph G whose terms span
Z(G). Then there is a planar embedding of G whose faces are bounded by C1 , C2 , . . . , Ck−1 , and Ck .
Lemma 1.54. Let (C1 , . . . , Ck ) be a cycle double cover in a 2-connected graph G whose terms span Z(G). Then, for each
i ∈ 1, 2, . . . , k, we have that C1 , C2 , . . . , Ci−1 , Ci+1 , . . . , Ck are linearly independent.
Remark 1.55. If (C1 , . . . , Ck ) is a cycle double cover in G, then (by definition) each edge of G is in exactly two of the Ci .
C1 ⊕ C2 ⊕ . . . ⊕ Ck = ∅.
Proof of lemma. Suppose for j 6= i, the αj are such that
αj Cj = ∅.
We will prove all αj are 0. Let
Every edge in Ei occurs in precisely two of the Cj having coefficient 1 (in other words, every edge is in 0 or 2 of the Cj having
coefficient 1 and in 0 or 2 of the Cj having coefficient 0).
Since E(Ci ) is disjoint from Ei , Ei 6= E(G). We claim Ei = ∅, the proof is by contradiction. So suppose e1 ∈ Ei and
e2 ∈ E(G) \ Ei . Since G is 2-connected, there is a cycle C in G containing both e1 and e2 . Since C is in Z(G) and (C1 , . . . , Ck )
spans Z(G), there are coefficients βj (j 6= i) so that
βj Cj .
We note that C1 ⊕ . . . ⊕ Ck = ∅, so
C1 ⊕ . . . ⊕ Ci−1 ⊕ Ci+1 ⊕ . . . ⊕ Ck = Ci .
For each j 6= i, either E(Cj ) ⊆ Ei or E(Cj ) ⊆ E(G) \ Ei . Since C has e1 ∈ Ei and e2 ∈
/ Ei , there is no j so that C = Cj . More
generally, there is one j with βj = 1 so that E(Cj ) ⊆ Ei (e1 ) and another j ′ with E(Cj ′ ) ⊆ E(G) \ Ei (e2 ).
βj Cj .
This sum contains e1 , and so is not empty. The last main point is that
βj Cj ⊆
βj Cj .
Let e ∈
E(Cj )⊆Ei βj Cj . Then e ∈ Ei . If j ∈ 1, 2, . . . , k is such that e ∈ E(Cj ), then (because either E(Cj ) ⊆ Ei or
E(Cj ′ ) ⊆ E(G) \ Ei ) we know E(Cj ′ ) ⊆ Ei . In particular, in the sum
one of the two cycles containing e has coefficient βj = 1, while the other has coefficient 0.
Thus, e ∈ j6=i βj Cj . That is, e ∈ E(C). Note that e2 ∈ E(C) and e2 is not in
βj Cj .
Therefore, E(Cj )⊆Ei βj Cj is a non-empty proper subset of E(C).
But E(Cj )⊆Ei βj Cj is a non-empty element of Z(G) and so contains a cycle C ′ . But then C ′ is a proper subset of the cycle C,
Friday, June 29
We now give an outline of the proof of Lemma 1.54 which we presented last time. This is important to understand as it is the
key technical step in the proof of Maclane’s Theorem.
Proof outline. We have:
• We assumed not. Let
βj Cj = ∅ with not all βj = 0.
• Observe that Cj : βj = 1 has the property that every edge of G is in either 0 or 2 of these Cj . We let
• E(Ci ) ∩ Ei = ∅.
• Let C be a cycle containing an edge in Ei and an edge not in Ei .
• C is a linear combination r=1 αr Cr
• There is at least one j so that βj = 1 and αj = 1. [Any edge in C is in precisely one Cr that has αr = 1. There is an edge
of Ei in C, so the corresponding Cr is contained in Ei ].
E(Cr )⊆Ei αr Cr contains all the edges in C that are in Ei and no other edges of Ei .
• Thus E(Cr )⊆Ei αr Cr is a non-empty sum and is contained in Ei .
• The sum E(Cr )⊆Ei αr Cr is contained in C.
• Since C has an edge not in Ei , E(Cr )⊆Ei αr Cr is a proper subset of E(C).
E(Cr )⊆Ei αr Cr is in Z(G), and so is the edge-disjoint union of cycles. In particular, it contains a cycle D.
• Therefore the cycle D is a proper subgraph of the cycle C. This is the contradiction, showing the original equation
βj Cj = ∅
with some βj = 1 cannot occur. That is, C1 , . . . , Ci−1 , Ci+1 , . . . , Ck are linearly independent.
Monday, July 2 – holiday
Wednesday, July 4
(thanks to: Ritvik Ramkumar; Jimmy Zhu)
Theorem 1.56 (Maclane). Let (C1 , . . . , Ck ) be a cycle double cover of a 2-connected graph G that spans Z(G). Then there is
a planar embedding of G for which the face boundaries are C1 , . . . , Ck .
Proof. We proceed by induction on |E(G)| − |V (G)|. If |E(G)| − |V (G)| = 0, then, because G is 2-connected, G is a cycle. In
this case the only cycle double cover of G is (G, G). Since every planar embedding of G has faces, bounded by G, the cycles in
the cycle double cover are the face boundaries of a planar embedding of G.
For the inductive step, let G0 , . . . , Gr be an ear decomposition of G. We showed that r = |E(G)| − |V (G)|. Let H = Gr−1 and
let P be the path in G such that G(= Gr ) = H ∪ P . A7Q5b shows that if C is a cycle in G containing an edge of P then P ⊆ C.
It follows that, for two of C1 , . . . , Ck , P is contained in these two and meets any other only in an end. We choose the labelling
so that P ⊆ C1 , P ⊆ C2 .
A8Q4 shows that C3 , . . . , Ck is a basis for Z(H), therefore every edge of H is in either one or two of C3 , . . . , Ck . Now A8Q3
shows C3 , . . . , Ck extends to a cycle double cover C3 , . . . , Ck , D1 , . . . , Ds ) of H.
Friday, July 6
MacLane’s Theorem: If (C1 , . . . , Ck is a cycle double cover of a 2-connected graph G that spans Z(G), then there is a planar
embedding of G with C1 , C2 , . . . , Ck as the face boundaries.
Proof. Choose the labelling so that C1 and C2 are the two Ci containing P . We claim C3 , . . . , Ck is a basis for Z(H)
Proof: Since C2 , C3 , . . . , Ck is an independent set of Z(G) that spans Z(G) (because
), we have dim Z(G) = k − 1.
By A7Q5, dim Z(G) = dim Z(H) + 1, so dim Z(H) = k − 2. But C3 , . . . , Ck is a linearly independent set in Z(H) of size
k − 2, so is a basis for Z(H). QED.
Observe that every edge of H is in at most two of C3 , . . . , Ck (because the Ci are part of a cycle double cover of G). Every edge
of H is in at least one of C3 , . . . , Ck because H is 2-connected, so every edge of H is in a cycle. This cycle is in Z(H) and so is
a linear combination of C3 , . . . , Ck .
A8Q5 implies there is a cycle double cover (C3 , C4 , . . . , Ck , D1 , . . . , Dr ) of H. This is because i=3 Ci is in Z(H) and consists
of those edges of H in exactly one of C3 , . . . , Ck . Since i=3 Ci is in Z(H), it is the edge-disjoint union of cycles D1 , . . . , Dr
of H. Since (C3 , . . . , Ck , D1 , . . . , Dr ) contains a basis for Z(H), it obviously spans Z(H). Since C3 , . . . , Ck , D1 , . . . , Dr−1 is
linearly independent and contains the basis C3 , . . . , Ck , it follows that
C3 , . . . , Ck , D1 , . . . , Dr−1 = C3 , . . . , Ck ,
so r = 1.
We know D1 =
Ci and C1 ⊕ C2 =
Claim: C1 ∩ C2 = P (as subgraphs).
Ci . Therefore D1 = C1 ⊕ C2 (as edge sets).
Proof: We know E(C1 ) ∩ E(C2 ) = E(P ) from D1 = C1 ⊕ C2 and the fact that every edge of H is in at most one of C1 and C2 .
Suppose by way of contradiction that v is a vertex common to C1 and C2 , but not in P . The two edges of C1 incident with v
are not in P and, therefore, are in D1 . Likewise, the two edges of C2 incident with v are in D1 . These four edges are distinct,
so the cycle D1 has the vertex v incident with four edges of D1 , a contradiction. Thus, C1 ∩ c2 = P , as required. QED.
The cycle double cover (C3 , . . . , Ck , D1 ) of H spans Z(H). Since
|E(H)| − |V (H)| = |E(G)| − |V (G)| − 1
the induction implies H has a planar embedding with C3 , . . . , Ck , D1 as face boundaries. Since D1 is the union of the paths in
C1 and C2 complementary to P , we can draw P across the face of H bounded by D1 to get a planar embedding of G with faces
bounded by C1 , C2 , . . . , Ck , as required.
Monday, July 9
Definition 1.57. Let C be a cycle in a graph G. A C-bridge in G is a subgraph H of G that is either:
1. an edge of G not in C but both ends are in C, or
2. obtained from a component K of G − V (C) by adding all edges incident with a vertex of K and their other end.
For a C-bridge B in a graph G, the attachments of B are the vertices in C ∩ B and the set of attachments is denoted att(B).
[diagrams on camera]
We will often draw pictures like this: [diagram with clouds B1 and B2 ].
For a C-bridge of type (ii), the subgraph K is the nucleus of the C-bridge.
Let G be a 3-connected graph. A cycle in C in G is peripheral if there is only one C-bridge.
[diagrams: peripheral vs. nonperipheral in the Petersen graph]
Theorem 1.58. Let G be a 3-connected graph. Then:
1. For each edge e of G, there are at least two peripheral cycles C1 and C2 in G containing e and so that C1 ∩ C2 is just e
and its ends.
2. The peripheral cycles span Z(G).
Let B be a C-bridge in a graph G. Then att(B) occurs in some cyclic order a1 , a2 , . . . , ak around C [diagram]. The subpaths
from ai−1 to ai (for 1 ≤ i ≤ k, with indices read modulo k) are the residual arcs of B.
Wednesday, July 11
(thanks to: Jimmy Zhu)
We want to show that every edge in a 3-connected graph is connected in a peripheral cycle.
The idea is to start with a particular cycle C0 containing e and look at one of the C0 -bridges B0 . If C0 is peripheral then we
are done. Otherwise, we shall find a path P that joins two vertices of C0 and separates e from some attachment of B0 , and
create a new cycle C1 by taking C0 up to the path P as well as the path itself. Note that the C1 -bridge B1 containing B0 is a
strictly larger bridge since it contains edges of C0 . We shall continue this process until Ci is peripheral for some i and this shall
terminate since the Ci -bridge Bi contain Bi−1 and be strictly larger Bi−1 and we can’t grow bridges forever.
Note the following proof differs from the one given in the notes. The idea is the same but the presentation is different. A copy
of this proof will be posted on the course webpage.
Theorem 1.59. Let e be an edge of a 3-connected graph G. Then there is a peripheral cycle in G containing e. Moreover, if C
is a peripheral cycle in G containing e, then there is a peripheral cycle C ′ in G so that C ∩ C ′ consists of just e and its ends.
Proof. Let C0 be any cycle in G containing e and let B0 be any C0 -bridge. We prove that either C0 is a peripheral cycle or there
is a cycle C1 in G containing e and a C1 -bridge B1 so that B0 ( B1 .
Case 1: Suppose first some C0 -bridge B, not B0 , has at least 3 attachments in common with B0 . Let x, y, z be three common
attachments of B and B0 . The vertices x, y, and z are ends of three paths in C0 ; one from x to y, one from y to z, and the
third from z to x, so that these paths are disjoint except for one common end (we may choose the labelling so that x, y, z occur
in order, when traversed in some fixed directed, on C0 ).
Exactly one of the three paths contains e; choose the labelling so that it is the zx-path Q. There is a zx-path P in B so that
P ∩ C0 is just z and x. (Each of x and z has a neighbour in the nucleus of B. The nucleus is connected, so the neighbours are
joined by a path in the nucleus. Add the edges to the x and z to get P .)
Let C1 be the cycle P ∪ Q. We see that C1 is totally disjoint from the nucleus of B0 , so B0 is contained in some C1 -bridge B1 .
The vertex y is not in C1 and is adjacent to a vertex in the nucleus of B0 . Therefore y is in the nucleus of B1 . Thus, the two
edges of C0 incident with y are in B1 and not in B0 , so B0 ( B1 .
Case 2: We can now assume no C0 -bridge other than B0 has three attachments that are also attachments of B0 . Assume next
that some C0 -bridge B 6= B0 has two attachments x and y so that e is in one xy-subpath of C0 and B0 has an attachment w
(not x or y) in the other xy-subpath of C0 .
Let Q be the xy-subpath of C0 containing e and let P be an xy-path in B meeting C0 only in x and y. Set C1 = P ∪ Q. Again,
the nucleus of B0 is disjoint from C1 and so is contained in the nucleus of some C1 -bridge B1 that also contains w. Again
B0 ( B1 .
Friday, July 13th
(thanks to: Jimmy Zhu)
Proof continued: Recall that we have the following “growing cases” of the proof:
We assume there is a C0 -bridge B different from B0 having attachments x and y so that e is in one xy-subpath of C0 and B0 has
an attachment w in the interior of the other xy-subpath of C0 . This includes the case B has 3 attachments in common with B0 .
The rest of this “growing” phase is completed by showing that there is some C0 -bridge that satisfies the growing cases assumption
(otherwise G is not 3-connected).
Because C0 is not peripheral, there is a C0 -bridge B distinct from B0 . If B has three attachments in common with B0 , then B
satisfies the assumption of the growing case and we are done. So we assume that B has at most two attachments in common
with B0 . We claim that there is a vertex of C0 that is not an attachment of B0 .
If B has an attachments that is not an attachment of B0 , then we have our desired vertex of C0 not in B0 . So we can assume
att(B) ⊂ att(B0 ). Thus B has at most two attachments. If B has a nucleus then A9Q3 shows B has at least three attachments.
Then B is just an edge and so has two attachments.
Let P be the xy-subpath of C0 containing e. If C0 − V (P ) (deleting also x and y) has an attachment of B0 , then B satisfies the
assumption of the growing case. Therefore we can assume all attachments of B0 are in P . Since B is an edge joining x and y,
neither xy-subpath of C0 is just an edge. In particular, C0 − V (P ) has the desired vertex.
Let w be a vertex of C0 not in B0 and let R be the residual arc of B0 containing v; let u and v be the attachments of B0 that
are the ends of R. Consider G − u, v; since G is 3-connected, G − u, v is connected. We claim that C0 − u, v has two
If B0 has any attachments other than u and v, then every such attachment is in the component of C0 − u, v not containing
w. On the other hand, if B0 has only two attachments, B0 is just the edge uv and neither uv-subpath of C0 is just an edge.
Let z be a vertex in the component of C0 − u, v not containing w. There is a wz-path in G − u, v, so there is a path Q in
G − u, v having ends in both components of C0 − u, v but otherwise disjoint from C0 .
There is a C0 -bridge B ′ containing Q. Let x and y be the ends of Q. The four vertices u, x, v, y are distinct and occur in this
cyclic order. We see that e is in one of the two xy-subpaths of C0 ; only one of u, v is in the same subpath, so the other shows
B ′ satisfies the condition of the growing cases.
Monday, July 16
(thanks to: Jimmy Zhu)
Proof continued: By the induction hypothesis, we obtain a sequence (C0 , B0 ), . . . , (Ci , Bi ) such that each Cj is a cycle containing
e, each Bj is a Cj -bridge, and B0 ( B1 ( · · · ( Bi .
For the inductive step, if Ci is peripheral then we are done and the sequence. Otherwise, if Ci is not peripheral, then we may
apply what we showed to obtain a cycle Ci+1 containing e and a Ci+1 -bridge Bi+1 such that Bi ( Bi+1 . This extends the
sequence by one more term.
We observe now that the number edges of any bridge Bi is trivially bounded above by the number of edges of G. It follows that
there is some i such that we cannot extend the sequence further. For this i, Ci is a peripheral cycle containing e.
For the “moreover” portion of the theorem, let B be the unique C-bridge. Each of the ends x and y of e is incident with an edge
not in C (G is 3-connected, hence deg(x) ≥ 3 and deg(y) ≥ 3). It follows that these edges are in B, so x and y are attachments
of B. Therefore, there is an xy-path P (as noted earlier, P is comprised of a path in B and the edges from x and y into B) in
B disjoint from C except for x and y.
Let C ′ be the cycle P + e. Note the path C − e is disjoint from C ′ except for x and y. Let B ′ be the C ′ -bridge containing C − e.
Apply the existence proof we did earlier to get a peripheral cycle C ′′ with a unique C ′′ -bridge containing B ′ . Then C ∩ C ′′ is
just e and its ends, as required.
Theorem 1.60 (“build a bridge”). Let C be a cycle in a 3-connected graph G and let B be a C-bridge. Then either (exclusive
(i) C is a peripheral cycle so that B is the only C-bridge;
(ii) there is a C-bridge B ′ 6= B so that B and B ′ have at least 3 common attachments; or
(iii) there is a C-bridge B ′ 6= B, B ′ -attachments x′ , y ′ and B-attachments x, y so that x, x′ , y, y ′ are distinct and occur in cyclic
order on C.
Proof. We shall assume that neither (i) nor (ii) holds and prove that (iii) holds. Our first step is to prove either there is a vertex
of C not an attachment of B or (iii) holds.
Since C is not a peripheral cycle there is another C-bridge B ′ . If B ′ has an attachment that is not an attachment of of B, then
there is a vertex of C not in B. So we can assume att(B ′ ) ⊂ att(B). Either | att(B ′ )| ≥ 3 or B ′ is an edge; because (ii) does not
hold, B ′ does not have 3 attachments common with B so | att(B ′ )| < 3 so B ′ is just an edge xy.
Since only one xy edge can exist in B, C − x, y has two components. If B has an attachment in both components of C − x, y
then we have (iii). Otherwise, one component of C − x, y has a vertex w of C and has no attachments of B, as required for
the first step.
Let u and b be the attachments of B at the end of the residual arc of B containing w. We claim that C−u, v has two components;
clearly, one component contains w. If B has a third attachment then any such attachment is in the other component of C −u, v.
If B has no other attachments, then B is the edge uv and C does have an edge joining u and v. In either case, C − u, v
has a second component. Also, G − u, v is connected, so there is path with an end in each component of C − u, v; such a
path is otherwise disjoint from C. Its ends are attachments of a C-bridge different from B (because no attachment of B is in
w-component of C − u, v). These attachments alternate with u and v, giving (iii).
Wednesday, July 18
Theorem 1.61. Let G be a 3-connected graph. Then the peripheral cycles of G span Z(G).
Proof. The cycles span Z(G), so it suffices to show that every cycle is a linear combination of peripheral cycles. So let C be
any cycle, and let B be any C-bridge. We will prove by induction on |E(G)| − |E(C ∪ B)| that C is a linear combination of
peripheral cycles. This number is 0 if and only if C is peripheral, in which case C = 1 · C is a linear combination of peripheral
For the induction step, suppose |E(G)| − |E(C ∪ B)| > 0. Then C is not peripheral. By the “build a bridge” theorem, either
there is a second C-bridge B ′ having 3 attachments in common with B or there is a second C-bridge B ′ , B-attachments x, y,
and B ′ -attachments x′ , y ′ so that x, x′ , y, y ′ are distinct and occur in this order on C.
We consider these two possibilities separately. Suppose first B ′ has 3 attachments x, y, z in common with B. By Assignment 9
Question 4 (verify), there is a subdivision Y of K1,3 in B ′ having vertices x, y, z as degree 1 vertices and otherwise disjoint from
For any distinct vertices u, v ∈ x, y, z, there is a unique uv-subpath of C not containing the vertex in x, y, z \ u, v. This
subpath together with the uv-path in Y yields a cycle Cuv . Note that C = Cxy ⊕ Cxz ⊕ Cyz as every edge of C is in exactly
one of Cxy , Cxz , Cyz , while every edge of Y is in precisely two. Considering Cxy as a prototype, we see that the Cxy -bridge B +
containing the nucleus of B also contains z, in fact it contains the xy-subpath of C containing z.
Therefore C ∪B ⊆ Cxy ∪B + , but also Cxy ∩Y is contained in Cxy and is not in C ∪B. We conclude that |E(Cxy ∪B)| > |E(C ∪B)|.
[diagram of case 1] The induction implies Cxy is a linear combination of peripheral cycles; the same holds for Cxz , Cyz . As C
is a linear combination of Cxy , Cxz , Cyz , it follows that C is a linear combination of peripheral cycles.
[diagram of case 2] In the second case, let P be an x′ y ′ -path in B ′ that is disjoint from C except for x′ and y ′ . Let Cx be the
cycle consisting of P and x′ y ′ -subpath of P containing x, similarly Cy contains y.
Again C = Cx ⊕ Cy and, for example, the x′ y ′ -subpath of C through y is contained in the same Cx -bridge as Bx as B.
Furthermore, C ∪ B ⊆ Cx ∪ Bx and P ⊆ Cx ∪ Bx but P is not contained in C ∪ B. So |E(Cx ∪ Bx )| > |E(C ∪ B)|. Thus Cx and
Cy are linear combinations of peripherals and consequently C is as well.
Friday, July 20
We have seen that if G is a 3-connected graph, then
(i) every edge of G is in at least two peripheral cycles
(ii) the peripheral cycles span Z(G)
Case 1: Each edge of the 3-connected graph G is in only two peripheral cycles of G.
In this case, the peripheral cycles are a cycle double cover of G and they span Z(G). Therefore, Maclane’s theorem implies G is
planar. (Moreover, the peripheral cycles are precisely the face boundaries).
Case 2: Some edge of G is in more than two peripheral cycles.
Since (Assignment 10) every peripheral must bound a face in every planar embedding of G, if G is planar, then every edge is in
at most two peripheral cycles. Thus, in Case 2, G is not planar.
In order to prove Kuratowski’s Theorem, we need to show that if some edge is in more than two peripheral cycles, then G
contains a subdivision of K3,3 or K5 .
Tutte’s Crucial Argument. Let P and Q be distinct peripheral cycles in a 3-connected graph G so that P ∩ Q has at least
two vertices. Then either P ∩ Q is just an edge and its ends or G contains a subdivision of K3,3 .
There exists an edge in Q not in P [diagram].
Proof. There is an edge e of Q not in P ; e is in a subpath Q1 of Q that has its ends x and y in P but is otherwise disjoint from
P . Let P1 and P2 be the two xy-subpaths of P .
Suppose P1 , say, has length 1. If P1 is not contained in Q, then P1 is a Q-bridge. There is another Q-bridge containing an edge
of G not in Q but incident with a vertex of Q − x, y. Since Q is peripheral, this is a contradiction. So if P1 has length 1,
P1 ⊆ Q. Thus Q = P ∪ Q and, therefore, P ∩ Q = P1 is just an edge and its ends.
The same conclusion holds if P2 has length 1. Thus, we can assume P1 and P2 both have length at least 2. For i = 1, 2, let pi
be a vertex of Pi − x, y. Assignment 10 Question 3 shows that if B is the Q-bridge in G then V (G) = V (B); in particular
p1 , p2 ∈ V (B). In B, there is a p1 p2 -path that is disjoint from Q except for possibly p1 and/or p2 . Notive that x, y ∈ V (Q) and
x, y ∩ p1 , p2 = ∅, so x, y are not in R.
There is a subpath R′ of R that has an end in both components of P = x, y and is otherwise disjoint from P .
Monday, July 23
(thanks to: Jimmy Zhu)
Lemma 1.62 (Crucial Lemma). Let P and Q be distinct peripheral cycles in a 3-connected graph G. If P and Q have at least
2 vertices in common, then either P ∩ Q is an edge and its ends or G has a subdivision of K3,3 .
Proof. We found Q1 ⊂ Q disjoint from P and we have a path R from one component of P to another which is disjoint from P
and Q except for (possibly) its ends. Neither R nor Q1 can have length 1. If either of these has length 1, then it is a P -bridge
and so there are at least two P -bridges, a contradiction. Thus, both R and Q1 have interior vertices.
Let r and p be vertices in the interiors of R and Q1 , respectively. Neither r nor q is in P and hence both are in the nucleus of
the P -bridge BP . Therefore, there is a rq-path S disjoint from P . We let S ′ be any subpath of S that has both its ends in both
R and Q1 , but is otherwise disjoint from R ∪ Q1 .
We claim that P ∪ Q1 ∪ R ∪ S is a subdivision of K3,3 . One side of the bipartition is the two ends of Q1 plus the end of S ′ in
R. The other side of the bipartition consists of the ends of R plus the end of S ′ in Q1 . The nine edges are the 4 subpaths of P ,
the 2 subpaths of R, the 2 subpaths of Q1 , and S ′ .
Theorem 1.63. Let G be a 3-connected graph. If some edge of G is in 3 or more distinct peripheral cycles, then G has a
subdivision of either K3,3 or K5 .
Proof. Let P1 , P2 , and P3 be 3 different peripheral cycles containing the edge e. If any two of them intersect in more than just e
and its ends, then the Crucial Lemma implies G has a subdivision of K3,3 . Thus, we can assume that, for distinct i, j ∈ 1, 2, 3,
Pi ∩ Pj intersect in just e and its ends.
Consider, for example, P1 . Each of P2 and P3 has a vertex not in P1 , so there is a path in the nucleus of the P1 -bridge joining
vertices in P2 and P3 ; we can choose this path to have only its ends in P2 ∪ P3 . Label this path Q1 and its ends Pj , j ∈ 2, 3,
as v1j .
Likewise, there is a path Q2 joining v21 in P1 to v23 in P3 , and there is a path Q3 joining v31 in P1 to v32 in P2 . These paths
Q1 , Q2 , Q3 are disjoint from P1 ∪ P2 ∪ P3 except for the ends, and their ends are not incident with e.
Suppose Q1 and Q2 have an internal vertex in common. As we traverse Q2 from its end v21 in P1 , there is a first vertex w that
is in the interior of Q1 . This v21 w-subpath of Q2 , together with Q1 ∪ ((P1 ∪ P2 ∪ P3 ) − e) is a subdivision of K3,3 .
Wednesday, July 25
S11 final posted. Special TAs and office hours next Thursday and Friday. Q & A Monday August 6 1 – 3 (room posted).
Theorem 1.64. Let G be a 3-connected graph. If some edge e of G is in at least three distinct peripheral cycles, then G has a
subdivision of either K3,3 or K5 .
Proof so far. Let P1 , P2 , P3 be three peripheral cycles containing e. Crucial Lemma deals with the case some two of the Pi
intersect in more than e and its ends. For i = 1, 2, 3 let Qi join vertices of Pj and Pk (i, j, k = 1, 2, 3) so that Qi is totally
disjoint from Pi , has an end in each of Pj , Pk , but otherwise disjoint from Pj ∪ Pk . If some two Qi have internal vertices in
common, then G has a subdivision of K3,3 .
So now we can assume Q1 , Q2 , Q3 are internally disjoint; however, some of their ends might be equal.
If v13 = v23 , v12 = v32 , and v21 = v31 , then
P1 ∪ P2 ∪ P3 ∪ Q1 ∪ Q2 ∪ Q3
is a subdivision of K5 .
In the final case, we may assume that v12 6= v32 . Let x be one end of e and let y be the other. We may choose the labelling of x
and y so that the vertices x, v32 , v12 , y occur in this order in P2 − e. As we follow P1 − e from x towards y, let w1 be the first
of v21 , v31 we come to. Delete the interior of the xw1 -subpath of P1 − e. If w1 = v21 , then v31 is the vertex of K3,3 ; otherwise
v21 is the vertex of K3,3 .
Let w3 be the first of v13 , v23 in P3 − e as we travel from y to x. Delete the interior of the yw3 -subpath of P3 − e. If w3 = v13 ,
then v23 is the vertex of K3,3 ; otherwise v13 is the vertex of K3,3 .
It is routine to check the 9 cases to see that this yields a subdivision of K3,3 .
Only time we got a K5 was when all the pairs were the same. In every other case we got a K3,3 subdivision.
Introduction to Graph Theory (Co 342)
- University Of Waterloo
- Introduction to Graph Theory
- Introduction to Graph Theory – Lecture notes – co3422012Year: 12/13
- 32Number of pages
- Exam 2002, questions and answersYear: 01/02
- 30Number of pages