If M is a matching in a graph and K a covering of the same graph, then |M| <= |K|.
Theorem: If M is a matching, K a covering and |M| = |K|, then M is a maximum matching and K is a minimum covering.
Theorem: (König) In a bipartite graph the number of edges in a maximum matching equals the number of vertices in a minimum cover.
(Proof postponed)
Alternate Proof of the Marriage Theorem: If |N(S)| >= |S| for all S a subset of X, we need to show that there exists an X-saturating matching. Since the graph is bipartite, and an X-saturating matching would be a maximum matching, König's theorem implies that |K*| = |X| for a minimum covering K*, i.e., |X| <= |K| for every cover K.
Let K be a covering, Z the set of X vertices in K, and S = X - Z. Since S is not in K, each of the vertices of N(S) must be in K because K is a covering. Therefore, we have,
Def: In a 0,1 matrix, a set of 0 entries is called an independent set of 0's if no two 0's in the set are in the same row or column. The rows and columns of the matrix are called lines in this context.
Corollary (König - Egerváry): In a 0,1 matrix the size of a maximum independent set of 0's equals the minimum number of lines that cover all the 0's of the matrix.
Pf: Build a bipartite graph where the vertices of X are the rows of the matrix and the vertices of Y are the columns. Join a vertex in X with one in Y if and only if there is a 0 in the intersection of that row and column. Apply König's theorem to this bipartite graph.