A language $L$ is said to be recursively enumerable if there exists a Turing Machine $M$ satisfying the following conditions:
-For every $\omega \in L$, simulating $M$ on $\omega$ (which we denote $M(\omega)$) results in $M$ halting and accepting $\omega$.
-For every $\omega \in \Sigma^{*} \setminus L$, $M$ does not accept $\omega$.
Note that for a recursively enumerable language, any TM accepting $L$ need not halt on inputs outside of the language.
If $L$ is decidable, there must exist some TM that halts on all inputs in addition to the conditions for $L$ being recursively enumerable.
What about languages that aren't recognizable?
No such decider or recognizer would exist. Consider the following language: $L_{NOT-HALT} = \{ \langle M_{i} \rangle, \omega_{i} : M_{i}$ is the $i$th TM and $\omega_{i}$ is the $i$th string in $\Sigma^{*}$ and $M_{i}$ does not halt on $\omega_{i} \}$.
The language $L_{NOT-HALT}$ is not recursively enumerable. No TM can accept every string in $M_{i}$. For some TMs in $L_{NOT-HALT}$, it may be possible to recognize an infinite loop by checking the states and transition function. However, there is no general procedure to do this for all TMs in $L_{NOT-HALT}$. A Cantor diagonal argument proves this. See the undecidability of the halting problem.
Does this clear things up?
Suppose T is decided by R.
Construct the following machine H.
$H(<A>, x):$
1) Create the following machine $< M >:$
$\quad\quad M(w):$
$\quad\quad\quad A(x)$
$\quad\quad\quad accept$
2) if $R(<M, w>)$ accepts then
$\quad\quad accept$ (since A(x) halts)
$\;\;\;$else
$\quad\quad reject$ (since A(x) loops)
Note that $<M>$ is constructed to accept all w if and only if A(x) halts.
In that case, $<M>$ certainly accepts w and reverse(w).
So $<M, w>$ is in T if and only if A(x) halts.
If R is a decider, then H would be a decider for the Halting problem.
So, T must be undecidable.
Now, construct the recognizer for T:
$R(<M, w>):$
$\quad$ if M(w) accepts and M(reverse(w)) accepts then
$\quad\quad$ accept
$\quad$ else
$\quad\quad$ reject
Note that if either M(w) or M(reverse(w)) rejects or loops then R will reject or loop.
So, R is a recognizer for T.
Best Answer
No, your $L$ (which is sometimes called $\text{REC}$) is $\Sigma_3^0$-complete. However, this proof is somewhat technical. If you just want to show that it and its complement is not c.e., there is a fairly easy proof:
It well known that $K = \{e : \Phi_e(e) \downarrow\}$ is c.e. and but not computable. ($K$ is a variant of the Halting Problem.) It is easy to show that if a set and its complement is c.e., then it must be computable. Hence the complement of $K$, denoted $\bar{K}$, is not c.e.
Define
$\Psi(e,x) = \begin{cases} 0 & \quad \Phi_{e,x}(e)\uparrow \\ 0 & \quad \Phi_{e,x}(e) \downarrow \wedge (\exists s)\Phi_{x,s}(x)\downarrow \\ \uparrow & \quad \Phi_{e,x}(e) \downarrow \wedge \Phi_{x}(x)\uparrow \end{cases}$
$\Psi$ is clearly a partial computable function. By the s-m-n theorem, there exists a computable $f$ such that $\Psi(e,x) = \Phi_{f(e)}(x)$. Thus if $e \in \bar{K}$, then $\Psi(e,x) = \Phi_{f(e)}(x) = 0$ for all $x$ so $W_{f(e)} = \omega$. $\omega$ is computable. So $f(e) \in L$. If $x \in K$, then there is a least $M$ such that $\Phi_{e,M}(e) \downarrow$. So then for all $x > M$, $\Psi(e,x)\downarrow = \Phi_{f(e)}(x)\downarrow$ if and only if $x \in K$. So $W_{f(e)}$ is equal to $K$ except for a finite difference. Since $K$ is not computable, $W_{f(e)}$ is also not computable. Hence $f(e) \notin L$. Thus it has been shown $f$ is the reduction of $\bar{K} \leq_m L$. Since $\bar{K}$ is not c.e., $L$ can not be c.e.
To show that the complement $\bar{L}$ is not c.e. Use
$$\Psi(e,x) = \begin{cases} 0 & \quad \Phi_{e,x}(e) \uparrow \wedge (\exists s)\Phi_{x,s}(x)\downarrow \\ \uparrow & \quad \Phi_{e,x}(e)\uparrow \wedge \Phi_x(x)\uparrow \\ 0 & \quad \Phi_{e,x}(e)\downarrow \end{cases}$$
By a similar argument as above, $\bar{K} \leq_m \bar{L}$. Hence $\bar{L}$ can not be c.e. either.
It has been shown that $L$ and $\bar{L}$ is not c.e.
The basic idea is: The set $K = \{\langle M \rangle : M(\langle M \rangle) \text{ halt }\}$ is recognizable but not decidable. Hence its complement $\bar{K} = \{\langle M \rangle : M(\langle M \rangle) \text{ does not halt}\}$ is not recognizable.
Let $M_x$ denote the Turing machine with code $x$. You want to construct a Turing machine $U$ that reduces $\bar{K}$ to $L$. Given $M$ define $T_M$ to the be Turing machine such that:
$T_M(x)$ halts if $M(\langle M \rangle)$ does not halt by stage $x$
$T_m(x)$ halts if $M(\langle M \rangle)$ halts by stage $x$ and $M_x(x)$ eventually halts
$T_M$ does not halt otherwise
Let $U(\langle M \rangle) = \langle T_M \rangle$
Then if $\langle M \rangle \in \bar{K}$, $T_M$ halts on all input. Hence $L(T_M)$ is decidable. So $U(M) = \langle T_M \rangle \in L$ If $\langle M \rangle \notin \bar{K}$, then $L(T_M)$ agrees with $K$ except on a finite set. Since $K$ is not decidable, $L(T_M)$ is not decidable. So $U(M) = \langle T_M \rangle \notin L$. This give the reduction of $\bar{K} \leq L$. Since $\bar{K}$ is not recognizable, $L$ is not either.
Using a similar idea, you can reduce $\bar{K} \leq \bar{L}$, where $\bar{L}$ is the complement of $L$.