Computable Enumerability Definition Confusion

49 Views Asked by At

first time poster here. I am trying to self-study computability theory using Soare, as someone who is comfortable with the theory of computation as taught in books like Sipser and Arora-Barak, and I am a bit confused about some of the ways things are defined which I am familiar with otherwise.

For example, we say a set is computably enumerable iff it is the domain of a partial computable function. I know c.e. is equivalent to what other books would call r.e. or Turing-recognizable, however I am having a hard time equating this definition to that of r.e. which I am familiar with, that is, a set A is r.e. iff there exists a TM M such that A = L(M), where L(M) is the set of "accepted" inputs. Can someone give an explanation as to how these mean the same thing. Hoping to bridge the gap between my "algorithmic" understanding of computability theory and that of a logician.

Thanks!

1

There are 1 best solutions below

1
On BEST ANSWER

To say that $x$ is in the domain of a partial computable function means that the computation halts on $x$. I'll assume that the computation is via Turing machines (otherwise you need to establish the equivalence of your model of computation with Turing machines). Then a set $A$ is c.e. iff there is a TM $M$ such that $A$ is the set of inputs where the TM halts.

The only difference between the two definitions, then, is what happens if the TM halts in a non-accepting state. But we can modify any TM to go into an infinite loop if it halts in a non-accepting state.

If $A$ is c.e., then we take the TM for $A$ and say that it accepts any time it halts. Then $A$ is r.e. Conversely, if $A$ is r.e., then we have a TM $M$ with $A = L(M)$, and we modify $M$ as above to conclude that $A$ is c.e.