[proofplan]
We first recall the finite-dimensional bipolar identity for closed convex sets containing the origin, proving it from the strong separation theorem. Then we apply polarity to the closed convex set generated by $K^\circ \cup L^\circ$. Its polar is exactly $K \cap L$, because testing against all points of $K^\circ \cup L^\circ$ is equivalent to lying in both $K^{\circ\circ}$ and $L^{\circ\circ}$. Taking the polar once more and using the bipolar identity gives the desired closed convex hull.
[/proofplan]
[step:Establish the bipolar identity for closed convex sets containing the origin]
Let $A \subset \mathbb{R}^n$ be a closed convex set with $0 \in A$. We claim that
\begin{align*}
A^{\circ\circ} = A.
\end{align*}
The inclusion $A \subset A^{\circ\circ}$ follows directly from the definition of $A^\circ$: if $x \in A$ and $y \in A^\circ$, then $x \cdot y \leq 1$, hence $x \in A^{\circ\circ}$.
For the reverse inclusion, let $x_0 \in \mathbb{R}^n \setminus A$. Since $A$ is closed and convex, the finite-dimensional strong separation theorem gives a vector $u \in \mathbb{R}^n$ and a real number $\alpha \in \mathbb{R}$ such that
\begin{align*}
u \cdot x_0 > \alpha \geq u \cdot a
\end{align*}
for every $a \in A$. Because $0 \in A$, we have $\alpha \geq u \cdot 0 = 0$.
If $\alpha > 0$, define $y := u/\alpha$. Then for every $a \in A$,
\begin{align*}
a \cdot y = \frac{u \cdot a}{\alpha} \leq 1,
\end{align*}
so $y \in A^\circ$, while
\begin{align*}
x_0 \cdot y = \frac{u \cdot x_0}{\alpha} > 1.
\end{align*}
Thus $x_0 \notin A^{\circ\circ}$.
If $\alpha = 0$, then $u \cdot x_0 > 0$ and $u \cdot a \leq 0$ for every $a \in A$. Choose a real number $t > 0$ such that $t(u \cdot x_0) > 1$, and define $y := t u$. Then for every $a \in A$,
\begin{align*}
a \cdot y = t(u \cdot a) \leq 0 \leq 1,
\end{align*}
so $y \in A^\circ$, while
\begin{align*}
x_0 \cdot y = t(u \cdot x_0) > 1.
\end{align*}
Again $x_0 \notin A^{\circ\circ}$.
Therefore every point outside $A$ is outside $A^{\circ\circ}$, so $A^{\circ\circ} \subset A$. Combining both inclusions proves $A^{\circ\circ} = A$.
[guided]
The goal is to prove that polarity twice recovers a closed convex set containing the origin. The inclusion $A \subset A^{\circ\circ}$ is built into the definition: every $y \in A^\circ$ satisfies $a \cdot y \leq 1$ for every $a \in A$, so each fixed $x \in A$ automatically satisfies the defining inequalities for membership in $A^{\circ\circ}$.
The nontrivial direction is to show that no point outside $A$ survives the second polar. Let $x_0 \in \mathbb{R}^n \setminus A$. Since $A$ is closed and convex, the finite-dimensional strong separation theorem applies to the point $x_0$ and the closed convex set $A$. It gives a vector $u \in \mathbb{R}^n$ and a real number $\alpha \in \mathbb{R}$ such that
\begin{align*}
u \cdot x_0 > \alpha \geq u \cdot a
\end{align*}
for every $a \in A$. The hypothesis $0 \in A$ is used here to normalize the separator correctly: substituting $a = 0$ gives $\alpha \geq 0$.
If $\alpha > 0$, we divide the separating vector by $\alpha$. Define $y := u/\alpha$. For every $a \in A$,
\begin{align*}
a \cdot y = \frac{u \cdot a}{\alpha} \leq 1,
\end{align*}
so $y$ belongs to $A^\circ$. But the separated point satisfies
\begin{align*}
x_0 \cdot y = \frac{u \cdot x_0}{\alpha} > 1.
\end{align*}
Thus $x_0$ fails one of the inequalities required to belong to $A^{\circ\circ}$.
If $\alpha = 0$, division by $\alpha$ is impossible, but the separation is even stronger: $u \cdot a \leq 0$ for every $a \in A$, while $u \cdot x_0 > 0$. Choose $t > 0$ so large that $t(u \cdot x_0) > 1$, and define $y := t u$. Then for every $a \in A$,
\begin{align*}
a \cdot y = t(u \cdot a) \leq 0 \leq 1,
\end{align*}
so again $y \in A^\circ$, while
\begin{align*}
x_0 \cdot y = t(u \cdot x_0) > 1.
\end{align*}
Therefore $x_0 \notin A^{\circ\circ}$.
We have shown that every point outside $A$ lies outside $A^{\circ\circ}$. Hence $A^{\circ\circ} \subset A$, and together with the direct inclusion $A \subset A^{\circ\circ}$ this proves
\begin{align*}
A^{\circ\circ} = A.
\end{align*}
[/guided]
[/step]
[step:Compute the polar of the closed convex hull of the two polars]
Define
\begin{align*}
C := \overline{\operatorname{conv}(K^\circ \cup L^\circ)} \subset \mathbb{R}^n.
\end{align*}
Since $K^\circ$ and $L^\circ$ are convex subsets of $\mathbb{R}^n$ containing $0$, the set $C$ is closed, convex, and contains $0$.
We prove that
\begin{align*}
C^\circ = K \cap L.
\end{align*}
Let $x \in C^\circ$. Since $K^\circ \subset C$ and $L^\circ \subset C$, the defining inequality for $C^\circ$ gives
\begin{align*}
x \cdot y \leq 1
\end{align*}
for every $y \in K^\circ$ and every $y \in L^\circ$. Hence $x \in K^{\circ\circ} \cap L^{\circ\circ}$. By the bipolar identity proved above, $K^{\circ\circ} = K$ and $L^{\circ\circ} = L$, so $x \in K \cap L$.
Conversely, let $x \in K \cap L$. Then $x \in K$ and $x \in L$, so
\begin{align*}
x \cdot y \leq 1
\end{align*}
for every $y \in K^\circ \cup L^\circ$. Because the map $\varphi_x: \mathbb{R}^n \to \mathbb{R}$ defined by $\varphi_x(y) := x \cdot y$ is affine and continuous, the same inequality holds for every $y \in \overline{\operatorname{conv}(K^\circ \cup L^\circ)} = C$. Therefore $x \in C^\circ$.
Thus $C^\circ = K \cap L$.
[guided]
We introduce the set
\begin{align*}
C := \overline{\operatorname{conv}(K^\circ \cup L^\circ)}.
\end{align*}
This is the right object because the theorem claims that $C$ is the polar of $K \cap L$. The closure is included because the bipolar identity recovers closed convex sets, not arbitrary convex hulls.
First let $x \in C^\circ$. Since $K^\circ \subset C$ and $L^\circ \subset C$, the inequality defining $C^\circ$ applies in particular to every point of $K^\circ$ and every point of $L^\circ$. Hence
\begin{align*}
x \cdot y \leq 1
\end{align*}
for every $y \in K^\circ$, and also for every $y \in L^\circ$. This says exactly that $x \in K^{\circ\circ}$ and $x \in L^{\circ\circ}$. The sets $K$ and $L$ are closed, convex, and contain $0$, so the bipolar identity from the previous step applies to each of them:
\begin{align*}
K^{\circ\circ} = K,
\qquad
L^{\circ\circ} = L.
\end{align*}
Therefore $x \in K \cap L$.
For the reverse inclusion, let $x \in K \cap L$. Since $x \in K$, the definition of $K^\circ$ gives $x \cdot y \leq 1$ for every $y \in K^\circ$. Since $x \in L$, the definition of $L^\circ$ gives $x \cdot y \leq 1$ for every $y \in L^\circ$. Thus the inequality holds on the union $K^\circ \cup L^\circ$.
Now define the linear, hence affine and continuous, map $\varphi_x: \mathbb{R}^n \to \mathbb{R}$ by
\begin{align*}
\varphi_x(y) := x \cdot y.
\end{align*}
Because $\varphi_x(y) \leq 1$ on $K^\circ \cup L^\circ$, the same inequality holds on every finite convex combination of points of $K^\circ \cup L^\circ$. Continuity then passes the inequality to the Euclidean closure. Hence
\begin{align*}
x \cdot y \leq 1
\end{align*}
for every $y \in C$, which means $x \in C^\circ$.
The two inclusions prove
\begin{align*}
C^\circ = K \cap L.
\end{align*}
[/guided]
[/step]
[step:Take the polar once more to obtain the desired identity]
From the previous step,
\begin{align*}
C^\circ = K \cap L.
\end{align*}
Taking polars of both sides gives
\begin{align*}
(K \cap L)^\circ = C^{\circ\circ}.
\end{align*}
Since $C$ is closed, convex, and contains $0$, the bipolar identity gives $C^{\circ\circ} = C$. Substituting the definition of $C$ yields
\begin{align*}
(K \cap L)^\circ
= C
= \overline{\operatorname{conv}(K^\circ \cup L^\circ)}.
\end{align*}
This is the claimed identity.
[/step]