There is a theorem in Algebraic graph theory which state: "Let X be a graph with n vertices and $c_o$ bipartite connected components. If B is the incidence matrix of X, then its rank is given by rk(B) = n - $c_o$."
This is what I think should be the way of proving this theorem. If a graph has $c_o$ bipartite components then the incidence matrix has $2c_o$ zero block matrices and therefore the row echelon form will contain $c_0$ free variables and hence the result.
Can someone provide a better proof otherwise I have lost interest in the proof in Godsil chapter 8? Is my logic okay here?