[step:Prove $(\Leftarrow)$: image of a computable partial function implies computably enumerable — set up the $\Sigma_1$ description]
Let $X = \operatorname{Im} f$ for some computable partial function $f : \mathbb{W} \rightharpoonup \mathbb{W}$. Fix a register machine $M$ of arity $1$ computing $f$, and let $c := \operatorname{code}(M)$ so that $f = f_{c, 1}$.
By [Computably Enumerable Sets Are $\Sigma_1$](/theorems/1824), it suffices to show $X \in \Sigma_1$, i.e. to exhibit a computable $Y \subseteq \mathbb{W}^2$ with $X = p(Y)$.
*The timed simulation function.* By [Computability of the Configuration Function](/theorems/1818), there is a total computable function
\begin{align*}
t_{c, 1} : \mathbb{W} \times \mathbb{W} &\to \mathbb{W}, \\
(v, u) &\mapsto \begin{cases} a & \text{if } M \text{ on input } v \text{ halts in at most } \#u \text{ steps}, \\ \varepsilon & \text{otherwise}, \end{cases}
\end{align*}
where $\#u \in \mathbb{N}$ is the shortlex index of $u$ (see [Shortlex Is Order-Isomorphic to $\mathbb{N}$](/theorems/1815)).
The key consequence: $f_{c, 1}(v) \downarrow$ iff $\exists u \in \mathbb{W},\ t_{c, 1}(v, u) = a$, because halting at some finite step $n$ is witnessed by any $u$ with $\#u \ge n$.
Moreover, when $t_{c, 1}(v, u) = a$, we may extract the output $f_{c, 1}(v)$. By [Computability of the Configuration Function](/theorems/1818), the "output after $\#u$ steps" is itself a total computable function — explicitly, define
\begin{align*}
\mathrm{out}_{c, 1} : \mathbb{W} \times \mathbb{W} &\to \mathbb{W}, \\
(v, u) &\mapsto \begin{cases} f_{c, 1}(v) & \text{if } t_{c, 1}(v, u) = a, \\ \varepsilon & \text{if } t_{c, 1}(v, u) = \varepsilon \end{cases}
\end{align*}
(the value on non-halting $(v, u)$ can be chosen arbitrarily; the $\varepsilon$ choice is convenient). The function $\mathrm{out}_{c, 1}$ is total computable because we can read off the output register of the bounded simulation.
Define the computable witness set of triples:
\begin{align*}
Z &:= \{(w, v, u) \in \mathbb{W}^3 : t_{c, 1}(v, u) = a \text{ and } \mathrm{out}_{c, 1}(v, u) = w\}.
\end{align*}
[/step]