Section 1.1: What is a Graph? Graph, , vertex degree, , complement graph, , proper coloring, subgraph, path, , connected graph. Cliques and bicliques. Independent set of vertices. Given a subset of subgraphs, one can define maximal subgraphs and max- imum subgraphs. Maximal: not a subgraph of any other. Maximum: has largest possible size of some sort. Connected component: maximal connected subgraph. . : bijection of vertex sets inducing bijection of edge sets. Graphs can be superimposed. Proving non-isomorphic: find structure in one that does not exist in the other. For example: subgraph with certain number of vertices or edges or vertex degrees etc. The number of graphs. The number of connected graphs? Trees. The number of trees? The . Properties: bottom of page 13. Homework: 4, 13, 14, 18, 24, 25, 26, 27, 28, 34.

Section 1.2: Paths, Cycles, and Trails. Walk: sequence of successive edges. Length is number of edges. Path: a walk in which no vertices are encountered more than once. Endpoints and internal vertices. Trail: a walk in which no edges are encountered more than once. Cycle: a path plus a distinct returning edge. cut-edge, cut-vertex, . Property of cut-edge: bottom of page 23. Property of closed walk: page 24. Characterization of bipartite graph: top of page 25. See also Exercise 25. Union of subgraphs: bottom of page 25.

1 Characterization of Kn as union of bipartite graphs: top of page 26. Appli- cation at very top of page. Eulerian graph: top of page 27. Characterization of Eulerian graph: bottom of page 27. Proof: we can prove that each component of a graph with even degrees has an Euler Cycle by induction on edges. No edges: done. At least one edge: find cycle, cut out, leaving fewer edges. There’s an Euler Cycle for each component. Add pack the cycle edges, gluing some of these together. The ones that are glued together constitute one component which has an Euler Cycle. Graphs with large minimal degrees have large paths and cycles: bottom of page 28. Just read the rest yourselves. Homework: 6, 17, 20, 25, 29, 31, 38, 39, 40, 41.

Section 1.3: Vertex Degrees and Counting

Degree, k-regular, NG(v) neighborhood of v, n(G) order of G (number of vertices), e(G) size of G (number of edges). Degree-Sum Formula. Corollaries: average vertex degree, even number of odd degree vertices, number of edges in a k-regular graph.

Structure of the hypercube Qk. k-regular bipartite graph has same number vertices on each side of vertex partition. The Petersen graph has ten 6-cycles. Computing the number of edges and the degree sequence of a graph from its vertex-deleted subgraphs, page 37. Reconstruction Conjecture, page 38. The minimal number of edges in a connected graph with n vertices is n − 1. Minimal degree in an n vertex graph ≥ (n − 1)/2 implies graph is connected. Every loopless graph G has a bipartite subgraph with at least e(G)/2 edges. An algorithm is provided. Example 1.3.20 on page 41 shows that this algo- rithm is not optimal for all graphs.

2 n2 The maximum number of edges in an n-vertex triangle-free graph is b 4 c. The bound is attainable. Proof employs vertex-degree sum formula. Skip the material on graphic sequences. Homework: 1, 10, 20, 31, 32, 37, 38, 40, 45, 51.

Section 1.4: Directed Graphs Directed graph. Isomorphism. Strongly connected components. Kernel of digraph: independent set of vertices, every vertex outside this set has edge to this set. Theorem 1.4.16: Every digraph having no odd cycle has a kernel. Proof: First assume strongly connected. Let y be an arbitrary vertex. Let S be the set of vertices with an even length directed walk to y. Then every vertex outside S has an edge into S. To show that S is independent, suppose that u → v in S. Since closed odd walks contain closed odd cycles, there are no closed odd walks in S. Hence there is an even walk from y to u, an odd walk from u to v, and an even walk from v to y, which creates a closed odd walk. Contradiction. Therefore u → v cannot exist. Now drop the strongly connected hypothesis and use induction on number of vertices. Base case is 1 vertex: true. Now assume true for all n vertex digraphs. Let D be digraph with n + 1 vertices, no odd directed cycles. If strongly connected, use construction above. If not, find component C with no exiting edges. Form kernel S. Now form kernel T on what remains (D0) after discarding S and its predecessors in D. Then there are no edges among vertices in T or among vertices in S or from S to T or from T to S, and every outside S and T has an edge into S or T , so the kernel for D is the union of S and T . In-degree, out-degree, in-neighborhood, out-neighborhood. Sum of in-degrees = sum of out-degrees = number of vertices. If all out-degrees in a digraph are at least one then the digraph has a directed cycle. Maximal path argument. There are Eulerian circuits through the components in a directed graph if and only if in-degree = out-degree at all vertices. De Bruijn Cycle: a circular arrangement of 2n 1s and 0s in such a way that every consecutive n-string is distinct. Construction: create digraph with

3 vertex set the collection of binary strings of length n−1. Edge: (b(x), c, (x)c). Out-degrees are 2. In-degrees are 2. Graph is (strongly) connected: To get from b1 ··· bn−1 to c1 ··· cn−1, follow the edges

(b1(b2 ··· bn−1), c1, (b2 ··· bn−1)c1)

(b2(b3 ··· bn−2c1), c2, (b3 ··· bn−2c1)c2) and so forth. There are 2n edges, they are all distinct, and the order in which they are encountered is the same as the order they would be encountered along a cycle of 0s and 1s, properly laid out according to the Eulerian Circuit.

Orientation of a graph: form digraph. Tournament: orientation of complete graph. Number of tournaments: pick orientation for each graph. Number of di- graphs: for each pair of edges, one of three possibilities: don’t form edge, form edge in one direction, form edge on other direction. King: vertex in digraph which has path of length ≤ 2 to every vertex. Ever tournament has a king. Proof: find vertex x of maximal out-degree. Suppose x does not have an edge to y. Then y has edge to x. None of the successors of x point to y, so y points to all of these, so y has at least as many successors (in fact one more, namely x – contradiction). Therefore x points to y. Homework: 4, 6, 11, 14, 17, 19, 21, 25, 28, 39

Section 2.1: Basic Properties of Trees A tree with at least two vertices has at least 2 leaves. Proof: maximal path. Deleting leaf vertex leaves a tree. Proof: connected, no cycles. Equivalent to being a tree on n vertices: connected and no edges, connected and n − 1 vertices, n − 1 edges and no cycles, unique paths. Every edge of tree is cut edge. Adding edge to tree creates 1 cycle only. Every graph contains a spanning tree. Let T and T 0 be trees. Whenever you delete an edge from T that doesn’t belong to T 0, you can join the two components using an edge in T 0 that doesn’t belong to T . Proof: Pick a vertex in each component. There is a

4 path joining them in T 0. Hence there is an edge joining them in T 0. This is not the edge you took out, so it is some other edge. Hence it cannot belong to T . Results require that both trees have same number of edges. Let T and T 0 be trees. Add an edge to T 0, not in T 0 but in T . This creates one cycle. The cycle cannot live entirely in T , so we can break it by removing an edge from T 0, leaving a tree in place (by a count of edges and by connectivity). Proposition 2.1.8: If T is any tree with k edges and every vertex in G has degree ≥ k, then there is an isomorphic copy of T in G. Proof: By induction on k. Base case k = 1 is trivial. Now consider G with minimum degree k. Let u − v be any leaf edge in T . T − v has an isomorphic copy in G. We just need to find one so that the degree of the image of u in G is greater than the degree of u. Since T has k + 1 vertices, the worst-case scenario is that the degree of u is k. But in the worst-case scenario, T is star-shaped, and the image of u can be anywhere in G! Distance between vertices. Largest distance is diameter. Eccentricity of a vertex is distance to farthest vertex. Radius is minimum eccentricity. Theorem: For a simple graph G, diameter ≥ 3 implies the conjugate diameter is ≤ 3. Proof: Diameter > 1 implies the existence of two non-adjacent vertices u and v. For every other vertex x, x cannot be connected to both, so there is at least one edge from x to {u, v} in the complement. There is an edge from u to v in the complement. So to get from x to y in the complement, take an edge from x to {u, v}, take an edge from y to {u, v}, and if necessary use the edge from u to v. Definition 2.1.12: The center of a graph G is the subgraph induced by vertices of minimum eccentricity (minimum longest path away from vertex). Theorem 2.1.13: Tree center is vertex or edge. Proof: Label every leaf with its eccentricity. Every leaf number is larger than its neighbor. So the center does not include any leaf nodes. Hence the center occurs in the subtree obtained by clipping all the leaves. Moreover, all the eccentricities in the subtree drop by one, since eccentricities are distances to boundary. The center of the subtree is the center of the original tree. Eventually we crop down to a tree with 1 or 2 vertices. Theorem: The star has minimum average distance and the path has maxi- mum average distance of any tree on n vertices. These solutions are unique.

