Skip to content

16. Uncountability

Mar 1, 2022

Uncountable sets

Will prove there is a language L which is not accepted by any TM.

Technique: TMs are countable, languages are uncountable (more languages than TMs)

Powerset is uncountable

Theorem: If S is an infinite countable set, then the powerset 2S of S is uncountable.

Powerset 2S contains all possible subsets of S, e.g. let S={a,b} then 2S={,{a},{b},{a,b}}.

Proof.

Since S is countable, we can list its elements in same order: S={s1,s2,s3,}.

Elements of the powerset have the form: , {s1,s3}, {s5,s7,s9,s10}, , they are subsets of S. We can represent these subsets of S in binary encoding:

Subset of S s1 s2 s3 s4
{s1} 1 0 0 0
{s2,s3} 0 1 1 0
{s1,s3,s4} 1 0 1 1

where 0/1 denote absence/inclusion in subset.

Assume (for contradiction) that powerset 2S is countable. Then we can list the elements of the powerset in some order, this ordering must exist if powerset is countable:

1
2
3
4
5
6
7
Powerset    Binary 
element     encoding
t1          1  0  0  0  ...
t2          1  1  0  0  ...
t3          1  1  0  1  ...
t4          1  1  0  0  ...
...         ...

Now let t be the binary string whose bits are the complement of the diagonal: t=0011 Also: t2S since it is one of the subsets of 2S.

Is t equal to any of: t1,t2,t3,t4 => no, it cannot be.

Thus tti for every i since they differ on the ith bit.

However, t2S means t=ti for some i     => contradiction.

Therefore powerset 2S is uncountable.

Non-recognizable languages

Consider a finite alphabet A={a,b}.

The set of strings S=A={a,b}={ϵ,a,b,aa,ab,ba,bb,aaa,aab,}, which is infinite and countable, because we can enumerate the strings in proper order.

Any language L is a subset of S and the powerset S contains all languages:

2S={,{a},{b},{a,b},{aa,b},,{aa,ab,aab},}, which is uncountable.

Recall: TMs are countable => each TM recognizes some language => languages accepted by TMs are countable.

Let X be the languages accepted by TMs (countable) and 2S is all possible languages (uncountable), therefore X2S, and we get X2S (strict subset). Therefore there exists some language that is not TM-acceptable.