Why can't I build a recognizer for $EQ_{TM}$ the same way as for RE-union

300 Views Asked by At

I'm studying computability for CS students, and encountered a question.

We know that RE is closed under union, why can't we use that proof to build a recognizer for $EQ_{tm}$ (I know that $EQ_{tm}$ is not recognizable).

A recognizer for $EQ{tm}$ will look like this:

On input $M_1,M_2$: for any input $W$:

Run $M_1$ and $M_2$ alternately on $W$ step by step. If both accepts, accept.
If both halt and reject, reject.

Why isn't this a valid recognizer?

Thanks

1

There are 1 best solutions below

0
On BEST ANSWER

First of all, the regular languages constitute a much smaller class than those that can be recognized by a Turing machine, so it is unlikely that a fact about regular languages will help you say much about Turing machines.

Now, remember that $EQ_{TM}$ is the set

$$EQ_{TM} = \{\langle M_1,M_2 \rangle \mid M_1,M_2 \text{ are Turing machines and } L(M_1) = L(M_2)\}.$$

Note that the inputs $M_1,M_2$ are Turing machines, there is no string $w$ as an input. The recognizer that you have suggested is really a recognizer for the language we may call

$$2A_{TM} = \{\langle M_1,M_2,w \rangle \mid M_1,M_2 \text{ are Turing machines and } w \in L(M_1) \text{ and } w \in L(M_2)\}.$$

So you have shown that it the problem of determining whether two Turing machines both accept a specific string is recognizable, but there is no way to do this for all strings, because $EQ_{tm}$ is not recognizable.