Basic Theorems in Theory of Computation

Reading time ~1 minute

Countability

Theorem 1: For any finite alphabet \(\Sigma\), the set of string defined on it is countable. proof:

[basic idea: build a 1-1 map from string to natural number]

First of all, we consider . It is obvious that any string defined on such alphabet can be considered as a number in base-2 system. However, that is not enough because it is not a 1-1 map, since a lot of string might be mapped to the same integer, for example, \(0001\) and \(1\). We can fix this issue by adding a ``1” before the string. Thus, we get a 1-1 map from a string to natural number.

Then, we extend the above proof to more general cases. It is easy to figure out that, for $\mid\Sigma\mid = k$, we can transform any string defined on it as a number expressed in base-k by using similar approach as above.

Therefore, for any finite alphabet, the set of string defined on it is countable.

Theorem 2: The set of language on a finite alphabet is uncountable.

proof:

[hint: Cantor’s diagonalization method]

Undecidability

Theorem 1: is undecidable.

proof:

[hint: Cantor’s diagonalization method, note that is also a string]

Theorem 2: is undecidable.

proof:

[hint: reduction from ACCEPT]

Theorem 3: Determining whether a TM accepts any string is undecidable.

proof:

[hint: construct a parametric TM and reduce from ACCEPT]

Corollary 3.1: Determining whether a TM rejects all strings is undecidable.

proof:

Corollary 3.2: Determining whether two TM’s $M_1, M_2$ accept the same language $L$ is undecidable.

proof:

Useful Linux Software

Ubuntu Software Installation Continue reading

Useful user-defined LaTeX commands

Published on November 27, 2016