Stephen,
There's a problem in the following:
"(if a then b) is logically equivalent to (if not b then not a)"
- Ok so far
"Thus, it is sufficient (equivalent) to prove that If |N(S)| < |S| then there is not perfect matching in G."
- This is a mistake. You've mismatched the statements a and b. a is the statement "For all S, |N(S)| >= |S|". b is the statement "There is a perfect matching"
Thus, "if not b, then not a" is equivalent to
"If there is no perfect matching, then there is some subset S such that |N(S)| < |S|"