Berge's theorem

In graph theory, Berge's theorem states that a matching M in a graph G is maximum (contains the largest possible number of edges) if and only if there is no augmenting path (a path that starts and ends on free (unmatched) vertices, and alternates between edges in and not in the matching) with M. It was proven by French mathematician Claude Berge in 1957 (though already observed by Petersen in 1891 and Kőnig in 1931).

G′ will consist of connected components that are one of the following: The lemma can be proven by observing that each vertex in G′ can be incident to at most 2 edges: one from M and one from M′.

Graphs where every vertex has degree less than or equal to 2 must consist of either isolated vertices, cycles, and paths.

Let us now prove the contrapositive of Berge's theorem: G has a matching larger than M if and only if G has an augmenting path.

Clearly, an augmenting path P of G can be used to produce a matching M′ that is larger than M — just take M′ to be the symmetric difference of P and M (M′ contains exactly those edges of G that appear in exactly one of P and M).