Are Linear Subspaces Always Null Spaces I understand why every linear sub space of a finite dimensional vector space is the null space of a linear function, and that this also is true for finite dimensional subspaces of infinite dimensional vector spaces. But is it true that for any subspace there must be (a collection of) linear functions that (collectively) vanish exactly on it?
 A: tl;dr: Yes, it is true.
Let me elaborate a bit. For this let me make the assumptions precise. Let $X$ be a vector space (over some field $k$) and let $U\subseteq X$ be a subvector space.
Kernel of linear function: The question asks whether it is possible to write $U$ as the kernel of some linear function.
This is indeed possible. The easiest way to do so is
$$ \varphi: X \rightarrow X/U, x \mapsto x+U. $$
This projection map is $k$-linear and the kernel is given by $U$.
Kernel of linear functionals: Now we can ask whether it is possible to write $U$ as the kernel of a linear functional (by this I mean a linear function $\varphi: X \rightarrow k$). And in general this is not possible as @Reveillark remarked in the comments. He argues that the kernel of a linear functional is maximal. This can be fixed, if instead of a single linear functional we consider a collection of linear functional.
For this we pick a $k$-basis $(e_\lambda)_{\lambda \in \Lambda_1}$ of $U$ and then extend this to a $k$-basis $(e_\lambda)_{\lambda\in \Lambda_2}$ of $X$. Then we define for $\lambda_0\in \Lambda_2$ the following functional
$$ \varphi_{\lambda_0} : X \rightarrow k $$
which is defined via
$$\varphi_{\lambda_0} (e_\lambda) = \begin{cases} 1,& \lambda=\lambda_0, \\ 0,& \lambda_0\in \Lambda_2 \setminus \{ \lambda_0\}. \end{cases}$$
Check that this indeed defines a linear functional (for this it helps to remember that every element of $X$ can be expressed as a finite linear combination of the basis $(e_\lambda)_{\lambda_\in \Lambda_2}$). Then we have that $U$ is the common null space of $(\varphi_\lambda)_{\lambda\in \Lambda_2 \setminus \Lambda_1}$, i.e.
$$ U = \bigcap_{\lambda\in \Lambda_2 \setminus \Lambda_1} ker(\varphi_\lambda). $$
Check that this is indeed true (for this express the elements in question in our basis and evaluate them on the right functionals).
Size matters (?): We could ask whether we could do this with fewer functionals, if we picked them in a smarter way. In fact, we cannot. For this, we need the general version of the rank-nullity theorem. It says the following:

Let $V,W$ be $k$-vector spaces and $\varphi: V \rightarrow W$ be a  $k$-linear map, then we have
$$ dim_k(V) = dim_k(ker(\varphi)) + dim_k(im(\varphi)). $$

Here the dimension is the cardinal of the basis of the respective vector space (this needs no longer be a number). We write $X=U \oplus V$ and pick a a collection of linear functionals $(\varphi_\lambda)_{\lambda \in \Lambda}$ such that $U = \bigcap_{\lambda \in \Lambda} \ker(\varphi_\lambda)$. Now consider
$$ \Phi: V \rightarrow \bigoplus_{\lambda \in \Lambda} k, \Phi(x) = (\varphi_\lambda(x))_{\lambda \in \Lambda}.$$
Note that $ker(\Phi)= \{ 0\}$ (why?). Then the general rank-nullity theorem tells us
$$ dim_k(V) = dim_k(ker(\Phi)) + dim_k(im(\Phi)) ) = dim_k(im(\Phi)) \leq dim_k\left(\bigoplus_{\lambda\in \Lambda} k \right) = \vert \Lambda \vert. $$
Thus, we need at least $dim_k(V)= dim_k(X/U)$ linear functionals, which we have in the construction above.
Compatible with norms (?): If you happen to be interested in analysis, you might be a bit upset. Vector spaces are kind of lame, give us normed spaces (for simplicity take $k\in \{ \mathbb{R}, \mathbb{C} \}$)! If we now had a norm on $X$, we have a topology and can speak (after throwing also a topology on $k$) about continuity. The functionals in the construction above look quite discontinuous. Could we do the same thing, if we insisted that the functionals are continuous? Basic topology does not let us. If the $\varphi_\lambda$ are continuous, then their kernels are closed and hence $U$ would need to be a closed subvector space (which in general need not to hold). For example $C^1([0;1])$ is not a closed subspace of $C^0([0;1])$ (with the supremum norm).
Can we at least do it for closed subvector spaces? It works if $X$ is a Hilbert space. For this we can consider the functionals
$$ \varphi_x : X \rightarrow k, y \mapsto \langle x, y \rangle.$$
Then we get
$$ \overline{U} = (U^\perp)^\perp = \bigcap_{y\in U^\perp} ker(\varphi_y). $$
I do not know how things work out in general normed spaces, but I would be more than happy to learn about it!
To infinity and beyond: You asked how to extend the basis from $U$ to $X$. Fix a basis $(e_\lambda)_{\lambda \in T}$ of $U$. This whole thing will be an application of Zorn's lemma. For this we consider the following set
$$ P = \left\{ (e_\lambda)_{\lambda} \subseteq X  \ : \ (e_\lambda)_{\lambda} \text{ is linearly independent and } T\subseteq \Lambda \right\} $$
We introduce the partial order
$$ (e_\lambda)_{\lambda\in \Lambda} \leq (e_\lambda)_{\lambda \in \widetilde{\Lambda}} : \Leftrightarrow \Lambda \subseteq \widetilde{\Lambda}. $$
(check that this is indeed a partial order.) Now let $((e_\lambda)_{\lambda\in \Lambda_k})_{k\in K}$ be a chain, this means for $k, m\in K$ we have either $\Lambda_k \subseteq \Lambda_m$ or $\Lambda_m \subseteq \Lambda_k$. We have to show that there exists an element $B\in P$ such that $(e_\lambda)_{\lambda\in \Lambda_k} \leq B$ for all $k\in K$ (we say that $B$ is an upper bound for our chain). We define
$$ B = (e_\lambda)_{\lambda \in \bigcup_{k\in K} \Lambda_k}.$$
Check that $B\in P$ and that $B$ is an upper bound for our chain. By Zorn's lemma $P$ admits a maximal element $M= (e_\lambda)_{\lambda\in S}$. This means that there exists no element in $P$ that is bigger than $M$. We now need to check that $M$ gives us a basis of $X$ that extends $(e_\lambda)_{\lambda \in S}$ (the second part is for free as all element in $P$ are bases that extend the choosen basis on $U$).
Assume that $M$ does not span all of $X$. Then there exists an element $b\in X \setminus span\{ e_\lambda \ : \lambda \in S \}$. Then pick an index $s\notin \Lambda$ and define $e_s = b$ and consider
$$ \widetilde{M} := \{ e_\lambda \ : \ \lambda\in S \cup \{ s \} \}. $$
However, then we have $\widetilde{M}\in P$, $M\leq \widetilde{M}$ and $M \neq \widetilde{M}$ which contradicts the fact that $M$ was maximal element of $P$.