5 Proof: as described by the book, there are n − 1 edges in any tree, and these all contribute 1 to the sum of distances, so we just need to minimize the sum over all distances between non-adjacent vertices. Best possible is having each distance equal to 2. This is achievable uniquely by K1,n−1. Now consider the problem of maximizing D(T ). If T is not a path we will show that there is there is a tree T 0 with strictly greater diameter which satisfies D(T 0) > D(T ). First note that for any leaf vertex L, D(T ) = D(T − L)+ sum of distances from L. Using an induction argument, both D(T − L) and the sum of distances from L can be strictly increased when T − L is not a tree. Corollary: Let G be a connected n-vertex graph. D(G) ≤ D(T ) ≤ D(Pn) where T is a spanning graph of G. Homework: 12, 15, 18, 20, 34, 37, 39, 47, 60.

Section 2.2: Spanning Trees and Enumeration. Number of trees on n vertices is nn−2 Proof: Prufer code. Always delete edge of smallest leaf, recording leaf neigh- bor. To start off, we can deduce the number of vertices and the degree of each vertex given the code. Hence we can decide which edge was cut first. Now go from there. The number of distinct trees with a given degree sequence is given by the number of rearrangements of the corresponding Prufer code (which will be some rearrangement of the degrees shifted by one). Skip all the other material. Homework: Problem 1.

Section 2.3: Optimization and Trees Minimum weight spanning tree algorithms: Kruskal and Prim. Proof that they work: Each subtree in the process is contained in some minimum weight spanning tree. Finding distances from a given vertex: Djkstra’s algorithm. Proof that this works: by induction on the vertices in the order in which they are found. Breadth-first search to solve problems by exhaustive search.

6 Homework: Problems 3, 13, 14, 16, 18.

Section 3.1: Matchings and Covers

Matching: a subgraph consisting of vertex-disjoint copies of K2

Maximal matching: not possible to add another K2 to the existing collection

Maximum matching: a matching with largest possible number of K2’s

Note: P3 has a maximal matching consisting of 1 edge. There is a unique maximum matching. Every maximum matching is maximal. Perfect matching: all vertices used in matching Strategy for creating a larger matching, given M: Find a path in the graph which begins with vertex not in M, ends with vertex not in M, and alternates (edge in M, edge not in M). Let P be the edges in the path. Then P − M is larger than P ∩ M. None of the edges in P − M have a vertex in common. Moreover, no P − M edge in the path shares a vertex with M ∩ (E − P ), otherwise two M edges share a vertex. Therefore if we set M 0 = M − (P ∩ M) + (P − M), then M 0 has more edges. Theorem: If M is maximal, there are no alternating paths which begin and end outside M. Proof: otherwise, we could augment M. Hall’s Theorem: An X − Y bipartite graph has a matching using all vertices in X iff every subset S of X is connected to at least that many vertices in Y (call this set N(S)). Proof: the subset condition is necessary, otherwise there wouldn’t be enough edges to saturate S if it failed the condition. The important direction is to show that this neighbor condition is sufficient. Assume that |N(S)| ≥ |S| for every subset S of X. Suppose there is no matching saturating X.

7 Let M be maximal. We will derive a contradiction. Let u ∈ X be unsaturated. Since |N(u)| ≥ 1, there is an edge from u to t in Y . Since M is maximal matching, t cannot be unsaturated. Therefore there is edge from t to s in X using an M edge. If s is endpoint of any other edge, that edge cannot be in M. Extend as far as possible. Must end in X, otherwise augmenting. Any such maximal M-alternating path has to end in X. Let T be the set of all t’s encountered, and let S be the set of all s’s encountered. Let f(t) = s. One-to-one because edges in M are vertex-disjoint. Surjective since every t is saturated. Hence |T | = |S|. Every S has neighbor in T , therefore T ⊆ N(S + u). If an s has another neighbor, we get another t in T . Hence all neighbors of s are in T . Hence equality. But Hall’s condition violated. Contradiction. Every k-regular bipartite graph has perfect matching. Proof: Assume every vertex has been colored 0 or 1, and every 0-vertex is at- tached to k 1-vertices, and every 1 vertex is attached to k 0-vertices. Let S be any subset of 0-vertices. Number of edges incident to S is k|S|. These edges are incident to N(S), and the maximum number of such edges is k|N(S)|, therefore k|S| ≤ k|N(S)|. Hence |N(S)| ≥ |S|. By Hall’s theorem, there is matching involving all 0 vertices. Similarly, there is matching involving all 1 vertices. This says same number 0 vertices as 1 vertices. Hence matching is perfect. Vertex cover: every edge has endpoint in cover. Size of matching ≤ size of any cover. When equal, matching is maximal and cover is minimal.

The two sizes are not necessarily the same, for example in C5. Theorem: in a bipartite graph, we can always find matching and cover of equal size. Proof: Take minimal cover, decompose into R and T as on page 113. Hall’s condition has to be met for S subset of R, otherwise we can replace S by N(S) and get smaller cover. (Edges covered by S will be covered by N(S).) Hence a matching with the size of R. Similarly, another matching with the size of T . Put together.

8 Independence number of a graph: the maximum size in G-complement. Edge cover: set of edges which contain all vertices. In other words, a spanning subgraph of edges. Things that are maximal: α Things that are minimal: β Things that are about vertices: no prime Things that are about edges: prime Lemma: independence number + minimum vertex cover size = number of vertices. Proof: The complement of an vertex cover is an independent set. Reason: if there is there is an edge between vertices not in the vertex cover, then the vertex cover does not cover this edge – contradiction. The complement of an independent set is a vertex cover. Reason: no edges connect independent vertices, so every edge has non-independent edge. So complementation establishes one-to-one correspondence between vertex covers and independent sets. Okay, so n − minimum cover size = maximum independent set size. Theorem: If G has no isolated vertices, then max matching size + min edge cover size = number of vertices. Proof: Let M be a matching. Then v = 2M + (v − 2M). Therefore there is an edge cover of size ≤ M + (v − 2M) = v − M. Hence v − M ≥ min edge cover size, or v ≥ M + min edge cover size. Hence v ≥ max matching size + min edge cover size. Let L be a minimum edge cover. Every vertex is contained in one of the edges of L. Now consider the graph consisting of the edges of L, which spans all vertices. If there is an edge anywhere between two vertices of degree > 1 , we can clip that edge out without leaving any isolated vertices. This contradicts minimum edge cover.

