[proofplan]
We prove both parts by a covering and finite extraction argument. For part (1), we cover the compact set $K$ with open sets obtained from the Hausdorff separation of each point of $K$ from the external point $x$, extract a finite subcover, and intersect the corresponding neighbourhoods of $x$. For part (2), we apply part (1) to each point of $K_2$ against the compact set $K_1$, obtaining open separating pairs, then extract a finite subcover of $K_2$ and intersect again.
[/proofplan]
[step:Separate a point from a compact set by covering $K$ and extracting a finite subcover]
We prove part (1). Let $K \subset X$ be compact and let $x \in X \setminus K$. For each point $k \in K$, since $X$ is Hausdorff and $x \neq k$, there exist disjoint open sets $U_k, V_k \in \tau$ with $x \in U_k$ and $k \in V_k$.
The collection $\{V_k\}_{k \in K}$ is an open cover of $K$. Since $K$ is compact, there exists a finite subcollection $\{V_{k_1}, V_{k_2}, \ldots, V_{k_m}\}$ that covers $K$. Define
\begin{align*}
U &= U_{k_1} \cap U_{k_2} \cap \cdots \cap U_{k_m}, \\
V &= V_{k_1} \cup V_{k_2} \cup \cdots \cup V_{k_m}.
\end{align*}
Then $U$ is open as a finite intersection of open sets, and $V$ is open as a union of open sets. We have $x \in U$ since $x \in U_{k_i}$ for each $i = 1, \ldots, m$. We have $K \subset V$ since $\{V_{k_1}, \ldots, V_{k_m}\}$ covers $K$.
We verify $U \cap V = \varnothing$. Suppose $z \in U \cap V$. Then $z \in V_{k_j}$ for some $j \in \{1, \ldots, m\}$, and $z \in U \subset U_{k_j}$. This gives $z \in U_{k_j} \cap V_{k_j}$, contradicting $U_{k_j} \cap V_{k_j} = \varnothing$. Therefore $U$ and $V$ are disjoint open sets with $x \in U$ and $K \subset V$.
[guided]
We prove part (1). The Hausdorff axiom gives separation of *points*, but we need to separate a point from an entire compact set. The key difficulty is that the Hausdorff axiom produces a *different* neighbourhood of $x$ for each point of $K$ — the neighbourhood $U_k$ depends on which point $k \in K$ we are separating from. To obtain a *single* neighbourhood of $x$ that works against all of $K$ simultaneously, we use compactness to reduce from infinitely many constraints to finitely many, then intersect.
Let $K \subset X$ be compact and let $x \in X \setminus K$. For each point $k \in K$, since $X$ is Hausdorff and $x \neq k$, there exist disjoint open sets $U_k, V_k \in \tau$ with $x \in U_k$ and $k \in V_k$.
The collection $\{V_k\}_{k \in K}$ forms an open cover of $K$: each $k \in K$ belongs to $V_k$. Since $K$ is compact, there exist finitely many points $k_1, \ldots, k_m \in K$ such that $K \subset V_{k_1} \cup \cdots \cup V_{k_m}$. Define
\begin{align*}
U &= U_{k_1} \cap U_{k_2} \cap \cdots \cap U_{k_m}, \\
V &= V_{k_1} \cup V_{k_2} \cup \cdots \cup V_{k_m}.
\end{align*}
Then $U$ is open (finite intersection of open sets), $V$ is open (union of open sets), $x \in U$ (since $x \in U_{k_i}$ for every $i$), and $K \subset V$ (by the finite subcover).
Why must $U$ and $V$ be disjoint? Suppose $z \in U \cap V$. Then $z \in V_{k_j}$ for some index $j$, and simultaneously $z \in U \subset U_{k_j}$. But $U_{k_j} \cap V_{k_j} = \varnothing$ by construction. This is a contradiction. Note that an infinite intersection of the $U_k$ would not generally be open — this is precisely why compactness (which yields a finite subcover) is essential.
[/guided]
[/step]
[step:Separate two disjoint compact sets by applying point-compact separation to each point of $K_2$]
We prove part (2). Let $K_1, K_2 \subset X$ be disjoint compact sets. For each point $y \in K_2$, since $y \in X \setminus K_1$, part (1) provides disjoint open sets $A_y, B_y \in \tau$ with $K_1 \subset A_y$ and $y \in B_y$.
The collection $\{B_y\}_{y \in K_2}$ is an open cover of $K_2$. Since $K_2$ is compact, there exists a finite subcollection $\{B_{y_1}, \ldots, B_{y_l}\}$ that covers $K_2$. Define
\begin{align*}
U_1 &= A_{y_1} \cap A_{y_2} \cap \cdots \cap A_{y_l}, \\
U_2 &= B_{y_1} \cup B_{y_2} \cup \cdots \cup B_{y_l}.
\end{align*}
Then $U_1$ is open (finite intersection), $U_2$ is open (union), $K_1 \subset U_1$ (since $K_1 \subset A_{y_j}$ for each $j = 1, \ldots, l$), and $K_2 \subset U_2$ (by the finite subcover).
We verify $U_1 \cap U_2 = \varnothing$. Suppose $z \in U_1 \cap U_2$. Then $z \in B_{y_j}$ for some $j \in \{1, \ldots, l\}$, and $z \in U_1 \subset A_{y_j}$. This gives $z \in A_{y_j} \cap B_{y_j}$, contradicting $A_{y_j} \cap B_{y_j} = \varnothing$. Therefore $U_1$ and $U_2$ are disjoint open sets with $K_1 \subset U_1$ and $K_2 \subset U_2$.
[guided]
We prove part (2). The argument follows the same covering-and-extraction strategy as part (1), but applied one level higher. In part (1), we separated a single point from a compact set; now we need to separate two compact sets. The difficulty is identical: part (1) produces a *different* open neighbourhood of $K_1$ for each point $y \in K_2$, and we need a single one that works simultaneously.
Let $K_1, K_2 \subset X$ be disjoint compact sets. For each $y \in K_2$, since $y \notin K_1$ (the sets are disjoint) and $K_1$ is compact, part (1) yields disjoint open sets $A_y, B_y \in \tau$ with $K_1 \subset A_y$ and $y \in B_y$.
The collection $\{B_y\}_{y \in K_2}$ is an open cover of $K_2$. Compactness of $K_2$ yields a finite subcover: there exist $y_1, \ldots, y_l \in K_2$ with $K_2 \subset B_{y_1} \cup \cdots \cup B_{y_l}$. Define
\begin{align*}
U_1 &= A_{y_1} \cap A_{y_2} \cap \cdots \cap A_{y_l}, \\
U_2 &= B_{y_1} \cup B_{y_2} \cup \cdots \cup B_{y_l}.
\end{align*}
The set $U_1$ is open (finite intersection of open sets), $U_2$ is open (union), $K_1 \subset U_1$ (since $K_1 \subset A_{y_j}$ for every $j$), and $K_2 \subset U_2$ (by the finite subcover). The disjointness argument is identical to part (1): if $z \in U_1 \cap U_2$, then $z \in B_{y_j}$ for some $j$ and $z \in U_1 \subset A_{y_j}$, contradicting $A_{y_j} \cap B_{y_j} = \varnothing$.
The structural pattern is worth highlighting: we used compactness twice — once in part (1) to reduce from an infinite cover of $K$ to a finite one, and again here to reduce from an infinite cover of $K_2$ to a finite one. Each application converts the "pointwise separation" given by the Hausdorff axiom into "uniform separation" of an entire compact set.
[/guided]
[/step]