How to prove that the rank of a matrix is a lower semi-continuous function? I need to prove that rank($\mathrm{A}$) is not continuous everywhere but is lower semi-continuous everywhere, where $\mathrm{A}\in \mathbb{C}^{n\times m} $

Let $A\in{\mathbb C}^{n×m}$; we use the symbol $m$ to denote a square minor (a selection of $k$ rows and $k$ columns).  For any minor $m$ of the matrix define a function $f_m:{\mathbb C}^{n×m}\to {\mathbb R}$ in this way: if the minor is invertible then $f_m(A) = k$ otherwise  $f_m(A) = 0$. Obviously $f_m$ is lower semicontinuous. The rank is the maximum of all $f_m$, for all possible choices of $m$ (including all possible choices of $k$), so it is lower semicontinuous.
