[proofplan]
We show $f(X)$ is compact by verifying the open-cover definition directly. Given an open cover of $f(X)$, we pull it back via $f$ to obtain an open cover of $X$, extract a finite subcover by compactness of $X$, and push it forward to obtain a finite subcover of $f(X)$.
[/proofplan]
[step:Pull back an open cover of $f(X)$ to an open cover of $X$]
Let $\{V_i\}_{i \in I}$ be an open cover of $f(X)$ in the subspace [topology](/page/Topology) on $f(X)$. For each $i \in I$, write $V_i = f(X) \cap W_i$ where $W_i$ is open in $Y$. Consider the collection $\{f^{-1}(W_i)\}_{i \in I}$.
Each $f^{-1}(W_i)$ is open in $X$ because $f$ is [continuous](/page/Continuity) and $W_i$ is open in $Y$. Moreover, $f^{-1}(W_i) = f^{-1}(V_i)$ (since for $x \in X$, $f(x) \in W_i$ if and only if $f(x) \in f(X) \cap W_i = V_i$). For every $x \in X$, $f(x) \in f(X) = \bigcup_{i \in I} V_i$, so $f(x) \in V_i$ for some $i$, giving $x \in f^{-1}(V_i) = f^{-1}(W_i)$. Therefore $\{f^{-1}(W_i)\}_{i \in I}$ is an open cover of $X$.
[/step]
[step:Extract a finite subcover of $X$ and push forward to a finite subcover of $f(X)$]
By compactness of $X$, there exist finitely many indices $i_1, \ldots, i_n \in I$ with
\begin{align*}
X = f^{-1}(W_{i_1}) \cup \cdots \cup f^{-1}(W_{i_n}).
\end{align*}
Applying $f$ to both sides:
\begin{align*}
f(X) = f\!\left(f^{-1}(W_{i_1}) \cup \cdots \cup f^{-1}(W_{i_n})\right) \subseteq W_{i_1} \cup \cdots \cup W_{i_n}.
\end{align*}
Since $V_{i_k} = f(X) \cap W_{i_k} \subseteq W_{i_k}$ and $f(X) \subseteq W_{i_1} \cup \cdots \cup W_{i_n}$, intersecting with $f(X)$ gives
\begin{align*}
f(X) = f(X) \cap (W_{i_1} \cup \cdots \cup W_{i_n}) = V_{i_1} \cup \cdots \cup V_{i_n}.
\end{align*}
Therefore $\{V_{i_1}, \ldots, V_{i_n}\}$ is a finite subcover of the original open cover of $f(X)$, and $f(X)$ is compact.
[guided]
The argument has a clean pull-back/push-forward structure that we trace in detail.
**Pull-back:** Given an open cover $\{V_i\}_{i \in I}$ of $f(X)$ in the subspace topology, write $V_i = f(X) \cap W_i$ where $W_i$ is open in $Y$.
The preimage satisfies $f^{-1}(V_i) = f^{-1}(f(X) \cap W_i) = f^{-1}(W_i)$, since $f(x) \in f(X)$ for all $x \in X$, so the intersection with $f(X)$ has no effect on the preimage.
Each $f^{-1}(W_i)$ is open in $X$ by continuity of $f$.
**Cover verification:** For every $x \in X$, $f(x) \in f(X) = \bigcup_{i \in I} V_i$, so $f(x) \in V_i \subseteq W_i$ for some $i$, giving $x \in f^{-1}(W_i)$.
Therefore $\{f^{-1}(W_i)\}_{i \in I}$ is an open cover of $X$.
**Finite reduction:** By compactness of $X$, there exist finitely many indices $i_1, \ldots, i_n$ with $X = f^{-1}(W_{i_1}) \cup \cdots \cup f^{-1}(W_{i_n})$.
**Push-forward:** Applying $f$ gives $f(X) \subseteq W_{i_1} \cup \cdots \cup W_{i_n}$.
Intersecting with $f(X)$:
$f(X) = f(X) \cap (W_{i_1} \cup \cdots \cup W_{i_n}) = V_{i_1} \cup \cdots \cup V_{i_n}$, the desired finite subcover of the original cover.
[/guided]
[/step]