A spline is a method of fitting a function to a set of points $(x_1,y_1),$ $(x_2,y_2),$ $\ldots, (x_n,y_n).$ The answer to the question is because natural cubic splines exist.
The full explanation appears in the last two sentences of this post. The intervening material consists of standard definitions, constructions, and observations in linear algebra to establish notation and fix the concepts. It is included because (a) the comment thread to the question indicates there is a risk of misinterpreting some of the terminology and (b) taking this abstract approach will demonstrate we need to know only that splines exist, but we don't need any details of their construction. As such, the results are both easy to obtain and they apply to any kind of spline (in the extremely general sense defined below).
The vector space interpretation is also helpful for bringing to the fore two fundamental operations associated with splines: (i) using splines to approximate arbitrary functions and (ii) passing splines through finite sets of points. I will address these in turn, but wish to emphasize there's little to demonstrate and nothing to calculate.
Linear algebra
To set the stage, we will be working with functions $f:X\to \mathcal R$ defined on the set $X$ of all possible values of the data $x_i.$ The codomain is a field $\mathcal R$ (usually the real or complex numbers). The set of these functions, $\mathbb R^X,$ is naturally a vector space under pointwise addition of functions and scalar multiplication. That is, given any $x\in X,$ for all $f,g\in \mathcal R^X$ and $\alpha,\beta\in\mathcal R,$
$$(\alpha f+\beta g)(x) = \alpha f(x)+\beta g(x).$$
A spline is, first of all, a vector subspace $\mathbb G \subset \mathcal R^X:$ we intend to use the functions in $\mathbb G$ to approximate arbitrary functions in $\mathcal R^X.$
Any finite collection of distinct "knots" $\Xi=(\xi_1, \xi_2, \ldots, \xi_p)\in X^p$ determines a linear transformation $\iota_\Xi: \mathcal R^X \to \mathcal R^\Xi$ via restriction to the domain $\Xi,$
$$\iota_\Xi(f)(\xi_j) = f_{|\Xi(\xi_j)} = f(\xi_j)$$
for $j= 1, 2, \ldots, p.$ The codomain $\mathcal R^\Xi$ is canonically isomorphic to the standard $p$-dimensional vector space $\mathcal R^p:$ simply write the function $\iota_\Xi(f)$ as the vector $\mathbf y = (f(\xi_1),f(\xi_2),\ldots,f(\xi_p)).$ I will therefore treat these as the same vector space without further comment.
The image $\iota_\Xi(\mathbb G) \subset \mathcal R^\Xi$ is the set of values that spline functions can take on $\Xi.$ The assertion "splines exist" means that whenever $\Xi$ is a sequence of knots, $\iota_{\Xi}$ is a surjection: to every possible set of values $\mathbf y = (y_1,y_2,\ldots, y_p),$ there is a spline function $f\in\mathbb G$ attaining those values at the knots.
The foregoing characterizes a spline as a function space $\mathbb G$ with an existence property. I am not aware of any such characterization in the literature, but believe it applies to every type of spline that has been invented.
Existence is usually proven by exhibiting a right inverse for arbitrary $\iota_\Xi.$ That is, given $\mathbf y,$ a function $g\in\mathbb G$ is constructed for which $\iota_\Xi(g) = \mathbf y.$ This chapter of ESL includes several such constructions for natural cubic splines defined on real numbers $X=\mathbb R,$ so I take the existence as not in question here.
Let $\iota_\Xi^*$ be such a right inverse: that is, $\iota_\Xi^*$ is a vector space isomorphism between $\mathcal R^p$ and a subspace of $\mathbb G$ where, for all $\mathbf y \in \mathcal R^p,$
$$\iota_\Xi(\iota_\Xi^*(\mathbf y)) = \mathbf y.$$
Because $\iota_\Xi$ is an isomorphism, any basis $\mathcal E$ of $\mathcal R^p$ (that is, a linearly independent spanning subset) corresponds to a basis $\iota_\Xi^*(\mathcal E)$ of the image. The latter is what ESL means by a basis of spline functions. As we have seen, these really are functions and it really is a basis of a special finite-dimensional subspace of functions.
The circumstances of the question
That's it for the linear algebra preliminaries. Next, let's address the unstated assumptions of the question. These are
$N$ is the matrix determined by a spline with "knots at the data values."
The $x_i$ are distinct.
These indicate the matrix $N$ in the question is a special one where $p=n$ (assumption (1)) and the data values $x_i$ are the knots $\xi_i$ (which must be distinct, assumption (2)).
Pick any basis $\mathcal E = (\mathbf e_1, \ldots, \mathbf e_n).$ Each $\mathbf e_j = (e_{ij}, j = 1, \ldots, n)$ is an $n$-vector. The matrix $N$ in the question is constructed from the $n$ knots $\Xi \subset \mathcal R^X$ and the basis $\mathcal E \in \left(\mathcal R^n\right)^n$ by applying each of the corresponding basis spline functions to the data:
$$N = (n_{ij}) = \iota_\Xi^*(\mathbf e_j)(x_i) = \iota_\Xi^*(\mathbf e_j)(\xi_i) = (e_{ij}).\tag{*}$$
(In the notation of the question, the basis functions are $N_j = \iota_\Xi^*(\mathbf e_j)$ and $N = (n_{ij}) = N_j(x_i).$)
Solution
The identity $(*)$ shows $N$ is a square $n\times n$ matrix equal to the matrix of $\mathcal E.$ Because $\mathcal E$ is linearly independent, this matrix has rank $n$ and so does its transpose. Equivalently, $N$ is invertible.
The question concerns the rank of a matrix of the form
$$S_\lambda = N^\prime A_\lambda^{-1} N.$$
The interior matrix in this product is invertible (its inverse is $A_\lambda$). Because natural cubic splines exist, $N$ is invertible, whence $S_\lambda$ (which represents a composition of three invertible linear transformations) also is invertible and therefore must have the same rank $n$ as its components, QED.
To your note: if $\lambda \to 0$ then $S_\lambda = I_n$ which has rank $n$ so full rank?
– Lejoon Jan 04 '23 at 20:27Why do the "basis functions" of the natural cubic splines constitute a basis? According to the authors' (Hastie et al) "basis functions" are just constitutents of a model $f(X) = \sum_m^M \beta_m h_m(X)$, there's a priori no requirement for them to actually be a basis for a vector space. You can for example, a priori, have repeating $h_m$ for different factors? This setting is of course more specific as it pertains to a specific minimisation problem.
– Lejoon Jan 05 '23 at 11:54Only when you evaluate them at specific points they turn into a polynomial basis over a certain sub-vector space of $\mathbb{R}[x_1, \ldots, x_n]$.
– Lejoon Jan 05 '23 at 22:03