As requested in the comments, there is a standard proof of Hall's Marriage Theorem from the [max-flow min-cut theorem](http://en.wikipedia.org/wiki/Max-flow_min-cut_theorem). Let $G$ be a bipartite graph satisfying Hall's condition, with bipartition $(A,B)$ such that $|A|=|B|=:n$. Make a network $N(G)$ from $G$ by directing all edges from $A$ to $B$. Then add two additional vertices $s$ and $t$ and directed edges $sa$ for each $a \in A$ and $bt$ for each $b \in B$. Set the capacity of each edge to be 1. Let $\delta(S)$ be a minimum $s$-$t$ cut. Write $S=\{s\} \cup A' \cup B'$ where $A' \subseteq A$ and $B' \subseteq B$. If there is an edge $ab$ where $a \in A'$ and $b \in B'$, then by moving $b$ out of $B'$ we do not decrease the capacity of $\delta(S)$. Thus we may assume that $B'$ is disjoint from $N_G(A')$. Therefore, the capacity of $\delta(S)$ is at least $|A - A'|+|B'|+|N_G(A')|.$ By Hall's condition, $|N_G(A')| \geq |A'|$, and so the capacity of $\delta(S)$ is at least $n$. Since all capacities are integral, by the (integral) max-flow min-cut theorem, $N(G)$ has an integral flow of value $n$, which corresponds to a perfect matching in $G$. **Comments.** The max-flow min-cut theorem has an easy proof via linear programming duality, which in turn has an easy proof via convex duality. So this proof is analytical if you would like it be. Secondly, the integral max-flow min-cut theorem follows easily from the max-flow min-cut theorem, so LP-duality is enough to get the integral version.