Containments properties of languages¶
Summary¶
\(\text{regular languages}\in \text{context-free languages} \in \text{recursively languages} \in \text{recursively enumerable languages}(semi-decidable)\)
- from regular languages to context-free languages:real subset \(L = \{a^nb^n|n\geq 0\}\)
- from context-free languages to recursively languages:real subset \(L = \{a^nb^nc^n|n\geq 0\}\)
Proof of the containments¶
Countable:¶
A set A is countable if it is finite or \(\exists\) a bijection between A and \(\mathbb{N}\).
Lemma 1¶
A set A is countable if and only if there is an injection from A to \(\mathbb{N}\).
-
injection: \(f:A \rightarrow \mathbb{N}\) is an injection if \(f(a) = f(b) \Rightarrow a = b\).
-
(\(\Leftarrow\)) If bijection exists, then injection exists.
- (\(\Rightarrow\)) First, suppose there exists an injection \( f: A \to \mathbb{N} \) from \( A \) to \( \mathbb{N} \). Then, we can "sort" the elements of \( A \) according to the values of \( f \) (in increasing order). Based on this order, we can define a bijection \( g \) from \( A \) to \( \mathbb{N} \). Specifically, we map the \( k \)-th element of \( A \) (in the sorted order) to \( g(a) = k \).
Collary 1¶
Any subset of a countable set A is countable.
Proof:
- \(\exists\) an injection from A to \(\mathbb{N}\).
- Therefore, any subset of A can be mapped to a subset of \(\mathbb{N}\).
Lemma 2¶
Any language \(\Sigma^*\) is countable.
Proof:
- See link -- Proposition 2.1.
Collary 2¶
\(\{M: \text{M is a Turing Machine}\}\) is countable.
- See link
Lemma 3¶
Let \(\Sigma\) be an alphabet. Let \(L\) be a language over \(\Sigma\). Then, \(L\) is countable.
-
See link
-
Another Proof:
From Lemma 3 and Collary2, we can conclude that some languages are not recursively enumerable.
ATM¶
\(A_{TM} = \{<M,w>|M \text{ is a TM and M accepts w}\}\)
Theorem1¶
\(A_{TM}\) is recursively enumerable.
Proof:
Theorem2¶
\(A_{TM}\) is not recursive.
Proof:
Suppose \(A_{TM}\) is recursive. Then, there exists a TM \(H\) that decides \(A_{TM}\).
H = "On input
Consider the following TM D:
D = "On input
Consider what happens when we run D on \<D>.
- If D accepts \<D>, then H rejects <D,\
. - If D rejects \<D>, then H accepts <D,\
. - Therefore, D cannot exist.
Ad¶
\(A_d = \{<"M">|M \text{ is a TM that does not accept "M"}\}\) -- See Above.
Theorem3¶
\(A_d\) is not recursively enumerable.
Proof:
Suppose \(A_d\) is recursively enumerable. Then, there exists a TM \(D\) that semi-decides \(A_d\).
D = On input
Consider what happens when we run D on \<D>.
- If D accepts \<D>, then \(D \in A_d\). -- D rejects "D".
- If D rejects or loops on \<D>, then \(D \notin A_d\).
Summary¶
\(A_{TM}\) is recursively enumerable but not recursive. \(A_d\) is not recursively enumerable.
创建日期: 2024年10月28日 20:54:30