# How to determine enumerability after applying Rice's theorem?

To my knowledge, lots of languages can be classified as undecidable after applying Rice's theorem, for example {"M" | L(M) is regular}.

But what I am not sure is, how to determine if a language is enumerable after applying Rice's theorem? I reckon we can examine that whether the M halt on some specific input, i.e. test if L(M) is an empty set. Am I right? Is there any principled way to determine a language's(composed of lots of Turing machines) enumerability?

• You can use the fact that if $L$ is undecidable and $\overline{L}$ is enumerable, then $L$ is not enumerable. To determine whether a language is enumerable, try to construct an enumerator for it. – Yuval Filmus Jan 9 '17 at 15:50
• @YuvalFilmus This is helpful. Thank you sir. – Zhao Chen Jan 9 '17 at 16:21

You can use the fact that if $L$ is undecidable and $\overline{L}$ is enumerable then $L$ is not enumerable (since if both $L$ and $\overline{L}$ are enumerable, then $L$ is decidable). In order to determine whether an undecidable language is enumerable or not, you can try to construct an enumerator for the language or its complement.