[step:Exhibit a concrete non-closure under intersection]
We use the classical counterexample:
\begin{align*}
L_0 &:= \{a^i b^n c^n : i, n \ge 0\}, & L_1 &:= \{a^n b^n c^j : j, n \ge 0\}.
\end{align*}
[claim:$L_0$ and $L_1$ are context-free]
Grammar for $L_0$: variables $\{S_0, A, B\}$, productions
\begin{align*}
S_0 &\to A\, B, & A &\to a A \mid \varepsilon, & B &\to b B c \mid \varepsilon,
\end{align*}
with $A$ generating $\{a^i : i \ge 0\}$ (straightforward induction on derivation length) and $B$ generating $\{b^n c^n : n \ge 0\}$ (induction: each use of $B \to bBc$ wraps a matching pair). Therefore $\mathcal{L}(S_0) = \{a^i\}\{b^n c^n\} = L_0$.
Grammar for $L_1$: symmetrically, variables $\{S_1, D, C\}$, productions
\begin{align*}
S_1 &\to D\, C, & D &\to a D b \mid \varepsilon, & C &\to c C \mid \varepsilon,
\end{align*}
with $D$ generating $\{a^n b^n : n \ge 0\}$ (induction on derivation length, each $D \to aDb$ adds a matching pair) and $C$ generating $\{c^j : j \ge 0\}$. Therefore $\mathcal{L}(S_1) = \{a^n b^n\}\{c^j\} = L_1$.
[/claim]
[claim:$L_0 \cap L_1 = \{a^n b^n c^n : n \ge 0\}$]
A word $w \in \{a, b, c\}^*$ belongs to both $L_0$ and $L_1$ iff
\begin{align*}
w &\in \{a^i b^n c^n : i, n \ge 0\}, & w &\in \{a^n b^n c^j : j, n \ge 0\}.
\end{align*}
Membership in the first set forces $w = a^{i_0} b^{n_0} c^{n_0}$ for some $i_0, n_0 \ge 0$. Membership in the second forces $w = a^{n_1} b^{n_1} c^{j_1}$ for some $n_1, j_1 \ge 0$. Matching letter counts: the number of $a$'s gives $i_0 = n_1$, the number of $b$'s gives $n_0 = n_1$, and the number of $c$'s gives $n_0 = j_1$. Setting $n := n_0 = n_1$ yields $i_0 = j_1 = n$, so $w = a^n b^n c^n$. Conversely every $a^n b^n c^n$ is in both sets (take $i = n$ and $j = n$). This proves the equality.
[/claim]
[claim:$\{a^n b^n c^n : n \ge 0\}$ is not context-free]
This is a standard application of the [Pumping Lemma for context-free languages](/theorems/1806). Assume for contradiction that $L := \{a^n b^n c^n : n \ge 0\}$ is context-free with pumping number $p \ge 1$. Apply the lemma to the word $w := a^p b^p c^p \in L$, which has length $3p \ge p$. We obtain a decomposition $w = xuyvz$ with $|uyv| \le p$, $|uv| > 0$, and $x u^k y v^k z \in L$ for all $k \ge 0$.
The bound $|uyv| \le p$ forces $uyv$ to be a factor of $w$ of length at most $p$; since $w = a^p b^p c^p$ consists of three blocks each of length $p$, the factor $uyv$ cannot span all three letters $a, b, c$. Thus $uyv$ contains occurrences of at most two distinct letters. Pump with $k = 2$: the word $x u^2 y v^2 z$ differs from $w$ in the counts of *at most two* letters (those appearing in $uv$, since pumping adds one more copy of $u$ and of $v$). By $|uv| > 0$, at least one letter's count strictly increases. Therefore in $x u^2 y v^2 z$ at least one of the three letter counts strictly exceeds $p$ and at least one equals $p$, so the counts are not all equal, and $x u^2 y v^2 z \notin L$, contradicting the pumping conclusion. Hence $L$ is not context-free.
[/claim]
Since $L_0 \cap L_1 = L$ is not context-free while $L_0, L_1$ are, the class of context-free languages is not closed under binary intersection.
[/step]