9 Hence every edge has vertex of degree 1 attached. Hence L is a collection of stars. in each star, e = v − 1. Add up all edges, get number of vertices - number of stars. Hence number of stars + min edge cover size = v, hence max matching size + min edge cover size >= v. (Pick one edge per star to obtain a matching, so max matching is at least as large as number of stars in a min edge cover.) Hence equality. Note: when there are no isolated vertices, independence number + mini- mum edge cover size = number of vertices = max matching size + min edge cover size, therefore independence number = max matching size. In bipartite graph, min edge cover size = max matching size. Therefore in a bipartite graph with no isolated vertices, independence number = min edge cover size. Commentary on this section: A matching is a disjoint collection of edges. A matching M can be enlarged by an M-alternating path. In Hall’s Theorem, the necessary condition |S| ≤ |N(S)| is found to be sufficient using this idea. A vertex cover is a collection of vertices that sees all edges. Therefore any vertex cover must include at least one vertex per matching edge. The Konig- Egervary Theorem says that in a bipartite graph, |MinV ertexCover| = |MaxMatching|. The vertices of a minimal vertex cover are used to con- struct the edges of a maximal matching using Hall’s Theorem. The key idea is to use Hall’s condition |S| ≤ |N(S)|. The complement of a vertex cover is an independent set, which implies |MaxIndSet| = v − |MinV ertexCover|. An edge cover is a spanning subgraph of edges. Every vertex is in one of the edges. In a graph with no isolated vertices, a matching M can always be used to build an edge cover of size ≤ |M| + (v − 2|M|) = v − |M|. Moreover, an edge cover always contains a minimal edge cover which is a union of stars which produces a matching. The Gallai Theorem says |MinEdgeCover| = v − |MaxMatching|. Combined with Konig-Egevary, this implies that in bipartite graph with no isolated vertices, |MinEdgeCover| = v−|MinV ertexCover| = |MaxIndSet|. This is due to Konig.

10 Problems: 3.1.4, 3.1.5, 3.1.26, 3.1.31, 3.1.43

Chapter 4: Connectivity and Paths Section 4.1: Cuts and Connectivity Separating set or vertex cut: S ⊂ V such that G − S is not connected.

Lemma 0.1. If every G − S is connected for |S| < |G| then G = Kn.

Proof. Let a and b be two vertices in G. Remove all but these two. Resulting graph is connected. Hence there is an edge from a to b.

Corollary 0.2. If G is not Kn, then there has to be some |S| < |G| such that G − S is not connected.

Connectivity of Kn by definition is κ(Kn) = (n − 1). For any other kind of graph G, κ(G) is the minimum size S such that G−S is not connected. Removing any S such that |S| < κ(G) results in a connected graph. This is true even for complete graphs. Hence: if κ(G) = k, then removing fewer than k vertices always leaves a connected graph, and it is possible to disconnect by cutting k. k-connected graph: κ(G) ≥ k. Removing fewer than k vertices always leaves a k-connected graph still connected.

Example: κ(Kr≤s) = r. Reason: if you remove fewer than r vertices, at least one will remain on the right, hence graph is connected. But if you remove all r on the right, you disconnect the graph.

Example: Hypercube Qk has every vertex degree k. Deleting the k neighbors of 0000000 disconnects the graph, so κ ≤ k. Now show, if you delete fewer than k vertices, you don’t disconnect the graph. Proof: by induction on k. k = 1: Q1 = K2, so if you delete 0 vertices you don’t disconnect the graph.

Assume deleting fewer than k vertices does not disconnected Qk. 0 Suppose you delete k vertices from Qk+1. If some of them came from Qk+1 1 and the others came from Qk+1, then by the induction hypothesis each of

11 these subgraphs is connected, and we just need to show there is a surviving edge between them. However, removing these vertices destroys at most k2/2 edges between them, and since there are a total of k2k−1 between them, at least one edge survives. 0 Now suppose all k vertices come from Qk+1. Each component has edge to 1 Qk+1, so there are no worries.

Harary Graph H2r,n when 2r < n: example of 2r-regular graph with connec- tivity 2r. Vertices are [0], [1],..., [n − 1] modulo n. Neighbors of the vertex [a] are [a + 1] through [a + r] and [a − 1] through [a − r]. If [a − p] = [a + q] then p + q is divisible by n. But p + q ≤ 2r < n, hence p = q = 0. Contradiction. So the degree of [a] is 2r. Hence removing 2r vertices it is always possible to isolate a vertex and disconnect the graph. This makes κ(G) ≥ 2r. Now we must show that if we remove 2r − 1 vertices, resulting graph is connected. Remove 2r − 1 vertices. Let [u] and [v] remain. Travel from [v] towards [u] in the clockwise direction taking available edges as far as possible. If we don’t arrive at [u], our progress is stopped because all [r] neighbors in the clockwise direction are missing. At this point, start traveling counter- clockwise and find that there is always a neighbor in this direction because fewer than r of them in this direction can be missing. One must eventually arrive at [u], so there’s a [u] − [v] path. edge-connectivity: minimum number of edges to disconnect graph. Notation: κ0(G). A graph is k-edge connected iff κ0(G) ≥ k iff removing fewer than k edges always leaves graph connected. If κ0(G) = k, then removing fewer than k always leaves graph connected, but it is possible to disconnect with k. Edge cut [S,T ]: remove edges connecting vertices in S and vertices in T . Note: edge cuts are edge-disconnecting. Minimal edge-disconnecting sets are edge cuts: Suppose F is a minimal set of edges which disconnects G. Let the connected components of G − F be G1 through Gp. Then p ≥ 2. Suppose p > 2. Then adding an edge e to this

12 does not connect up the components. Hence G − (F − e) is not connected. That is, F −e is disconnecting, which violates the minimality of F . Therefore G − F has exactly two components. By the same logic, every edge of F must span the two components. Hence F is contained in the edge cut between the components. F must contain all these edges otherwise removing a subset does not disconnect the graph.

Theorem 0.3. κ(G) ≤ κ0(G) ≤ δ(G)

Proof. If you delete all edges around a vertex, you isolate the vertex. Hence κ0(G) ≤ δ(G) is clear. Let F = [S, S] be minimal edge cut. If all edges between S and S are present, then we have as many edges as in a biclique, which is at least n − 1 since it is connected, so κ0(G) ≥ n − 1 ≥ κ(G).

Now suppose an edge from x in S to y in S is not present. Let T = NS0 (x) ∪ 0 NS−x(S ). T is separating set, so |T | ≥ κ(G). On the other hand, it is possible to choose |T | many edges from [S, S] – edges out of x and one edge 0 0 per vertex in NS−x(S ) – hence κ (G) = |F | ≥ |T | ≥ κ(G).

Theorem 0.4. If G is 3-regular, κ(G) = κ0(G).

Proof. Let S be minimum vertex cut. We need to show that |S| is the size of an edge cut.

Let G − S = H1 ∪ H2. By minimality of S, G − S + v is connected for every v in S, meaning v has edges into both H1 and H2. Now consider a vertex in S.

Case 1: 1 edge into H1, 2 edges into H2. Delete the edge into H1.

Case 2: 2 edges into H1, 1 edge into H2. Delete the edge into H2.

Case 3: 1 edge into H1, 1 edge into H2, and one edge into S. Delete the edge into H1. In short, each vertex in S has exactly 1 edge into one of the components, so we can delete distinct edges. These edges separate H1 vertices from H2 vertices.

13 0 P Proposition 0.5. |[S,S ] = v∈S deg(v) − 2|E(G[S])|.

Proof. : Place dots around each S-vertex. Each G[S] edge contributes 2 dots, whereas all edges in [S,S0] contribute 1 dot each. Number of dots is P v∈S deg(v).

Corollary 0.6. If some non-empty S satisfies |[S,S0]| < δ(G) then |S| > δ(G).

Proof. Use d(v) ≥ δ(G) and e(G[S]) ≤ |S|(|S| − 1)/2 in the inequality, then divide by |S| − 1.

Bond: minimal edge cut (no proper subset is an edge cut).

Proposition 0.7. In a connected graph, an edge cut is a bond iff it separates the graph into exactly two components.

Proof. Let F = [S,S0] be an edge cut which separates G into exactly two components. Deleting less than F leaves graph connected, hence the subset cannot be a separating set, let alone an edge cut. Therefore F is a bond. Conversely, let F = [S,S0] be a bond. If G − F has 3 or more components, we can just cut out the edges from one component, and this subset will itself be an edge-cut, contradicting minimality of F . See diagram p. 155.

Block of a graph: maximal connected subgraph (maximal with respect to subgraph inclusion) that has no cut-vertex. Put another way, every super- graph of a block contains a cut-vertex, while the block does not. If the entire graph is connected and has no cut vertex, it is a block. A cycle subgraph does not contain cut vertex. An edge subgraph of cycle subgraph does not have cut vertex, neither does cycle subgraph, therefore cycle edge cannot be block. So a cycle is contained entirely in one block. If an edge forms a block, it cannot belong to a cycle. It provides a unique path between the vertices it connects. Therefore it is a cut-edge. Conversely, if edge is a cut-edge, then deleting an endpoint destroys the edge, hence disconnects the graph. Therefore any connected supergraph it contains will

