Extending a 1-reduction Suppose $g: A \leq_1 B$, that $B$ is computably enumerable and that $A$ is infinite. I want to prove there is a $f: A \leq_1 B$ such that $f(A) = B$.
Suppose $B = W_e$, then $A$ is the domain of the p.c. function $\phi_e \circ g$, so $A$ is c.e. That means it is the range of an injective computable function $h$. In particular, $h$ is a computable bijection between $\omega$ and $A$. As $g$ is injective, $B$ is infinite as well, so it is likewise computably isomorphic to $\omega$ by some function $h'$. 
I think we can use $h$ and $h'$ to build $f$ since it is true for $A = B = \omega$ by $f = \id$ and $A, B$ are basically $\omega$ because they are computably isomorphic, but I have not been able to make it work.
 A: I think instead of trying to use $h$ and $h'$, it is easier to just directly modify the original 1-to-1 reduction from $A$ to $B$.
Here's what I mean. Let $g$ witness $A \leq_1 B$ and let $b_0, b_1, b_2, \ldots$ be a computable enumeration of $B$. Then define $\widetilde{g}$ via the following computable process. 
On each step we will define the output of $\widetilde{g}$ on either one or two more inputs. And we will make sure that by the end of step $n$, $\widetilde{g}(0), \widetilde{g}(1), \ldots, \widetilde{g}(n)$ are all defined (this ensures that $g$ is total). Here's what we do on step $n$. If $b_n$ is not already in the range of $\widetilde{g}$ then search for some $m \geq n$ and $s$ such that $g(m) = b_s$ and $\widetilde{g}(m)$ was not defined on an earlier step (such an $m$ must exist because $A$ is infinite). Define $\widetilde{g}(m) = b_n$. Then if $\widetilde{g}(n)$ is not yet defined, define it by $\widetilde{g}(n) = g(n)$.
It is not hard to verify that this $\widetilde{g}$ is a computable 1-to-1 reduction from $A$ to $B$ such that every element of $B$ is in the image of $\widetilde{g}$.
EDIT: As pointed out in the comments, the construction above doesn't always yield an injective function. The problem is that when assigning $\widetilde{g}(n) = g(n)$ at the end of step $n$, it may be that $g(n)$ is already in the range of $\widetilde{g}$. Fortunately, this is easy to fix.
Notice that in the construction above, the only time $\widetilde{g}(m)$ disagrees with $g(m)$ is when $g(m) \in B$. We will modify the construction to make $\widetilde{g}$ injective in a way that also preserves this property. 
Here's the modification: at the end of step $n$, if it happens that $g(n)$ is already in the range of $\widetilde{g}$ then this means $g(n)$ is in $B$. So simply search for $s$ such that $b_s$ is not yet in the range of $\widetilde{g}$ and assign $\widetilde{g}(n) = b_s$. Such an $s$ is guaranteed to exist because $B$ is infinite. 
