Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Prove that the set of all languages over a finite alphabet is uncountable

Trying to do some revision but not sure on this one:

Prove that the set of all languages over a finite alphabet is uncountable.

I have a feeling it will require using the Cantor Diagonalization method - but I'm not sure how you would use it for this problem.

like image 468
Robben_Ford_Fan_boy Avatar asked Jan 11 '11 00:01

Robben_Ford_Fan_boy


People also ask

Is the set of all finite languages over the alphabet countable?

Set of languages over finite alphabet is uncountable.

Is the set of all languages uncountable?

Set of all languages over is uncountable. Power set of an infinite set is uncountable. Set of languages over is the power set of set of strings over which is an infinite set. Hence the set of languages becomes an uncountable set.

Is the set of finite languages finite?

There are uncountably many languages over a nonempty set Σ but only countably many representations in a finite set of symbols. Therefore most languages will never have a finite representation. Regular expressions are one way to represent languages.


1 Answers

I've found in my computation theory class notes this proof, I hope it's useful for you

|N| < |languages(N)|

Supose that |N| >= |languages(N)|. Therefore, each of the elements of languages(N) can be related to one of the elements of N. So they can be put into order:

languages(N) = {S_1 , S_2, S_3, ...}

We define a set D like:

D = {n in N / n not in S_n}

D is valid and D is a subset of N, therefore D belongs languages(N). So, there must exist a k for which D = S_k

1) If k belongs to D then by definition of D, k doesn't belong to S_k. And k doesn't belong to D Because D = S_k(We find a contradiction)

2) If k doesn't belong to D then: k belongs to S_k(by definition of D) and k belongs to D because D = S_k(Contradiction again)

A sequence like the one assumed can't exist. Therefore an injective function that assigns an elemnt of N for each element of languages(N) is not possible. Concluding that |languages(N)| !<= |N|, so |languages(N)| > |N|

like image 124
Santiago Alessandri Avatar answered Oct 06 '22 02:10

Santiago Alessandri