I'm trying to reconstruct a proof of Hall's marriage theorem due to Kriesell.
Hall's marriage theorem A bipartite graph $G$ with bipartition $\{A,B\}$ contains a matching of $A$ iff $|S|\leq |N(S)|$, for all $S\subseteq A$.
The necessity of the marriage condition for the existence of the matching is trivial.
The proof strategy for the sufficiency of the marriage condition is to take $H\subseteq G$ to be edge-minimal s.t. it fulfills the marriage condition, show that $d_H(b)\leq 1$ for every $b\in B$, and from this derive that $G$ has a matching of $A$.
I've got the last step. (You just observe that if $d_H(b)\leq 1$ for every $b\in B$, different elements of $A$ have non-empty disjoint neighbourhoods.). However, the proof of $d_H(b)\leq 1$ for every $b\in B$ just eludes me.
I know that it's probably very easy, but I've already been trying for hours and I'd appreciate your help. (Helpful hints are welcome and preferred over a solution).
Best Answer
I wouldn't say that this is "very easy", especially if you hadn't encountered some of these ideas before. Here is an outline of the proof in the form of hints.
The "key idea" in this proof is an example of a general pattern/proof technique relating to so-called submodular functions. If you are interested in this technique, you might want to take a look at this paper.