# Equivalence of Turing Machines

Consider the following two arguments

"For every non deterministic TM M1 there exists an equivalent deterministic machine M2 recognizing the same language."
"Equivalence of two Turing Machines is undecidable"

These two arguments seem a bit contradicting to me. What should I conclude from these two arguments?

• Not relevant, but... the first statement looks trivial. You probably want "non deterministic TM M1" there (?)
– chi
Jan 7, 2016 at 16:43
• Not actually, my doubt was regarding the term "equivalence", based on the two theorems. So "deterministic TM M1" was supposed to be there. :)
– Romy
Jan 7, 2016 at 16:50
• As I said, my comment is indeed not relevant to your question, but the first statement still looks trivial, since taking M2=M1 proves it. It's not a statement you will find in a computability book, for instance.
– chi
Jan 7, 2016 at 16:55
• Omg I made a blunder here!M1 was supposed to be Non-deterministic.Thanks a lot for your concern.
– Romy
Jan 7, 2016 at 17:11

These arguments are not really related, on several levels.

The first is that existence and computability are not the same thing. That is, even if there exists some object (e.g. a TM), it does not mean that finding (or computing) such an object can be done using a TM.

However, there is a more basic difference between the two statements. The first says that for every TM $M_1$, there exists some equivalent machine $M_2$. The second statement is that deciding, given $M_1$ and $M_2$, whether these two specific machines are equivalent, is undecidable.

Just to emphasize the difference, consider the following problem: given a TM $M_1$, is there some TM $M_2$, that is different from $M_1$, which is equivalent to $M_1$? This problem is trivial - the answer is always "yes" (e.g. just add a redundant state to $M_1$).

"Equivalence is undecidable" means there is no algorithm (always halts after a finite time and correctly answers yes/no), "there is an equivalent" is just existence. I.e., given $M_1$ and $M_2$, no algorithm can tell if they are equivalent for all cases of $M_1$ and $M_2$ (some cases can be answered simply, but not all). The other is that for $M_1$ there is an equivalent $M_2$. It is even easy to construct some, just shuffle the states around, or add a completely useless state.

• However, in this case the existence is actually algorithmic – given a non-deterministic TM, we can construct algorithmically an equivalent deterministic TM. Jan 7, 2016 at 18:57

Argument 1 says that for every non-deterministic Turing machine, we can build a deterministic Turing machine for recognizing the same language.

Argument 2 is not related to argument 1.

Argument 2 says that even though there may be two Turing machines that are equal, can not decide or prove they are equal. so it is undecidable.