From Paths to Edges
A subdivision replaces edges by paths: each original edge is stretched across a sequence of edges, but the original vertices remain as the endpoints. When the graph being subdivided is \(K_5\) or \(K_{3,3}\), the resulting paths can be shortened again by contraction. The key is to contract the internal vertices of each path into one endpoint, while keeping the two original endpoints distinct. This tutorial makes that process precise and tracks it in explicit graphs.
All graphs below are finite and simple. A subgraph is obtained by deleting vertices and edges. An edge contraction identifies the two endpoints of an edge; loops created by contraction are deleted, and repeated edges are treated as a single edge. A graph \(H\) is a minor of \(G\) if it can be obtained from \(G\) by a sequence of vertex deletions, edge deletions and edge contractions. A subdivision of a graph \(H\) replaces each edge \(uv\) of \(H\) with a \(u\)-\(v\) path. The internal vertices of these paths are distinct from the vertices of \(H\), and paths replacing different edges have disjoint internal vertices.
A branch set represents all the vertices of \(G\) that will be merged to form one vertex of \(H\). The condition about edges between branch sets ensures that each required edge of \(H\) survives. Extra edges do not cause difficulty: they can be deleted if they are not wanted.
The Branch-Set Test for a Minor
Proof. First suppose \(H\) is obtained from \(G\) by deletions and contractions. Consider only the vertices of \(G\) that remain after any initial vertex deletions. At each stage, associate to every current vertex the set of original vertices that have been merged into it. Initially each such set is a singleton. When an edge is contracted, the two associated sets are united. They are disjoint before the union, and an edge between the two current vertices shows that their union induces a connected subgraph of the original graph. Thus the associated sets remain nonempty, pairwise disjoint and connected. Edge deletions do not change them. When the process ends, each vertex \(x\) of \(H\) has a nonempty connected set \(B_x\) of original vertices. Each edge \(xy\) of \(H\) comes from an edge of \(G\) whose endpoints lie in \(B_x\) and \(B_y\), so these sets are branch sets.
Conversely, suppose \(G\) has branch sets \(B_x\) for \(x\in V(H)\). Delete all vertices not in their union. Within each \(B_x\), choose a spanning tree of the connected graph \(G[B_x]\), and contract the tree's edges. This merges exactly the vertices of \(B_x\) into one vertex: contracting a tree with \(r\) vertices takes \(r-1\) edge contractions, and cannot merge that set with another branch set. After doing this for every \(x\), the resulting graph has one vertex for each vertex of \(H\). For every edge \(xy\) of \(H\), an edge between \(B_x\) and \(B_y\) gives the edge \(xy\) after contraction. Delete any edges that do not belong to \(H\). The result is \(H\), including when \(H\) has isolated vertices, since their nonempty branch sets still contract to vertices. If \(H\) has no vertices, delete every vertex of \(G\). Thus \(H\) is a minor of \(G\). \(\square\)
The theorem explains the contraction procedure for a subdivision. Give each original vertex \(x\) the branch set consisting of \(x\) together with the internal vertices on paths assigned to \(x\). For each replaced edge \(xy\), assign all its internal vertices to one endpoint, say \(x\), and none to \(y\). These sets are disjoint because the replacement paths have disjoint interiors. Each set is connected through its original vertex, and the last edge of the \(x\)-to-\(y\) path joins the two endpoint sets. Therefore they are branch sets for the original graph.
Contracting a Subdivision of \(K_5\)
Worked Example: Two Subdivided Edges of \(K_5\)
Let \(G=(V,E)\), where \(V=\{1,2,3,4,5,6,7\}\) and \(E=\{13,14,15,23,24,25,34,45,16,62,37,75\}\). This is a subdivision of \(K_5\): the edge \(12\) is replaced by the path \(1,6,2\), and \(35\) by \(3,7,5\); the other eight edges of \(K_5\) remain direct.
Use the branch sets \(B_1=\{1,6\}\), \(B_2=\{2\}\), \(B_3=\{3,7\}\), \(B_4=\{4\}\), and \(B_5=\{5\}\). They are nonempty and pairwise disjoint. The set \(B_1\) is connected because \(16\in E\), and \(B_3\) is connected because \(37\in E\); singleton sets are connected. Contract \(16\), merging \(1\) and \(6\), and then contract \(37\), merging \(3\) and \(7\). The remaining edge \(62\) now joins \(B_1\) to \(B_2\), and \(75\) joins \(B_3\) to \(B_5\).
The direct edges \(13,14,15,23,24,25,34,45\), together with the two edges just traced, give all ten pairs of the five branch sets. Hence the result is \(K_5\). Check: the starting graph has \(7\) vertices and \(12\) edges, since its displayed edge set has \(8+4=12\) entries. The two contractions each merge one vertex and replace the two-edge path through its internal vertex by one edge, so the result has \(7-2=5\) vertices and \(12-2=10\) edges. Independently, \(K_5\) has \(\binom{5}{2}=5\cdot4/2=10\) edges.
There is a useful sequence-level view of the same operation. On a replacement path \(u,w_1,\ldots,w_k,v\), contract \(uw_1\), then the edge from the merged vertex to \(w_2\), continuing until all internal vertices have merged into \(u\). The last edge still joins the merged set to \(v\). In the example, the path \(1,6,2\) requires only the contraction of \(16\); its edge \(62\) remains to represent \(12\).
Contracting a Subdivision of \(K_{3,3}\)
Worked Example: Two Subdivided Edges of \(K_{3,3}\)
Let \(G=(V,E)\), where \(V=\{a,b,c,x,y,z,p,q\}\) and \(E=\{ay,az,bx,bz,cx,cy,cz,ap,px,bq,qy\}\). The original \(K_{3,3}\) has vertex classes \(\{a,b,c\}\) and \(\{x,y,z\}\). The edges \(ax\) and \(by\) have been replaced by paths \(a,p,x\) and \(b,q,y\), respectively; the other seven cross-class edges remain direct.
Take \(B_a=\{a,p\}\), \(B_b=\{b,q\}\), \(B_c=\{c\}\), \(B_x=\{x\}\), \(B_y=\{y\}\), and \(B_z=\{z\}\). The first two sets are connected by \(ap\) and \(bq\); the other four are singletons. Contract \(ap\) and \(bq\). The edges \(px\) and \(qy\) then supply \(ax\) and \(by\). The other edges \(ay,az,bx,bz,cx,cy,cz\) already join the required sets. Thus all nine pairs with one endpoint in \(\{B_a,B_b,B_c\}\) and one in \(\{B_x,B_y,B_z\}\) are adjacent, and there are no required within-class edges: the resulting graph is \(K_{3,3}\).
Check: the starting graph has \(8\) vertices and \(11\) edges: seven direct edges plus four path edges. Each of the two contractions reduces the vertex count by one and the edge count by one, leaving \(8-2=6\) vertices and \(11-2=9\) edges. Independently, \(K_{3,3}\) has \(3\cdot3=9\) edges, one for each choice of a vertex from each class. The branch sets also retain the intended classes: the first three are on one side and the last three on the other.
The bipartition is not needed to perform the contractions, but it is a useful check in this example: every edge of \(K_{3,3}\) must join the two classes. The construction does not require all replacement paths to have the same length. Each path can be contracted separately because its internal vertices belong to no other replacement path.
When the Subdivision Sits Inside a Larger Graph
Worked Example: Removing Extra Structure Before Contracting
Let \(G=(V,E)\), where \(V=\{1,2,3,4,5,6,7,8\}\) and \(E=\{13,14,15,23,24,25,34,45,16,62,37,75,67,81,84\}\). The first twelve edges give the \(K_5\) subdivision from the earlier example. The edge \(67\) is an extra chord, and vertex \(8\) has the extra incident edges \(81\) and \(84\).
First delete vertex \(8\), removing edges \(81\) and \(84\). This leaves \(8\) vertices and \(15-2=13\) edges. Delete the extra edge \(67\), leaving \(12\) edges. Now contract \(16\) and \(37\), as before. The resulting branch sets are \(\{1,6\},\{2\},\{3,7\},\{4\},\{5\}\), and the ten required adjacencies are exactly those listed in the first example. The final graph is \(K_5\).
Check: after deleting \(8\) and \(67\), there are \(7\) vertices and \(12\) edges. The two contractions leave \(7-2=5\) vertices and \(12-2=10\) edges, agreeing with the direct count of \(K_5\). The extra structure did not need to be incorporated into the branch sets; deleting it exposed the subdivision to which the contraction procedure applies.
This illustrates a practical order of operations: identify the subdivision, discard irrelevant vertices and edges, then contract the replacement paths. The branch-set test gives another route: specify the sets first, verify they are disjoint and connected, and check every required adjacency. Both approaches describe the same minor construction.
A Common Contraction Error
Pitfall: contracting every edge of a replacement path can merge its two original endpoints. For the path \(1,6,2\), contracting \(16\) and then the resulting edge from the merged vertex to \(2\) identifies \(1\) and \(2\). The path no longer supplies an edge between two distinct vertices, so it does not represent the edge \(12\) of \(K_5\).
The correction is to merge the internal vertices into just one endpoint and stop before merging the other endpoint. Contracting \(16\) makes \(\{1,6\}\) one branch set, while \(62\) remains an edge from that set to the separate set \(\{2\}\). In general, for a replacement path with distinct endpoints \(u,v\), assign its internal vertices to \(u\), contract them into \(u\), and preserve the final connection to \(v\).
The distinction between a subdivision and a minor is important here. A subdivision preserves the original vertices and lengthens edges into paths. A minor may also be obtained by deletions, and its edge contractions identify vertices. The branch-set theorem records precisely which vertices are to be identified and why the required adjacencies survive.
Check Your Understanding
For each question, make explicit which vertices belong to each branch set and which contractions are performed.
- In the path \(u,r,s,v\) replacing an edge \(uv\), which two contractions merge \(r,s\) into \(u\) while keeping \(v\) distinct?
- Why must the internal vertices of paths replacing different edges be disjoint for the branch-set construction of a subdivision?
- Suppose a subdivision of \(K_5\) has replacement paths \(1,8,2\) and \(2,9,3\). Give branch sets for these paths that keep the original vertices \(1,2,3\) distinct.
- How does the branch-set condition guarantee an edge for each edge of the target graph after contraction?
- In a larger graph containing a \(K_{3,3}\) subdivision, what can be done with an extra edge that joins two vertices already in the same branch set?