CMPSCI 601: Theory of Computation

David Mix Barrington

Summer, 2003

Final Exam

Posted 25 August 2003

Types of variables: Unless otherwise indicated, a variable A or B denotes a language, D denotes a DFA, G denotes a context-free grammar, M denotes a Turing machine, n denotes a (non-negative)number, and w denotes a string. Remember that N is the set of all numbers, which we may also think of as the set Σ* of all strings.

Directions: Question 1 consists of five statements, each of which is either provably true, provably false, or unresolved given the results presented in the course. Indicate TRUE, FALSE, or UNKNOWN (choose one only) for each question. No justification is needed or wanted, and there is no penalty for a wrong guess.

Questions 2 and 3 consist of true statements that you are to prove. These facts were proved in lecture, but of course you may not simply quote them as facts -- give an explanation in your own words of why they are true that demonstrates your understanding.

Questions 4 through 8 are similar to those on the midterm. There is a statement which is either true or false. You will get five points for a correct boolean answer, and there is no penalty for guessing. Then JUSTIFY YOUR ANSWER -- the five remaining points will be awarded based on the degree to which your justification is correct and convincing.

A list of useful facts and definitions is provided after the questions. You may assume facts proved in lecture if you state them carefully and correctly. Make sure that if a fact from lecture requires hypotheses, you show that those hypotheses hold in this case.

Crib Sheet:

Last modified 25 August 2003