[proofplan]
The strategy is a Hahn-Banach plus compactness argument. We may assume $V$ is open. For each point $x \in K \setminus V$ — separated from $x_0$ by the open complement of $V$ — Hahn-Banach separation in the locally convex space $X$ produces a continuous linear functional $g_x \in X^*$ and a scalar $\beta_x$ strictly separating $\{x_0\}$ from $\{x\}$. The corresponding open half-spaces $U_x := \{y : g_x(y) > \beta_x\}$ form an open cover of the compact set $K \setminus V$. Extracting a finite subcover gives the required finitely many functionals.
[/proofplan]
[step:Reduce to the case where $V$ is open]
By definition of "neighbourhood", $V$ contains an open set $V'$ with $x_0 \in V'$. If we prove the conclusion with $V$ replaced by $V'$, obtaining $\{f_i < \alpha_i\}_{i=1}^n \cap K \subset V' \subset V$, the same functionals work for $V$. Hence we assume $V$ is open without loss of generality.
[/step]
[step:Construct a separating functional at each point of $K \setminus V$]
Fix $x \in K \setminus V$. Since $V$ is open and $x \notin V$, the singleton $\{x\}$ is disjoint from the open set $V$, and in particular $x_0 \in V$ is distinct from $x$.
The singleton $\{x_0\}$ is compact (a finite set in the Hausdorff space $X$), and the singleton $\{x\}$ is closed (the locally convex topology is Hausdorff, so points are closed). The two sets are disjoint convex sets. We apply [Hahn-Banach for Locally Convex Spaces](/theorems/2638) (geometric form, separating a compact convex set from a disjoint closed convex set): there exist a continuous $\mathbb{R}$-linear functional $g_x : X \to \mathbb{R}$ and a real $\beta_x \in \mathbb{R}$ with
\begin{align*}
g_x(x_0) < \beta_x < g_x(x).
\end{align*}
(In the complex case, replace $g_x$ by the real part of a continuous complex-linear functional; we work with the real part below, which is itself an element of the topological dual when $X^*$ is interpreted with respect to its real-linear structure, and extends to a complex-linear functional via $G(y) := g_x(y) - i g_x(iy)$ if needed.)
[/step]
[step:Cover the compact set $K \setminus V$ by open half-spaces]
For each $x \in K \setminus V$, define the open half-space
\begin{align*}
U_x := \{y \in X : g_x(y) > \beta_x\}.
\end{align*}
$U_x$ is open in $X$: it equals $g_x^{-1}((\beta_x, \infty))$, the preimage of an open set under the continuous functional $g_x$.
By construction $x \in U_x$ (since $g_x(x) > \beta_x$). Hence
\begin{align*}
K \setminus V \subseteq \bigcup_{x \in K \setminus V} U_x.
\end{align*}
The set $K \setminus V$ is closed in $K$ (complement of the open $V$ in $K$), and $K$ is compact, so $K \setminus V$ is compact (closed subset of a compact Hausdorff space).
By compactness, the open cover $\{U_x\}_{x \in K \setminus V}$ admits a finite subcover: there exist $n \in \mathbb{N}$ and points $x_1, \ldots, x_n \in K \setminus V$ such that
\begin{align*}
K \setminus V \subseteq \bigcup_{i=1}^n U_{x_i} = \bigcup_{i=1}^n \{y \in X : g_{x_i}(y) > \beta_{x_i}\}.
\end{align*}
(If $K \setminus V = \varnothing$, take $n = 1$ and any $f_1 \in X^*$, $\alpha_1 \in \mathbb{R}$ with $f_1(x_0) < \alpha_1$ — for example $f_1 \equiv 0$ and $\alpha_1 = 1$. Then $\{f_1 < \alpha_1\} = X \supset K$, and $\{f_1 < \alpha_1\} \cap K = K \subseteq V$ since $K \setminus V = \varnothing$.)
[/step]
[step:Identify the finitely many separating hyperplanes]
Set $f_i := g_{x_i} \in X^*$ and $\alpha_i := \beta_{x_i} \in \mathbb{R}$ for $i = 1, \ldots, n$.
[guided]
We have constructed functionals $f_1, \ldots, f_n$ and scalars $\alpha_1, \ldots, \alpha_n$. We now check the two required containments:
\begin{align*}
x_0 \in \{x \in X : f_i(x) < \alpha_i \text{ for all } i\} \cap K \subset V.
\end{align*}
*First containment: $x_0$ lies in the intersection.* By construction at Step 2, $g_{x_i}(x_0) < \beta_{x_i}$ for each $i$, i.e.\ $f_i(x_0) < \alpha_i$ for each $i$. Combined with $x_0 \in K$, this gives
\begin{align*}
x_0 \in \{x \in X : f_i(x) < \alpha_i \text{ for all } 1 \leq i \leq n\} \cap K.
\end{align*}
*Second containment: the set is contained in $V$.* Let $y \in \{x \in X : f_i(x) < \alpha_i \text{ for all } i\} \cap K$. We must show $y \in V$. Suppose for contradiction $y \notin V$. Then $y \in K \setminus V$, which by Step 3 is covered by $\bigcup_{i=1}^n U_{x_i}$. Hence $y \in U_{x_i}$ for some $i$, i.e.\ $f_i(y) = g_{x_i}(y) > \beta_{x_i} = \alpha_i$. This contradicts $f_i(y) < \alpha_i$. Therefore $y \in V$.
Both containments are established, completing the proof.
[/guided]
By Step 2, $f_i(x_0) = g_{x_i}(x_0) < \beta_{x_i} = \alpha_i$ for each $i$, so $x_0 \in \{f_i < \alpha_i \text{ for all } i\}$, and $x_0 \in K$ by hypothesis. Hence
\begin{align*}
x_0 \in \{x \in X : f_i(x) < \alpha_i \text{ for all } 1 \leq i \leq n\} \cap K.
\end{align*}
For the converse containment, let $y \in K$ satisfy $f_i(y) < \alpha_i$ for all $i$. We must show $y \in V$. If $y \notin V$, then $y \in K \setminus V \subseteq \bigcup_i U_{x_i}$, so $f_i(y) = g_{x_i}(y) > \beta_{x_i} = \alpha_i$ for some $i$, contradicting $f_i(y) < \alpha_i$. Hence $y \in V$, i.e.
\begin{align*}
\{x \in X : f_i(x) < \alpha_i \text{ for all } 1 \leq i \leq n\} \cap K \subset V,
\end{align*}
as required.
[/step]