Why is this not always true? My rationale is that some vector c (mx1) must either be in the columnspace or nullspace of A. If c is in the nullspace of A, it must be in the nullspace of BA. If c is the in nullspace of BA is must be in the nullspace of A because BAc = zero then B(Ac)=0 and the only vector that can make B = 0 is the zero vector so c must be in the nullspace of A. Therefore we have proven that BA and A have the same nullspace.
To prove they have the same columnspace, I say that: If c is in the columnspace of A it must not be in its nullspace. therefore it must not be in the nullspace of BA, therefore c must be in the columnspace of BA. And, from the other direction, if C is the columnspace of BA, it must not be in the nullspace of BA so it is not in the nullspace of A so it is in the columnspace of A because nullspace and columnspace are orthogonal.
However there are counterexamples to show this is not the case. Where does my logic go wrong?