14 contain a cut vertex. Therefore the edge is block. So edges are blocks iff they are cut edges. Moreover, if an edge is not a cut edge then it belongs to a cycle, and if an edge is a cut edge then it cannot belong to a cycle. In summary: the blocks of a graph are: its isolated vertices, its cut edges, and its maximal 2-connected components (consisting of cycle edges).

Theorem 0.8. Two blocks in a graph share at most one vertex. When they share exactly one, that vertex is a cut vertex.

Proof. Suppose they share two. Delete one vertex anywhere. This leaves at least one vertex common to the two blocks remaining. So all surviving vertices have a path to this one, hence to each other. This means that B1 ∪B2 is 2-connected – it takes at least vertices to disconnect. But this violates the maximality of B2. Hence two blocks cannot share 2 or more vertices. Now suppose two blocks share exactly one vertex, x. Deleting any other vertex, there will be a path to this one. Hence deleting any other vertex will not disconnect B1 ∪ B2. However, by maximality of B1, B1 ∪ B2 cannot be 2-connected. There there has to be a cut vertex somewhere, and by process of elimination it must be x.

Homework: Section 4.1, problems 1, 4, 5, 8, 13, 15, 20, 30, 33, 35.

Section 4.2: k-Connected Graphs

Definition 0.9. Two paths from u to v (u 6= v) are internally disjoint if they have no common internal vertex. They can be glued together to form a cycle.

Theorem 0.10. Let G be connected with 3 or more vertices. G is 2-connected iff for every pair u 6= v there are two internally disjoint paths between them.

Proof. Assume the condition on paths holds. We must show that no vertex disconnects graph. Cut x, and consider u and v in G − x. There are two internally disjoint paths from u to v in G. Call them P and Q. If cutting x disrupts P , then x has edge from it belonging to P . Therefore x is internal to P . Hence x cannot be internal to Q, hence cannot have an edge from

15 it belonging to Q, hence cutting x leaves Q intact. This is a u − v path in G − x. Hence G is 2-connected. Conversely, assume G is 2-connected, and let u and v be given. We will construct internally disjoint paths by induction on the distance between u and v. Distance = 1: show they belong to a cycle. κ0(G) ≥ κ(G) = 2, hence cutting one edge doesn’t disconnect graph. Cut uv edge. There is still path from u to v. This is internally disjoint to the uv edge. Induction hypothesis: this can be done for distance < k. Now assume d(u, v) = k. Let d(u, w) = k − 1, where w and v are connected by an edge. There are internally disjoint paths between u and w by induction hypothesis. Call them P and Q. Let R be a u − v path in G − w. Case 1: R never intersects P or Q. Use R and either P + wv or Q + wv.

Case 2: R intersects P or Q. Let z be the last vertex it hits. Use Rztov combined with either Pu→z or Qu→z, whichever one is called for. Then use P + wv or Q + wv, whichever one is called for.

Lemma 0.11. (Expansion Lemma) If G is k-connected, and we add a new vertex with edges to k or more existing vertices and call this G0, then G0 is also k-connected.

Proof. Cut k − 1 vertices from G0. What survives of G is connected, and if u survives it has an edge into G.

Theorem 0.12. Let G be graph with at least 3 vertices. The following are equivalent: 1. G is connected and has no cut-vertex. 2. G is 2-connected. 3. Every pair u 6= v has 2 internally disjoint paths. 4. every pair u 6= v belongs to cycle. 5. There are no isolated vertices, and every pair of edges belongs to a cycle.

16 Proof. 1 implies 2: clear by definition of 2-connected. 2 implies 3: we did this already. 3 implies 4: glue the paths together. 4 implies 5: Assume every pair of vertices belongs to a cycle. This implies 1, so we can assume we have all the properties of 1 through 4. Clearly there are no isolated vertices. Let uv and xy be two edges. If they share and endpoint, we can delete the common endpoint and there will still be a path between the two other endpoints. Hence these edges belong to a cycle. Now suppose uv and xy do not share an endpoint. Create new vertices W and Z and add them to G, connecting W to u, v and Z to x, y. By expansion lemma, G0 is 2-connected. Therefore W and Z belong to cycle of G0. This can be contracted to cycle through the two edges. 5 implies 1: First show connected. Let u and v be given. If uv edge, they are connected by path. If no uv edge, they belong two two edges which belong to cycle, hence they are connected by path. Next show no cut-vertex. Let x be vertex in graph. Cut x. We must show G − x is connected. Let a, b be two vertices left over. They belong to a cycle in G, hence to two internally disjoint paths in G. One of these survives in G-x.

Corollary 0.13. If G is 2-connected, then any subdivision of G0 by inserting one vertex is 2-connected. Hence any multiple subdivision is 2-connected.

Proof. Call the new vertex z, and assume z subdivides the edge xy. G0 − z is the same as G − xy, and since κ0(G) ≥ kappa(G) ≥ 2, G − xy is connected. Now suppose we eliminate x instead. Then G − x is connected, and G0 − x = G − x + zy. Hence G0 − x is connected. Similarly, G0 − y is connected. For w 6∈ {x, y, z}, G0 − w = G − w + xy + yz, hence is connected.

Ear Decomposition of a graph: G can be generated as follows: Start with cycle P0. Add path P1 with endpoints in P0 and internal vertices not in P0. Add path to P0 ∪ P1 and internal vertices not in P0 ∪ P1. Keep on going.

17 Theorem 0.14. Let G have at least 3 vertices. G is 2-connected iff it has an ear decomposition. The ear decomposition can start with any cycle.

Proof. Assume G has an ear decomposition. We will prove that G is 2- connected by induction on number of ears. No ears: G is a cycle, which is 2-connected.

Now consider G with k ears. Then P0 ∪ P1 ∪ · · · ∪ Pk−1 is 2-connected. If we add a new edge to this, we still get 2-connected. If we subdivide this edges repeatedly, we generate G, and G will be 2-connected. Conversely, assume G is 2-connected. We will generate G by an ear decom- position. Since G is 2-connected, it contains a cycle. Therefore it has a subgraph which can be generated by an ear decomposition. Let H be maximal with respect to all such subgraphs (maximal with respect to inclusion). We wish to show that H = G. Suppose H 6= G. We will enlarge H to H0, violating the maximality of H. G must have an edge uv which does not belong to H. Let xy be any edge in H. Then uv and xy belong to a cycle C of G since G is 2-connected. If both u and v are vertices in H, then uv is an ear of H and H0 = H + uv is a larger subgraph with an ear decomposition. If u or v is not in H, follow C from x to uv in one direction, and from y to uv in the other direction. We emerge from H by two distinct vertices before leaving it and encountering uv. The portion of C including uv and the other vertices not in H is an ear which we can add to H to produce H0.

The butterfly graph on page 164 is a 2-edge connected graph which is not 2- connected. It cannot be created by an ear decomposition (endpoints of path should be distinct). Since every 2-connected graph is 2-edge-connected, the class of 2-connected graphs is a proper subset of the class of 2-edge-connected graphs. Closed ear: like open ear, only endpoints are the same. Closed ear decomposition: start with cycle, add a bunch of open or closed ears.

18 Theorem 0.15. G is 2-edge-connected iff it has a closed-ear decomposition, and the decomposition can start with any cycle. (Makes sense – we generate wider class of objects!)

