Hall's marriage theorem says that a bipartite graph with parts has a matching saturating if and only ifNecessity follows because the matched neighbours of vertices of are distinct and belong to .
For sufficiency, assume these inequalities. Let be any vertex cover, with and . Every neighbour of must belong to , since otherwise its edge from is uncovered. Therefore , and . The whole part is itself a vertex cover of size . Part (ii) now gives a matching of size exactly , so it saturates .
Let the bipartition be . Form an auxiliary graph by adding a new vertex adjacent to every vertex of and a new vertex adjacent to every vertex of . The vertices are nonadjacent, so Menger's theorem applies.
A matching of size gives internally disjoint graph paths , one for each matching edge . Conversely, every - graph path must use an edge of the original bipartite graph. Choose one such edge from each member of an internally disjoint family. Their endpoints are all distinct, so the chosen edges form a matching. Thus the maximum number of those graph paths is the maximum matching size.
An - separator contained in is exactly a vertex cover of the original graph. Indeed, an uncovered edge would leave the graph path , while removing a vertex cover removes every edge between and and hence every - graph path. The minimum separator size is therefore the minimum vertex cover size. Menger givesThis is Kőnig's theorem for bipartite matching. The auxiliary construction gives the required deduction from vertex-disjoint paths rather than assuming a matching theorem in advance.
Past exam of the mathematics course of the University of Cambridge 2006 ii Paper 2 17F Solution Created 2026-09-24 Updated 2026-10-14
Work with finite graphs, as in the usual matching theorem. Hall's condition is for every . It is necessary because a matching injects into its neighbours.
For sufficiency, induct on . If a nonempty proper subset has , induction matches to . For , Hall's inequality for gives , so induction matches the complement to unused neighbours. Combining the matchings finishes this case. Otherwise every nonempty proper has . Choose an edge , delete its endpoints, and observe that every subset of the remaining still has at least its own number of neighbours. Induction matches the remainder, and adjoining finishes. The one-vertex case and the empty case are immediate.
For , the defect version isNecessity follows because at most vertices of can be unmatched. For sufficiency add new vertices to , each joined to every vertex of . The displayed inequality makes Hall's condition hold in the enlarged graph. Its full matching uses at most new vertices, giving the required original edges.
To prove the matching-cover equality, let be a maximum matching and its unmatched vertices in . Follow alternating paths from , using nonmatching edges from to and matching edges back. Let be the reachable sets. No reachable is unmatched, since that would give an augmenting path and a larger matching. Matching edges give a bijection . The set covers every edge: an edge from a reachable to an unreachable cannot be a nonmatching edge, and its matching edge, if present, is already reachable. Its size isEvery vertex cover has at least vertices, because the matching edges are disjoint. Therefore maximum matching size equals minimum vertex-cover size, as required.
Past exam of the mathematics course of the University of Cambridge 2013 iii Paper 38 4 a Solution Created 2026-10-03 Updated 2026-10-07
Use the specified construction as a polynomial-time many-one reduction from 3-SAT. There are vertices and edges: one edge per variable pair, three edges per clause triangle in a graph, and three occurrence edges per clause. Any vertex cover must take at least one vertex from every variable pair and at least two from every clause triangle. Therefore every cover has at least vertices.
Given a satisfying Boolean valuation, include the vertex corresponding to the true Boolean literal in each variable pair. In each clause choose a true occurrence and omit its clause vertex, including the other two. Every variable edge and triangle edge is covered. An occurrence edge with an included clause endpoint is covered automatically; the only omitted occurrence vertex is joined to the included true-literal vertex. This is a vertex cover with exactly vertices.
Conversely, a cover of that size must use exactly one vertex in each variable pair and exactly two in each triangle. Declare a variable true precisely when its positive-literal vertex is included. Each clause has one omitted vertex. Its occurrence edge forces the corresponding literal vertex into the cover, so that literal is true. Every clause is therefore satisfied. ThusThe construction and target size are polynomial in the input length. Since 3-SAT is NP-complete, the decision problem is NP-hard. The usual “at most ” version has the same equivalence here because is an unavoidable lower bound. More generally, a cover with fewer than vertices can be padded to exactly . Verifying a proposed cover is polynomial, so the usual vertex-cover decision problem is also in NP and hence NP-complete.
Past exam of the mathematics course of the University of Cambridge 2013 iii Paper 38 4 b Solution Created 2026-10-03 Updated 2026-10-14
Let the bipartite graph have parts . Add a source , a sink , capacity-one edges for and for , and capacity on each original edge directed . Use the max-flow min-cut theorem: maximum flow value equals minimum cut capacity. Also use Integrality of the Ford-Fulkerson algorithm: integral capacities admit an integral maximum flow, found by integral augmenting paths.
An integral flow selects a matching in a graph, because each left and right vertex carries at most one unit. Conversely every matching gives a unit flow along its selected paths. Hence maximum flow value equals maximum matching cardinality.
A minimum cut has capacity at most , whereas crossing even one original edge would cost . For its source side , no edge of the original graph runs from to . Thereforeis a vertex cover, and its cardinality is exactly the cut capacity. Conversely, given any cover , use . No original edge crosses this cut, because both its endpoints would otherwise be outside the cover; its capacity is . Thus minimum cut capacity equals minimum cover size, proving Kőnig's theorem for bipartite matching:For the algorithm, repeatedly find augmenting paths in the residual network, then take to be the vertices reachable from . Each integral augmentation increases flow by at least one; the total value is at most . Each reachability search takes time, so this procedure takes time. The network uses only polynomially many edges and integer capacities, yielding the requested polynomial-time algorithm and an explicit cover.
Past exam of the mathematics course of the University of Cambridge 2018 iii Paper 110 1 Solution Created 2026-10-03 Updated 2026-10-14
Write . The Erdős-Stone theorem states that, for a fixed graph with chromatic number ,Here is the extremal number, and copies are subgraphs, not necessarily induced subgraphs. We write for the balanced complete multipartite blow-up with classes of vertices each. All asymptotic errors below concern with the forbidden graphs fixed.
The stability subgraph. We prove the high-minimum-degree multipartite stability subgraph assertion directly from the Erdős-Stone theorem. For , the edgeless spanning subgraph suffices. Suppose .
First repeatedly remove a vertex whose degree of a vertex is less than times the current order, where sufficiently slowly. The Erdős-Stone theorem gives, uniformly for every -free subgraph of order at most ,Indeed, apply the asymptotic bound at large orders; the contribution from bounded or sufficiently small orders is negligible relative to . If vertices survive, the removed edges number at mostComparing with shows that , provided dominates , the initial relative error, and . Consequently . The surviving induced subgraph satisfies and .
By the Erdős-Stone theorem, contains for some as slowly as necessary. This follows because exceeds the extremal number density for each fixed by the positive gap . Choose so slowly that and , and denote its root classes by .
An outside vertex having at least neighbours of a vertex in every determines one choice of a -subset in each . At most outside vertices can determine any fixed choice, since otherwise these vertices and the chosen root sets form . Thus at most outside vertices have this property. Exclude those vertices and the root classes; put each remaining vertex in a class for which it has fewer than neighbours of a vertex in .
Write , with . Counting missing incidences with givesSince , it follows that for every . The total missing incidences from all root vertices to assigned vertices are at most . At least of them are incidences with a vertex's own assigned root class. Hence only missing incidences go to other root classes.
Choose slowly and discard the assigned vertices with more than missing incidences to other root classes. Each remaining vertex of is adjacent to all but at most vertices of every , . If its class contained a complete bipartite graph , the vertices of this copy would have at least common neighbours of a vertex in each other root class. These sets extend the copy to , a contradiction. By the bipartite case of the Erdős-Stone theorem, the number of internal edges in each surviving class is .
The surviving graph still has edges, whereas the total possible cross-class edges, with these balanced classes, is . Thus only cross-class edges are missing. Discard the vertices missing more than cross-class edges, with slowly, and delete all internal edges. The resulting -partite subgraph has classes of size andFor the lower bound, every surviving vertex misses only vertices outside its class; the upper bound follows from the class sizes. This also records the uniform cross-class error that we need next.
Minimum degree in an extremal graph. Fix with . Choose large enough that embeds in . An extremal -free graph is therefore -free, and its edge count has the required asymptotics by the Erdős-Stone theorem. For take as above.
For any vertex , remove and introduce a new vertex whose vertex neighbourhood consists precisely of the vertices in other than . The new degree of a vertex is . This new graph remains -free. Indeed, a new copy of must use , and all its neighbours of a vertex in that copy lie in the other classes of . There are only boundedly many of them. Each misses only vertices in , so an unused vertex is adjacent to all of them. Replacing by would give in , which is impossible.
Extremality now forces , uniformly in . The upper bound for the minimum degree of a graph follows from . For , already gives . ThusThis is the minimum degree of an extremal forbidden-subgraph graph principle.
The exact extremal graph for disjoint cliques. DefineThe plus sign denotes the join of graphs. The Turán graph contains no , so every such clique in uses a vertex of . Therefore contains no vertex-disjoint such cliques, and the extremal number is at least .
Induct on , with supplied by the Turan theorem, including its equality characterization. Let and let be extremal for . The preceding results give and the -partite subgraph . Keep its classes fixed and assign each of the remaining vertices to a class in which it has fewest neighbours of a vertex in . Write the resulting classes as ; all have size . Choose a positive so slowly that dominates the outside count, every cross-class error in , and every error in the minimum degree of a graph bound.
Suppose some vertex has at least internal neighbours of a vertex. If , the assignment rule shows that has at least neighbours of a vertex in every . If , it has this many in and in the other . If contained disjoint , we could choose one vertex in each , successively avoiding those copies and the missing cross-neighbours of the already chosen vertices. This produces a further through . For , this just chooses an unused neighbour of . Hence is -free, and induction givesSince the candidate attains , equality holds throughout: is a universal vertex and is the inductively unique extremal graph. Thus is isomorphic to .
It remains to show that this case must occur. Otherwise all internal vertex degrees are less than . Together with the lower bound on and , this implies that every vertex misses only vertices outside its own class. If some contains a matching in a graph of edges, extend its edges one by one to , choosing one vertex from each other class. At every step only cross-neighbours and boundedly many used vertices are excluded. This gives disjoint forbidden cliques, a contradiction.
A maximal matching in each class therefore has at most edges, and its at most endpoints form a vertex cover of the internal edges. Their internal vertex degrees are all , so the total internal edge count is . The cross-class edge count is at most , whenceBut the balanced part sizes of the Turán graph givecontradicting extremality for . This argument also works for . Consequently, for all sufficiently large ,The uniqueness is up to isomorphic graphs, as usual for an extremal graph for disjoint cliques.
For every matching in a graph and every vertex cover , the disjoint edges of need distinct covering vertices. ThereforeNow assume the assertion in part (ii). It supplies a matching in a graph and a vertex cover formed by choosing one endpoint of each edge of . Because these edges are disjoint, the chosen endpoints are distinct, so . By the definitions of maximum and minimum,Every inequality must be equality, proving Kőnig's theorem for bipartite matching:
Choose a maximum matching and a minimum vertex cover . By Kőnig's theorem for bipartite matching, . Every edge of must have at least one endpoint in , because is a vertex cover. Distinct edges of the matching in a graph have disjoint endpoints, so these requirements already use at least distinct vertices of .
A matching in a graph is a set of edges no two of which share a vertex. A cover here means a vertex cover: a set of vertices such that every edge has at least one endpoint in . It is not an edge cover.
Kőnig's theorem for bipartite matching states that, in any finite bipartite graph, the maximum size of a matching in a graph equals the minimum size of a vertex cover:Here is the matching number and is the vertex cover number.
Solutions to all eight questions of the Oxford Preliminary Examination held on 15 June 2023. Source release: released examination archive, member
2022/T/a10101w1.pdf. The cover identifies Trinity Term 2023. The three section headings and all question labels below follow this historical paper; its grouping is independent of subsequent course changes. Although candidates were asked to attempt at most five questions, every marked subpart is solved here.In 8(b), the source's parenthetical definition describes a dominating set, while its name suggests a vertex cover. Both readings are treated explicitly. In 8(c)–(d), we make the scopes of the printed quantifiers explicit; in particular, the opening universal quantifiers in 8(c) govern both irreflexivity and transitivity. As usual in first-order logic, domains are nonempty, and graphs are finite simple graphs unless an infinite domain is specified.
The nonempty simple graphs having an independent vertex cover of size at most two. The witnesses select the cover. The clause makes the selected vertices nonadjacent; the universal clause forbids every edge whose two endpoints both lie outside the selected set.
The witnesses need not be distinct, so a one-vertex cover is permitted by choosing . A nonempty edgeless graph also satisfies the formula. The empty graph does not, because the existential quantifiers have no witnesses. Here independent vertex cover has its standard vertex cover meaning; 8(b)'s differing parenthetical definition is addressed separately below.
Vertex cover Created 2026-10-05 Updated 2026-10-14
A vertex cover chooses vertices that collectively touch every edge of a graph. Think of placing monitors at junctions: if a monitor watches every connection incident to its junction, a vertex cover watches all connections. The minimum vertex cover asks how few monitors suffice. This is a model of covering connections through their endpoints, rather than of monitoring distances in the drawing.
For a finite simple graph , a vertex cover is a subset satisfyingBoth endpoints may be selected; the condition requires at least one. An isolated vertex covers no edge, so a minimum vertex cover never needs it.[ref]
Graph Theory by Reinhard Diestel. Diestel, Graph Theory, fourth electronic edition, Section 2.1, definition of vertex cover
Take the cycle graph with vertices and edges . The set is a vertex cover: vertex covers and , vertex covers and , and vertex covers as well as . In particular, the closing edge is covered even though vertex is unselected.
The unselected vertices form an independent set. This is the key connection: an edge missed by would have both endpoints in , precisely what an independent set forbids. For every subset ,Here is the complement of a set within ; the graph itself keeps all its edges. The complement graph is a different construction.[ref]
https://introtcs.org/public/lec_12_NP.html. Barak, Introduction to Theoretical Computer Science, Chapter 14, vertex-cover exercise
A minimum vertex cover and its maximum independent complement on the same five-cycle
. Details. The endpoints of any maximal matching form a vertex cover: an edge avoiding all endpoints would enlarge that matching in a graph. Consequently a graph with no matching in a graph of size has a vertex cover of size at most . This supplies a convenient vertex cover, but it need not be a minimum vertex cover.
Vertex cover decision problem Created 2026-10-25 Updated 2026-10-31
The vertex cover decision problem asks whether a finite simple graph has a vertex cover containing at most vertices. For an uncovered edge , any valid vertex cover contains or . Branch on these two possibilities, delete the chosen vertex and its incident edges, and decrease by one. An edgeless graph accepts and a nonempty graph with rejects. The search tree has at most leaves, giving running time with straightforward copying. Thus this parameterization is fixed-parameter tractable.
Vertex cover number Created 2026-10-14 Updated 2026-10-31
The vertex cover number records the size of a minimum vertex cover:The vertex cover number is a number, while a minimum vertex cover is a set attaining it. For the cycle graph , the independence number is , so the complement correspondence gives . The vertex cover above attains this size.
Every matching in a graph gives a lower bound on the vertex cover number. Its edges have no shared endpoints, so covering each selected edge requires a different vertex. Thus, for any matching in a graph and any vertex cover ,where is the matching number. Exhibiting a matching in a graph and a vertex cover of the same size certifies that both are optimum. Kőnig's theorem for bipartite matching says that every finite bipartite graph admits this equality: .[ref]
Graph Theory by Reinhard Diestel. Diestel, Graph Theory, Section 2.1, Theorem 2.1.1 and its lower-bound argument
For the complete bipartite graph , let the left vertices be and the right vertices be . All six edges join to . Selecting covers every edge; selecting gives a matching in a graph of size two. The lower bound and this vertex cover give , so . The remaining vertices form a largest independent set of size three. Crossings of drawn edges are not extra vertices.
The bipartite graph hypothesis matters. In a triangle in a graph, any two vertices form a minimum vertex cover, while any two edges share an endpoint. Hence and . Similarly, the cycle graph has and . The inequality for the matching number remains valid, but equality can fail.

