\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{bm}
\usepackage{graphicx}
\usepackage{geometry}
\usepackage{indentfirst}
\usepackage{amsfonts}
\geometry{legalpaper, portrait, margin=0.5in}
\usepackage{color}   %May be necessary if you want to color links
\usepackage{hyperref}
\hypersetup{
    colorlinks=true, %set true if you want colored links
    linktoc=all,     %set to all if you want both sections and subsections linked
    linkcolor=black,  %choose some color if you want links to stand out
}
\usepackage[siunitx]{circuitikz}
\usetikzlibrary{patterns}
\usetikzlibrary{decorations.markings}
\graphicspath{ {./images/} }
\usepackage{enumitem}
\usepackage{outlines}
\begin{document}
\newcommand*\dif{\mathop{}\!\mathrm{d}}
\renewcommand{\mod}{\,\operatorname{mod}\,}
\setlength{\parindent}{0pt}

\setlist[enumerate]{noitemsep, topsep=0pt, itemindent=\parindent}
\setlist[itemize]{noitemsep, topsep=0pt, itemindent=\parindent}

\newenvironment{subitemize}
{ \begin{itemize}[leftmargin=\parindent] }
{ \end{itemize} }

\newenvironment{subenumerate}
{ \begin{enumerate}[leftmargin=\parindent] }
{ \end{enumerate} }

\newenvironment{nopagebr}
  {\par\nobreak\vfil\penalty0\vfilneg
   \vtop\bgroup}
  {\par\xdef\tpd{\the\prevdepth}\egroup
   \prevdepth=\tpd}

\pagebreak
\begin{outline}

Here's how I understand rank-nullity intuitively.

\section{Definition}

Rank-nullity says for a linear map $T : V \rightarrow W$ over the field $F$,
\[ \text{dim}(V) = \text{dim}(\text{im}(T)) + \text{dim}(\text{ker}(T)) \]

\section{Short version}

If you have a basis $b = \{ b_1,...,b_n \}$ for $V$, you have a $\text{dim}(\text{im}(T))$-dimensional subspace of $V$ which is bijective across $T$ to $\text{im}(T)$. So $\text{dim}(\text{im}(T))$ of your basis vectors are important for $T$'s output, and $\text{dim}(V)-\text{dim}(\text{im}(T))$ of your basis vectors are not; it turns out that these unimportant vectors have \textbf{free coefficients} then, because their mapped versions live inside the span of the mapped useful vectors and thus can be cancelled out. Since you have $\text{dim}(V)-\text{dim}(\text{im}(T))$ free coefficients, that's the dimensionality of your failure of injectivity; in other words, $\text{dim}(\text{ker}(T))$, so
\[ \text{dim}(V)-\text{dim}(\text{im}(T)) = \text{dim}(\text{ker}(T)) \]
This is equivalent to rank-nullity.

\section{Reasoning / full proof}

Rank-nullity essentially says our "expressible dimensions" of the output of $T$ are lost directly to the dimensions of injectivity failure.\\

More concretely, let $b = \{ b_1,...,b_n \}$ be the basis for $V$ ($b_i \in V$).
\1 Choose a basis such that $B_1 = \{b_1,...,b_k\}$ ($k=\text{dim}(\text{im}(T))$) forms a basis for the subspace of $V$ that is bijective across $T$ to the subspace $\text{im}(T)$ of $W$. Note that $T(B_1)$ forms a basis for $\text{im}(T)$.
\1 The rest of the $V$-basis set can go in $B_2 = \{ b_{k+1},...,b_n \}$.
\\\0

Notice that since $\text{span}(T(B_1)) = \text{span}(T(B_1 \cup B_2)) = \text{im}(T)$, we know none of the $n-k$ vectors in $T(B_2)$ introduce any new information / dimensionality; any of them can be obtained from a combination in $T(B_1)$.
\1 Seems like there's already a connection to $\text{ker}(T)$: injectivity failure! If we have redundant "building blocks" in $T(B_2)$ when mapping out $\text{im}(T)$, then we no longer have only one way to move along any dimension.
\1 Specifically, if we map all $v \in \text{im}(T)$ using linear combos of $b$ to feed into $T$, we have multiple $\alpha = \{ \alpha_1,...,\alpha_n \}$ ($\alpha_i \in F$) such that
\[ v = T\left(\sum_{i=1}^n \alpha_i b_i\right) \]
for any particular $v$.
\1 This is because $\alpha_{k+1},...,\alpha_n$ are \textbf{free variables} for a fixed target output: any change in these coefficients can be cancelled out by changes to $\alpha_1,...,\alpha_k$. Conceptualize $\alpha_1,...,\alpha_k$ as the "responsible coefficients" which manage to keep the output the same by accommodating for the chaotic $\alpha_{k+1},...,\alpha_n$ which don't follow any rules.
\2 Also note: there always exists a unique solution $\alpha_1,...,\alpha_k$ for any set of $\alpha_{k+1},...,\alpha_n$ because $\displaystyle T\left(\sum_{i=k+1}^n \alpha_i b_i\right) \in \text{im}(T)$ and $T(B_1)$ forms a basis for $\text{im}(T)$ (which consequently means there is a unique set of coefficients to reach any member of $\text{im}(T)$, and $B_1$'s coefficients are $\alpha_1,...,\alpha_k$).
\1 To make it concrete, we have that $\displaystyle \sum_{i=1}^n \alpha_i b_i$ can take on multiple values because of $\alpha$ changes, yet these changes don't reflect in $\displaystyle T\left(\sum_{i=1}^n \alpha_i b_i\right)$. This is exactly what it means to fail injectivity; two inputs lead to the same output.
\\\0

\hrulefill \\

(and a footnote on "$n-k$ free coefficients = $n-k$-dimensional kernel": each $T(b_j)$ for $b_j \in B_2$ can be represented as a combination of $T(B_1)$, so rearrange and get $\displaystyle T(b_j) - T\left(\sum_{b_i \in B_1} (\gamma_i b_i)\right) = 0_W$, so $\displaystyle b_j - \sum_{b_i \in B_1} (\gamma_i b_i)$ is in the kernel. Since each of these are LI for any $b_j \in B_2$, each $b_j \in B_2$ adds one dimension to the kernel.)

\section{Matrix-vector framing}

Tie this back to finding the nullspace of $A$.\\

In this scenario, $T : \mathbb{R}^n \rightarrow \mathbb{R}^m$ and $T(x) = Ax$.
\1 A basis for the domain is the standard basis $e_1,...,e_n$ where $e_i$ is a column vector of $n$ zeros and a one at the $i$th element.
\1 We express any $x$ as $\displaystyle x = \sum_{i=1}^n \alpha_i e_i$ where $\alpha_i \in \mathbb{R}$.
\\\0

Then, when we find the nullspace, we're doing $A \cdot \left(\begin{pmatrix}1 \\ 0 \\ \vdots \\ 0\end{pmatrix} \alpha_1 + \begin{pmatrix}0 \\ 1 \\ \vdots \\ 0\end{pmatrix} \alpha_2 + \cdots + \begin{pmatrix}0 \\ 0 \\ \vdots \\ 1\end{pmatrix} \alpha_n\right) = 0$. Or more simply, $A \cdot \begin{pmatrix}\alpha_1 \\ \alpha_2 \\ \vdots \\ \alpha_n\end{pmatrix} = 0$. We solve for $\alpha$ values in terms of each other from the system of equations the matmul gives us.

\end{outline}
\end{document}
