An infinite set is countable if there is a bijection f : N -> S from the natural numbers to S.
The set of finite length bit strings {0,1}* is countable.
A set is uncountable if it is not countable.
The power set of bit strings P({0,1}*) is uncountable.
Any subset T in P ({0,1}) can be viewed as a function f:{0,1} -> {0,1}. This is done by making the function take the value 1 for elements in the set, and the value 0 for elements not in the set.
Suppose that P ({0,1}) were countable. Thus it would be possible to find a bijection from N to P({0,1}) Hence, we can list all binary languages as a sequence L1 , L2 , L3 , L4 , L5 , L6 , L7, ... supposedly containing every language of bit strings.
Cantor’s diabolical diagonalization argument creates a language L that’s not on the list. This would prove that P({0,1}*) is not countable.
L is created as follows:
The jth column of L is the opposite of the jth column of the jth row Li. In other words, L is the anti-diagonal of the table. This guarantees that L disagrees with every listed language (Li differs in the ith column)
There are computational problems that computers cannot solve!
We show that there are many more computational problems than computer programs.
-
Every computer program can be encoded in binary by some string.
-
Consequently the cardinality of the set of programs is no greater than that of {0,1}*
-
Since {0,1}* is countable, set of all programs is countable.
-
Problems are (membership queries) in Languages.
-
Hence, the set of all problems has the same cardinality as P({0,1}*)
-
Since P({0,1}*) is uncountable, set of all problems is uncountable.
- TM is a 7-tuple (Q, Σ, Γ, δ, q0, qaccept, qreject)
- Q is the finite set of states.
- Σ is the finite input alphabet set, not containing blank.
- Γ is the finite tape alphabet, with blank.
- δ : (Q x Γ) to (Q X Γ x {L,R}) is the transition function.
- q0 is the start state.
- qaccept is the accept state.
- qreject is the reject state.