Proof. We first show closed-ear decomposition generates 2-edge-connected object. By induction on number of ears. 0 ears: a cycle has no cut edge, therefore is 2-edge-connected. Assume the addition of k ears yields 2-edge-connected object. Add one more ear. Cut edge. If it is part of new ear, that ear flies open but the graph is still connected. If it is not part of new ear, it’s in the 2-edge-connected subgraph, hence all the vertices in that subgraph are still connected by paths, and those vertices are connected to all the vertices in the new ear. Conversely, let G be any 2-edge-connected graph and let C be any cycle in G. Let H be maximal supergraph of C which has closed ear decomposition. Let uv be an edge not in H. By connectedness there must be path from this edge to H. By this means we can find an edge uv which has one endpoint in H, the other not in H. By 2-edge-connectedness uv lives in a cycle, otherwise it is a cut-edge. Follow the cycle both directions until it hooks up with H. If it hooks up with only one vertex of H, it is a closed ear. Otherwise it is an open ear. Add to H, producing H0. Violates maximality of H. Hence H = G.

Proposition 0.16. Adding a directed ear to a strong digraph produces a larger strong digraph.

Proof. We just need an oriented path between every pair of vertices. If both vertices in original graph, no worries. If exactly one in ear, proceed to the end of ear, then proceed on to other vertex in the original graph, then proceed to the start of the ear, then proceed to the ear vertex. If both in the ear, either follow from one to the other along the ear, or go to end of ear, follow directed path in old graph to beginning of ear, then follow ear to the other vertex.

19 Theorem 0.17. A simple graph G has strong orientation iff it is 2-edge- connected.

Proof. If G is 2-edge connected, just use closed ear decomposition. Orient cycle, then one ear at a time. Conversely, if G has strong orientation, then every vertex lives in cycle, hence 2-connected, hence 2-edge connected.

κ(x, y) = minimum number of vertices whose removal disrupts all paths be- tween x and y. λ(x, y) = maximum number of internally disjoint x − y paths. Note: in order to separate x from y, we need to break every path from x to y. So κ(x, y) ≥ λ(x, y).

Theorem 0.18. Menger’s Theorem: if xy is not an edge in the graph, then κ(x, y) = λ(x, y).

Proof. A complicated proof is given on pp. 167-168. Menger’s Theorem and others like it can be proved much more simply using the method of Network Flows in Section 4.3 – see exercises 4.3.5, 4.3.6, 4.3.7. κ0(x, y) = minimum number of edges whose removal disrupts all paths be- tween x and y. λ(x, y) = maximum number of edge-disjoint x − y paths. Note: in order to separate x from y, we need to break every path from x to y. So κ0(x, y) ≥ λ0(x, y).

Theorem 0.19. κ0(x, y) = λ0(x, y).

Proof. Deferred until Section 4.3

Let x be a vertex and U a set of vertices. An (x, U) fan is a set of paths from x to U that share only the vertex x.

Theorem 0.20. A graph is k-connected if and only if it has at least k + 1 vertices and, for each x and U with |U| ≥ k, it has an (x, U) fan of size k.

20 Proof. Assume G is k-connected. Then κ(G) ≥ k. Either G = Kκ(G)+1 or it has a subset of κ(G) vertices that disconnects the graph. In either case it has at least k + 1 vertices. Now let U be any subset of at least k vertices and join all of these to a new vertex U. Then the new graph G0 is k-connected because removal of any k −1 vertices leaves G intact and leaves an edge from y to G (Expansion Lemma). By Menger’s theorem it has k internally disjoint paths between x and y, and in G this is an (x, U) fan. Conversely, suppose G has at least k + 1 vertices and for each x and |U with |U| ≥ k it has an (x, U) fan of size k. We will show that every pair of vertices in G has at least k internally disjoint paths between them, which implies that G cannot be separated by deleting k vertices and hence is k-connected. Let u and v be given. Since there is fan of size k from v to V \v, v has at least k distinct neighbors in G. By hypothesis there is a (u, N(v)) fan of size k, and this generates k internally disjoint paths from u to v.

Homework problems: Section 4.2, problems 3, 8, 18, 19, 20, 23, 24

Section 5.1: Vertex Coloring and Upper Bounds

Greedy algorithm for coloring a graph: Set c(v1) = 1. Having colored v1 through vi, assign vi+1 the smallest positive integer not assigned to any of its neighbors among v1, . . . , vi. Theorem: the algorithm yields a proper coloring, and the colors used are in the range {1, 2,..., ∆ + 1}.

Proof: we will show that vertices v1 through vi have no edge to a vertex of the same color and each has a color ≤ ∆ + 1 by induction on i.

First, consider v1. It receives the color 1. Suppose it has an edge to vertex vi. Then vi does not receive the color 1. Hence the base case is true.

Now assume that none of the vertices v1 through vi have an edge to a vertex of the same color, and assume that all these vertices are colored with a positive integer ≤ ∆ + 1. Consider the vertex vi+1. Then it does not receive the color of any of its neighbors among v1 through vi, and since the colors of each of these are in [1, ∆ + 1] but there are fewer than ∆ + 1 of these, it receives a color in this range. If vi+1 has an edge to vj for some j > i + 1, then by

21 construction vj does not receive the same color as vi+1. Hence vertices v1 through vi+1 have the desired properties.// Note that we can strengthen this to say that if every vertex has at most p lower-index neighbors then the greedy algorithm yields a proper coloring with at most p + 1 colors. Brook’s Theorem: If G is connected and is not a complete graph and not an odd cycle then χ(G) ≤ ∆. Proof: First suppose that G has a vertex of degree ≤ ∆ − 1. Call this vertex vn. It has at most ∆ − 1 lower index neighbors. Now number its neighbors arbitrarily using the highest possible indices. Since these have at least one higher index neighbor, they can have at most ∆ − 1 lower index neighbors. Keep on going. Now use Greedy Algorithm. Now suppose that G is ∆ regular. We can assume ∆ ≥ 3. If it has a cut- vertex x, remove x and observe that the components can all be ∆-colored. By switching the colors in one of the components, if necessary, we can assign an appropriate color to x from among [1,..., ∆]. Now assume G is ∆ regular and has no cut vertices. Suppose we can find a vertex x with two non-adjacent neighbors y and z so that G − y − z is connected. Capture the vertices in G − y − z, setting vn = x and calling them v3 through vn, and set v1 = y and v2 = z. Now use greedy coloring. Each vertex up to vn−1 has at most ∆ − 1 lower-indexed neighbors, and the vertex vn is adjacent to at most ∆ − 1 colors among its lower-indexed neighbors since vertices v1 and v2 both receive the color 1. Note how we exploit both connectedness and non-adjacent vertices. Finally, we have to show that the vertices x, y, z can be found. Choose a and suppose κ(G − a) ≥ 2. If every other vertex is at distance 1 from a then, since G is regular, it must be a complete graph. Contradiction. So there is a path a − x − c in the graph where a and c are non-adjacent. Set y = a and z = c. Then G − y − z is connected, y and z are not connected, and x is adjacent to both. Now suppose κ(G − a) = 1. Consider the tree of blocks in κ(G − a). If a is not attached to each leaf-block then it is possible to disconnect G by cutting some cut-vertex of G − a. There are at least two leaf-blocks, and these are non-adjacent. Let the neighbors be y and z. Then G−a−y −z is connected, and since x has a third neighbor, G − y − z is connected.

22 Theorem: If D is an orientation of G then χ(G) ≤ 1 + L where L is the longest directed path length in D. Equality is possible for some D. Proof: Given a minimal coloring, orient the vertices from smaller to larger color. This yields an orientation D with χ(G) = 1 + L. Conversely, given an orientation D, let D0 be the maximal acyclic sub- digraph. For each vertex u let c(u) = length of longest directed path in D0 ending in u. Suffices to show colors increase along directed paths. If u → v belongs to D0 then c(u) < c(v). If u → v doesn’t belong to D0 then it’s addition to D0 creates a directed cycle, hence a path from v to u in D0. Hence c(v) < c(y = u). So we have a proper coloring. The number of colors is ≤ 1 + L0 ≤ 1 + L. Other interesting tidbits: χ(G+H) = max(χ(G), χ(H)), χ(G∨H) = χ(G)+ χ(H), χ(G × H) = max(χ(G), χ(H)) using c(g, h) = c(g) + c(h) mod the larger chromatic number. Homework: Section 5.1, problems 2, 4, 5, 7, 26, 27, 31, 38.

Section 6.1: Embeddings and Euler’s Formula Planar graph: representation in which no edges intersect at non-vertex.

