Proving that the nullspace$(A) = $nullspace$(A^TA)$ where $A$ is a real m x n matrix.
Let $\mathbf{x} \in N(A)$ where $N(A)$ is the null space of $A$.
So, $$\begin{align} A\mathbf{x} &=\mathbf{0} \\\implies A^TA\mathbf{x} &=\mathbf{0} \\\implies \mathbf{x} &\in N(A^TA) \end{align}$$ Hence $N(A) \subseteq N(A^TA)$.
Again let $\mathbf{x} \in N(A^TA)$
So, $$\begin{align} A^TA\mathbf{x} &=\mathbf{0} \\\implies \mathbf{x}^TA^TA\mathbf{x} &=\mathbf{0} \\\implies (A\mathbf{x})^T(A\mathbf{x})&=\mathbf{0} \\\implies A\mathbf{x}&=\mathbf{0}\\\implies \mathbf{x} &\in N(A) \end{align}$$ Hence $N(A^TA) \subseteq N(A)$.
Assume $x \in null(A)$, then $Ax=0$. Multiplying both sides with $A^T$ from the left, we have $A^T Ax=0$, which means $x \in null(A^TA)$. Therefore $null(A) \subseteq null(A^TA)$.
Now, assume $x \in null(A^TA)$, which implies $A^TAx=0$. Multiply both sides with $x^T$ from the left, we get $$ x^TA^TAx=(Ax)^T(Ax)=0 $$
Now, defining $y=Ax$, we see that $y^Ty = 0$, or $$ \sum_{i=1}^m y_i^2 = 0 $$ Since $y_i$'s are real, this means $y_i=0$ for $i=1,2,...,n$, which means
$$ Ax = y = 0 $$
which means $x \in null(A)$. Therefore $null(A^TA)\subseteq null(A)$.