I have a question regarding the positive definiteness of the stiffness matrix. Specifically, I believe that it should be positive definite only when at least one Dirichlet point is given, so I would like a clarification on which is the precise moment that the stiffness matrix becomes positive definite. Let us consider a very simple model problem:
$$ -\Delta u(\pmb{x}) = f(\pmb{x}), x \in \Omega \\ u(\pmb{x}) = g(\pmb{x}), \pmb{x} \in \Gamma_D \\ \partial_n u(\pmb{x}) = 0, \pmb{x} \in \Gamma_N. $$
Using the divergence theorem this can be rewritten as:
$$ \int_{\Omega} \nabla u \cdot \nabla v = \int_{\Omega}fv \\ u(\pmb{x}) = g(\pmb{x}), \, \pmb{x} \in \Gamma_D. $$
A space $V_h \subset \mathcal{H}^1(\Omega)$ is given, with basis functions $\phi_1, \ldots, \phi_d, \phi_{d+1},\ldots,\phi_{d+m}$. Let $Dir = \{1,\ldots,d\}$ and $Ind = \{d+1,\ldots,d+m\}$. The solution would then be of the form:
$$u_h(\pmb{x}) = \sum_{k=1}^{d+m}u_k\phi_{k}(\pmb{x}), \pmb{x} \in \Omega,$$
and the linear system of equations that must be solved is:
$$ \sum_{k=1}^{d+m}u_k\int_{\Omega}\nabla\phi_i \cdot \nabla\phi_j = \int_{\Omega}f\phi_i, \, i \in Ind \\ u_i = g_i, \, i \in Dir. $$
The full stiffness matrix and right-hand side are:
$$ W_{ij} = \int_{\Omega}\nabla\phi_i \cdot \nabla\phi_j, \, i,j \in Dir\cup Ind \\ f_i = \int_{\Omega}f\phi, \, i \in Dir \cup Ind. $$
Then the system can be written more concisely as:
$$\pmb{W}|_{Ind \times Dir\cup Ind}\pmb{u} = \pmb{f}|_{Ind},$$
or if the Dirichlet columns are removed:
$$ \pmb{W}|_{Ind \times Ind}\pmb{u}|_{Ind} = \pmb{f}|_{Ind}-\pmb{W}|_{Ind \times Dir}\pmb{g}. $$
I know, that if even a single Dirichlet node is provided, then the system has a unique solution, which to me implies that $\pmb{W}|_{Ind \times Ind}$ is positive definite. However, if no Dirichlet node is provided, one is left with pure Neumann boundary conditions, and an additional constraint must be provided, for example (https://fenicsproject.org/olddocs/dolfin/2016.1.0/python/demo/documented/neumann-poisson/python/documentation.html):
$$\int_{\Omega}u = 0 \implies \sum_{k=1}^{m}u_k\int_{\Omega}\phi_k = 0$$.
To me, requiring such an additional constraint implies that the matrix $\pmb{W}|_{Ind \times Ind}$ is not positive definite and that it has a zero eigenvalue. Yet, the answer here: In FEM, why is the stiffness matrix positive definite? claims that it is positive definite without referring to the number of Dirichlet nodes. Clearly I am missing something, and I would like to understand what.
Edit:
At first glance $\pmb{W}|_{Ind \times Ind}$ seems oblivious to Dirichlet nodes, since it includes only terms involving basis functions that correspond to non-Dirichlet nodes. However, introducing Dirichlet nodes modifies the non-Dirichlet basis functions (even non-Dirichlet basis functions have to vanish at a Dirichlet node, thus implicitly affecting the terms in $\pmb{W}|_{Ind \times Ind}$). Is anyone aware of a reference that makes this argument rigorous? More precisely a proof that the matrix $\pmb{W}|_{Ind \times Ind}$ becomes positive-definite upon the introduction of such a Dirichlet point?