K5 and K33 are non-planar: use circle-chord diagram. Dual graph of a plane graph G: G∗, where vertices are faces (regions) there is one edge per original edge, joining face to adjoining face. Method: draw a little line through each edge, then extend to edges connecting a point in each face. Different planar representations of a graph may lead to non-isomorphic duals. Length of a face: total length of the closed walks bounding the face. Easier: assign 2 dots per edge. Length of face is number of dots in face. Sum of face lengths is sum of dots is 2e.

23 Let Fv represent the length of the face containing the vertex v in its interior. Then ∗ degG∗ (v ) = lG(Fv∗ ),

degG(v) = lG∗ (Fv).

The chromatic number of G∗ is the minimum numbers needed to properly color the faces of G. Lemma: For every plane graph G, G∗ is connected. Proof: Starting from any interior region there is a plane curve to the exterior region. Hence from any interior region vertex there is a path in G∗ to the exterior region vertex. Theorem: Edges in a plane graph G form a cycle if and only if the corre- sponding dual edges form a bond (minimal edge cut) in G∗. Proof: Let C be a cycle in G. Then C bounds an interior region R. Any curve starting in R and ending up in the infinite region must pass through ∗ one of the edges of C, so removing C deletes all paths from R to R∞ in G . Hence C∗ is an edge cut. To show that C∗ is a minimal edge cut it suffices to show that if F is a forest in G then F ∗ is not an edge cut in G∗. But this is true because one can navigate to the exterior region without crossing one of the forest edges. Conversely, let E be a a collection of edges in G and suppose that they do not form a cycle in G. If E is acyclic then E∗ does not form an edge cut of G∗. If E contains a bridge edge e then e∗ is a loop edge, so if E∗ forms an edge cut then so does (E − e)∗, hence E∗ cannot be a minimal edge cut of G∗. If E does not contain any bridge edges but contains more than one cycle then any cycle C ⊆ E forms an edge cut C∗ of G∗, hence E∗ cannot be a minimal edge cut of G∗. Theorem: The following are equivalent for a plane graph G: 1. G is bipartite. 2. Every face of G has even length (every region bounded by an even number of edges). 3. The dual graph G∗ is Eulerian.

24 Proof: G bipartite implies every cycle has even length implies every interior region bounded by an even number of edges. Hence the number of dots contained in all the interior regions is even. This leaves an even number of dots in the exterior region. Hence every region has even length. Every region bounded by an even number of edges implies that every region vertex has even degree implies that G∗ is Eulerian (since it is connected). G∗ Eulerian implies that every region vertex has even degree implies that every cycle bounding a region has an even number of edges. A larger cycle encloses a number of regions, and the sum of dots therein is even, and the interior edges produce an even number of dots, so there are an even number of cycle edges. Hence G is bipartite. Outerplanar graph: has planar representation with every vertex on edge bordering the exterior region. If G is outerplanar and 2-connected, then the edges bordering the outer region form a spanning cycle. Reason: if not, there is a bridge edge, one endpoint of which is a cut vertex.

K2,3 is not outer-planar. Reason: it is 2-connected and has 6 edges. A spanning cycle also has 6 edges, so if K2,3 is outerplanar then it is a cycle and every vertex has degree 2. But this is not the case. Hence it is not outerplanar.

K4 is not outer-planar. Reason: suppose it is. Since 2-connected, it can be drawn as a 4 cycle with the other edges interior. Not possible. Theorem: every simple outerplanar graph has a vertex of degree ≤ 2. Proof: We can assume without loss of generality that the graph is connected. Proceed by induction on number of vertices, proving that there are at least 2 non-adjacent vertices with degree ≤ 2.

Base case: n ≤ 4. We can assume n = 4. Graph is not K4, and by an exhaustive check of cases there are two non-adjacent degree ≤ 2 vertices. Induction hypothesis: true for n vertices. Now consider a connected outerplane graph with n+1 vertices. Consider the block decomposition of G. If there is a cut vertex, then the planar graph on either side of the vertex is outerplanar and by the induction hypothesis has two non-adjacent degree ≤ 2 vertices, so the whole shebang does also. But if there are no cut vertices then we are dealing with a with chords,

25 and this splits G into two outerplane graphs, each with two non-adjacent degree ≤ 2 vertices, so the whole shebang has two also. Euler’s Formula: r − e + v = 2 for a connected planar graph. Proof: The idea is to chop out edges until we hit a tree, along the way preserving ∆r = ∆ − v. If there is a multiple edge, then deleting one edge removes one region. If there is a loop edge, then deleting one edge removes one region. If there is an interior region, then deleting a cycle edge bordering the exterior region removes one region. By a dot-counting argument, when there is a least one interior region then e ≤ 3v−6 since each region contributes at least 3 dots which implies 2e ≤ 3r. When there are no triangles, hence every cycle contributes at least 4 dots, then e ≤ 2v − 4 because 2e ≤ 4r.

These inequalities can be used to prove that K5 and K33 are non-planar. Maximal planar graph: a simple planar graph in which the addition of any additional edge creates a non-planar graph. Theorem: Let G be a simple plane graph. The following are equivalent: 1. G has 3v − 6 edges. 2. Every region of G has 3 bounding edges. 3. G is a maximal plane graph. Proof: Assume G is a maximal plane graph. Then it must be connected. By maximality it cannot be a tree, so it contains a cycle. Therefore e ≤ 3v − 6. If this is not an equality then some region contributes at least 4 edges, which implies that an edge can be added to create a larger simple plane graph. Therefore equality must hold. Hence 3 implies 1. Suppose G is simple and has 3v − 6 edges. Add edges to create a maximal plane graph. The latter has 3v − 6 edges, therefore G is is maximal, hence connected with a cycle, therefore every region has 3 bounding edges by a dot-counting argument. Hence 1 implies 2. Suppose every region of G has 3 bounding edges. Add edges to create a maximal plane graph. In this graph, e = 3v − 6. But this is true of G, therefore G is already maximal. Hence 2 implies 3. Application to regular polyhedra: can be projected to the surface of a sphere, which creates a connected plane graph with all vertex degrees the same and

26 all regions having the same number of edges. If degrees are d and lengths are L then 2e = vd = rL by a dot counting argument. Combined with r − e + v = 2 we obtain e e 2 − e + 2 = 2 L d 2 2 2 − 1 + = > 0 L d e 2 2 + > 1 L d 2d + 2L > dL (d − 2)(L − 2) = dL − 2d − 2L + 4 < 4. Since d ≥ 3 and L ≥ 3 the only solutions to this inequality are

(d, L) ∈ {(3, 3), (3, 4), (3, 5), (4, 3), (5, 3)}.

The textbook describes the possibilities on page 243. Homework: Section 6.1, problems 2, 3, 5, 6, 7, 8, 11, 12, 25, 30.

Section 6.2: Characterization of Planar Graphs

Kuratowski subgraph: a subdivision of K5 or K33 (interrupt edges by degree 2 vertices) Minimal non-planar graph: a non-planar graph such that every proper sub- graph is planar. Let G be a graph which does not contain a Kuratowski subgraph. Suppose it is non-planar. Let N(G) be the set of non-planar graphs in G. Let N0(G) be the set of these which have the minimum number of edges. Let N1(G) be the set of these that have the minimum number of vertices. If H ∈ N1(G) then any proper subgraph of H has either fewer edges or fewer vertices than H, hence is planar. This makes H a minimal non-planar graph with no Kuratowski subgraph. We will show that no such object can exist, therefore G must be planar. Lemma: Let F be a face of a planar graph G. Then there is a way to draw G so that the edges of F all border the infinite region. Proof: Just stuff everything inside. A trick: draw G on a sphere, then open up the sphere by puncturing it inside F .

27 Lemma: Every minimal non-planar graph G is 2-connected. Proof: First note that any minimal non-planar graph must be connected because at least one of the components must be non-planar. We must show that there are no cut-vertices.

Suppose x is a cut vertex. Let G − x have components H1,...,Hk. Let Gi be the induced subgraph on V (Hi) ∪ {x} (an {x}-lobe of G). In other words, Gi is Hi union the edges from x to Hi. Each Gi is planar by minimality of G. Each non-tree among these can be redrawn so that x is bordering the infinite region. Each tree among them has x bordering the infinite region. These can be glued together to form a planar representation of G. Contradiction. So no cut vertices. Lemma: Suppose G−x−y is not connected. If G is non-planar then adding the edge xy to some {x, y}-lobe of G yields a non-planar graph.

Proof: Let the components of G be H1,...,Hk. The typical {x, y} lobe of G is Hi union all edges between Hi and {x, y} and, if present, the edge xy. Suppose each such lobe, with the addition of xy, is planar. As such, there is a face Fi whose bounding edges include xy. There is a way to glue all these things together to create a planar graph, and this includes G as a subgraph. Contradiction. So some lobe union xy is non-planar. Lemma: If there exists a non-planar graph that does not have a Kuratowski subgraph, then there is a 3-connected non-planar graph that does not have a Kuratowski subgraph. Proof: Let G be non-planar with no Kuratowski subgraph of fewest possible edges. G is connected. Deleting a vertex or an edge produces a smaller graph with no Kuratowski subgraph, so G is a minimal non-planar graph. Hence it is 2-connected. We will show that in fact it is 3-connected.

Suppose G − x − y is not connected. Then it has a component Hi such that the induced subgraph on V (Hi) ∪ {x, y} which is non-planar. By minimality of G, this has a Kuratowski subgraph K. Therefore K must include the edge xy, because G does not contain a Kuratowski subgraph. Since neither x nor y is a cut vertex, each has an edge to some other component of G. This creates a path P from x to y which is internally disjoint to K. But K − xy + P is a Kuratowski subgraph of G – contradiction. Hence G is 3-connected. The outlines of the proof of Kuratowski’s theorem: if there is a graph with no Kuratowski subgraph that is non-planar, then there is a minimal one.

28 The minimal one must be 3-connected. But 3-connected graphs with no Kuratowski subgraph are planar: contradiction. So every graph with no Kuratowski subgraph is planar. Lemma: Every 3-connected graph G with v ≥ 5 has an edge e such that G · e (edge-contraction) is also 3-connected. Proof: Suppose this edge cannot be found. Let G be 3-connected and let e = xy be an edge in G. Then G · e is not 3-connected. Then two vertices u and v can be deleted, separating G · e. We wish to argue that (xy) = u or (xy) = v. Suppose (xy) 6= u and (xy) 6= v. Then there must be some vertex in G · e − u − v with no path to (xy). Hence there must be some vertex in G − u − v no path to x and no path to y. Contradiction. So now we know that G · e has a separating set of the form {(xy), z}. This creates a separating set {x, y, z} for G. Of all ways to choose the edge e = xy, choose the one creating the connected component H of G − x − y − z of maximum number of vertices. Let H0 be another component of G−x−y−z. Since G minus any two of these vertices is connected, the third must be connected to both components. So we get the diagram on page 249. Let u be a neighbor of z in H0. Let v be such that G has separating set {z, u, v}. To achieve a contradiction we will find a connected component of G − z − u − v that is larger than H. First note that G[V (H) + x + y − v] is connected: Consider the cases. Case 1: v = x. Then G[V (H) + y] is connected. Case 2: v = y. Then G[V (H) + x] is connected. Case 3: v ∈ H. We know that G−z −v is connected. Every path in G−z −v gives rise to a path in [V (H) + x + y − z] it you stare at the diagram long enough. This implies that G[V (H) + x + y − v] is connected. Now observe that G[V (H) + x + y − v] is a subgraph of G − z − u − v. This has more vertices than H: contradiction. So the theorem is true. Lemma: If G doesn’t have a Kuratowski subgraph K then neither does G · e for any e. Proof: Suppose G · e has one. Write e = {x, y}. If (xy) 6∈ K then K ⊆ G. If (xy) ∈ K but is degree 2 in K then a subdivision of K belongs to G. If

29 (xy) ∈ K but only one vertex in K is incident to x in G then a subdivision of K belongs to G. If (xy) ∈ K but more than vertex in K is incident to both x and y in G then, if K is a subdivision of K33 then a subdivision of K belongs to G, and if K is a subdivision of K5 then one can recognize a subdivision of K33 in G. Theorem: If G is 3-connected and has no Kuratowski subgraph then it has a convex planar embedding in the plane. Proof: Let G be a minimal counter-example. Then it must have at least 5 vertices. It is 3-connected, has no Kuratowski subgraph, but it does not a convex embedding in the plane. Find an edge e = {x, y} such that G · e is 3-connected. It will have no Kuratowski subgraph. By minimality of G, G · e has a convex embedding in the plane. Use it to construct a convex embedding of G to form a contradiction. Details: Deletion of xy leaves G · e − xy 2-connected, so the face it is in is a cycle which is a convex polygon. Look at the neighbors of xy in the convex embedding of G · e which are in this face. In particular look at the neighbors of x in G. If the neighbors of y are all between two neighbors of x in G, there is a convex embedding of G – contradiction. If the neighbors of y are not all between two neighbors of x in G, one can identify either a subdivision of K5 in G (Case 1) or a subdivision of K33 in G (case 2), both of which are contrary to hypothesis. (There seem to be other cases, but these imply that G has a convex embedding.) So there can be no counter-example.

Section 8.3: Ramsey Theory Theorem: Let G be a graph with 6 vertices. Then either G or G contains a triangle.

Proof: Paint the edges of K6 red or blue, depending on whether they belong to G or G. We must find a monochromatic triangle. There must 3 edges out of vertex 1 of the same color c to vertex x, y, z. Look at the 3 edges among these vertices. If one of them, {p, q}, has color c then the triangle 1, p, q is monochromatic of color c. But if all of them have color c then triangle x, y, z is monochromatic of color c.

Theorem: Let T be a spanning tree of Qk. Then there is a path in T of length ≥ 2k − 1. k k Proof: First, prove that the distance from 0 to 1 in Qk is k. If P is a path, and we keep track of the number of 1s in the vertices along this path,

30 we obtain a sequence of numbers that begins with 0 and ends with k and, along the way, the numbers differ by exactly 1 from one vertex to the next. We will prove that all of the numbers in the range [0, k] must appear, which implies that the number of vertices along the path is at least k + 1, which implies that the path has length at least k. Since there is a path of length k, the distance is k. This implies that the distance between any x and its bit-reversal is k. Let j be the largest integer such that 0, 1, . . . , j appear as number of 1s in a vertex along the path. If j ≤ k − 2 then there is no way to proceed to a neighbor of 1k. 0 Next, for each vertex x in Qk, denote by x the first vertex along the path in T from x to x. Consider all the ordered pairs of the form (x, x0). Since there is at least one more of these than edges {x, x0}, we must have (x, y) and (y, x) on the list. The paths y = x0 → x and x = y0 → y in T have length at least k. If they share a vertex then we obtain a cycle by including the edge {x, y} ∈ T . Contradiction. Hence they do not share a vertex, and the path x → y → x → y has length ≥ 2k − 1. Theorem: Any list of n2 + 1 distinct integers contains a monotone subse- quence of length n + 1.

Proof: Let the list be a1, . . . , an2+1. Assign to ak the vector (xk, yk), where xk is the length of the longest increasing subsequence beginning with ak and yk is the length of the longest decreasing subsequence beginning with ak. These vectors are all different, so there are n2 + 1 of them. This implies that the numbers xk and yk cannot be restricted to the range [1, n]. So one of them is ≥ n + 1.

Theorem: Label the edges of Kn with distinct integers. Then there is a trail of length n − 1 along which the integers increase. Proof: Starting with n vertices and no edges, label each vertex with 0 and interpret as length of longest increasing trail ending at this vertex among the edges present. Now start adding edges in order of increasing integer label and update the vertex labels accordingly. The next edge can be used as the last edge in a new increasing tail. Vertices about the new edge labeled with i and j have their labels updated to ≥ j + 1 and ≥ i + 1. So the overall sum of vertex labels increases by at least 2 with the addition of each new edge, n(n−1) and when done the vertex label sum is at least n(n − 1) since 2 edges were added. Hence one of the labels must be at least n − 1.

31 Note how extremality is used in both proofs. This allows comparisons. k-coloring of a set: assigns a number from 1 to k to each element of a set. S r : all subsets of size r chosen from S. S Given a k-coloring of r , an i-homogeneous subset T ⊆ S is such that each T  of the sets in r receive the same color.

R(p1, . . . , pk; r) is the smallest integer, if one exists, such that every k-coloring [R(p1,...,pk;r)] Ti of r yields a subset Ti ⊆ [R(p1, . . . , pk; r)] of size pi such that r is i-homogeneous for some i. Example: R(3, 3; 2) is the smallest integer such that every 2-coloring of [R(3,3;2)] 2 contains a subset T ⊆ [R(3, 3; 2)] of size 3 such that every set T  [R(3,3;2)] in 2 has the same color. We can interpret 2 as the complete graph on R(3, 3; 2) vertices; a 2-coloring of this is a 2-coloring of the edges of this complete graph; we can interpret T as a collection of 3 vertices; we can T  interpret 2 as the triangle on these 3 vertices; and we are looking for a monochromatic triangle. We have shown above that 6 vertices are enough, so R(3, 3; 2) ≤ 6.

Theorem: R(p1, . . . , pk; r) always exists.

Proof: To find R(p1, . . . , pk; r), first find qi = R(p1, . . . , pi − 1, . . . , pk; r) for each i. Next set N = 1 + R(q1, . . . , qk; r − 1). Having f-colored [N], there is a set of size qi of [N − 1] such that all (r − 1)-sets receive color i under the coloring g(S) = f(s ∪ {N}). But qi is a Ramsey number and guarantees either a set Tj ⊆ [N − 1] of size pj such that all r-sets of pj receive the color j under f or a set Si ⊆ [N − 1] of size pi − 1 such that all r-sets receive the color i under f. But this implies that all r sets of Si ∪ {N} receive the color i under f, because these are either r-sets of Si or r − 1-sets of Si union {N} which receive the color i under f. p n 1−(2) A lower bound for R(p, p; 2) due to Erdos: When p < 2 then R(p, p; 2) > n. Reason: show that there exist 2-colorings of the edges of Kn in which there are no monochromatic cliques of size p. (n) The number of 2-colorings of E(Kn) is 2 p . For each p-subset S of [n] let AS be the set of colorings in which the 2-subsets of S are monochromatic. The elements in AS are found by first choosing a color for the 2-subsets n p of S, then choosing an arbitrary 2-coloring of the remaining 2 − 2 2- (n)−(p)+1 sets. Hence |AS| = 2 2 2 . The total number of colorings containing

32 a monochromatic 2-coloring of a p-set of [n] requires an inclusion-exclusion argument. To get an upper bound, add the |AS| contributions. Hence the total number of 2-colorings in which a p-set of [n] has monochromatic 2-sets n p n n p n (2)−(2)+1 (p) n (2)−(2)+1 is ≤ p 2 . So when 2 > p 2 there is a coloring of Kn that doesn’t yield a monochromatic clique of size p. Therefore R(p, p) > n. n − n p p (p) (2) n 1−(2) n 1−(2) Equivalently, 2 > p 2 . It suffices to have p 2 < 1 when p ≥ 2.

Graph Ramsey number: R(G1,...,Gn) is smallest n so that every k-coloring of the edges of Kn contains an i-monochromatic Gi for some i.

Theorem: Let T be a tree with m vertices. Then R(T,Kn) = (m − 1)(n − 1) + 1. Proof: First consider the complete graph with (m−1)(n−1) vertices. Obtain a 2-coloring by starting with n − 1 red-edge copies of Km−1. This contains no red copies of T . Make the other edges blue. The only complete subgraphs with blue edges are those that contain at most one vertex from each tree, and there are only n − 1 of these, so the largest clique size is n − 1. Hence R(T,Kn) > (m − 1)(n − 1). We now show that P (n) = “every 2-coloring of the 2-sets of [(m−1)(n−1)+1] contains a red T or a blue Kn” by induction on n. n = 1: all 2-subsets of {1} are blue-monochromatic in the sense that there are no 2-sets of {1}. Induction hypothesis: P (n) is true. Now consider an arbitrary 2-coloring of the 2-sets of [(m − 1)n + 1]. Look at the neighbors of a vertex x. If there are blue edges to (m − 1)(n − 1) + 1 other vertices then among these vertices there is either a red T or a blue Kn−1, and this yields either a red T or a blue Kn among N[x]. Now suppose that every vertex has at most (m − 1)(n − 1) neighbors along blue edges. Then every vertex has at least (m−1)n−(m−1)(n−1) = m−1 neighbors along red edges. In other words, in the red subgraph every vertex has degree ≥ m − 1. Since T has m − 1 edges, the red subgraph contains a copy of T . Note how we used the color of (r − 1)-sets originating with a single vertex, and note how the negation forced a statement about minimum vertex degree of the other color.

33 Apparently, using this same construction, we can prove that R(G, H) ≥ (m − 1)(n − 1) + 1 when the largest component of G has m vertices and χ(H) = n. To see this, we need to construct a 2-coloring of the 2-sets of [(m − 1)(n − 1)] which contains neither a red G nor a blue H. Start n − 1 copies of Km−1. Make all the edges red. Then G cannot be a subgraph of this because the largest component has at most m − 1 vertices. Color the other edges blue. We claim that the chromatic number of any subgraph of the blue graph is ≤ n − 1. Reason: color all the vertices in the ith copy of Km−1 i. Every blue edge joins vertices in different Km−1s, so this is a proper coloring. Hence the blue graph does not contain H.

Lemma: R(mK3, mK3) ≥ 5m.

Proof: There is a 2-coloring of the edges of K5m−1 which does not contain m vertex disjoint triangles of the same color. Color K3m−1 +K1,2m−1 red. K3m−1 contains at most m − 1 red triangles and K1,2m−1 contains no triangles. Now color the other edges blue. These are edges between the vertices of K3m−1 and K1,2m−1 and edges among the 2m − 1 vertices in K1,2m−1. Blue triangles are formed using at least one edge among the 2m − 1 vertices in K1,2m−1, so at most m − 1 vertex-disjoint blue triangles are possible.

Lemma: R(mK3, mK3) ≤ 5m + 1 for m ≥ 2. Proof: By induction on m. First consider m = 2. We claim that every 2-coloring of the edges K11 contains a monochromatic triangle. To see this, find a monochromatic triangle among the first 6 vertices. Discard these and find a monochromatic triangle among the first 6 vertices in the remaining K8. There are 9 edges joining these triangles, of which 4 must have the same color. So there is a bowtie of 5 vertices. Among the other 6 vertices in K11 there is a monochromatic triangle, and this creates 2 disjoint triangles of the same color in K11.

Now consider a 2-coloring of the edges of K5m+1 for m ≥ 3. Arguing as above, we can find a bowtie on 5 vertices. Discarding these 5 vertices leaves 5(m − 1) + 1 vertices, and the induction hypothesis guarantees a monochromatic (m − 1)K3. Combining this with the bowtie there is a monochromatic mK3.

Note: We can improve this to R(mK3, mK3) = 5m for m ≥ 2 is we can show that there K10 always contains 2 disjoint triangles of the same color. But I can’t do it. Theorem: Given a sufficiently large number of non-collinear points in the plane, one can find the vertices of a convex polygon of m sides.

34 Proof: Let there be R(m, 5; 4) points. Either there are m that such that all 4 points form a convex polygon or 5 such that no 4 points form a convex polygon. But in every 5 points, four of the points form a convex polygon, so we can find m so that all 4 points form a convex polygon. Now form the convex hull of these m points. If one of the points is not a vertex then it is interior. Triangulate the polygon. The interior points falls in one of these triangles. The three vertices of the triangle plus the interior point do not form a convex polygon, contrary to the choice of m points. Contradiction. So every point is a vertex.

35