- Answer the problems on the exam pages.
- There are nine problems for 125 total points. Actual scale is A = 97, C = 63.
- If you need extra space use the back of a page.
- No books, notes, calculators, or collaboration.
- The first six questions are true/false, with five points for the correct boolean answer and up to five for a correct justification of your answer -- a proof, counterexample, quotation from the book or from lecture, etc. -- note that there is no reason not to guess if you don't know.

Q1: 10 points Q2: 10 points Q3: 10 points Q4: 10 points Q5: 10 points Q6: 10 points Q7: 20 points Q8: 15 points Q9: 30 points Total: 125 points

The following formal languages are each used in one or more problems:

- A
**clocked Turing machine**is a deterministic Turing machine that has an associated polynomial p(n) with integer coefficients. When started on an input w of length n, it calculates the number p(n) and then runs for at most p(n) steps, always halting with a yes or no answer. - ALL
_{CTM}is the set of clocked Turing machines that accept every string in their input alphabet. - EMPTY
_{TM}is the set of clocked Turing machines that do not accept any string over their input alphabet. - A
_{P}is the set of triples (M, w, 1^{t}) such that M is a deterministic Turing machine, w is a string over the input alphabet of M, and M accepts w in at most t steps. - Two DFA's M = (Q, Σ, q
_{0}, F, δ) and M' = (Q', Σ, q'_{0}, F', δ') are said to be**isomorphic**if there exists a bijection f from Q to Q' such that f(q_{0}) = q'_{0}and for any state q ∈ Q and any letter a ∈ Σ, q ∈ F if and only if f(q) ∈ F' and δ'(f(q), a) = f(δ(q, a)). - The language ISO
_{DFA}is the set of pairs (M, M') such that M and M' are isomorphic DFA's, each no unreachable states. (For all languages involving DFA's, assume that we use a coding scheme such that the length of the string denoting M is some polynomial in the number of states in M.) - The language EQUIV
_{DFA}is the set of pairs (M, M') such that M and M' are DFA's over the same alphabet, and L(M) = L(M'). - The language A
_{DFA}is the set of pairs (M. w) such that M is a DFA and w ∈ L(M). - A
**cyclic alphabet Turing machine (CATM)**is a one-tape deterministic Turing machine with the property that the k letters of its tape alphabet Γ are numbered a_{0}, a_{1}, ..., a_{k-1}, and it may only overwrite a letter a_{i}with another a_{i}or an a_{(i+1)%k}, where "%" is the Java modular division operator. Note that the blank letter is an element of Γ and so is equal to a_{i}for some i. - Of course, A
_{CATM}is the set of all pairs (M, w) where M is a CATM and w ∈ L(M).

**Question 1 (10):***True or false with justification:*Assuming that P ≠ NP, there exists a context-free language that is not in P.**Question 2 (10):***True or false with justification:*There exists a cyclic-alphabet Turing machine M such that M moves right on every step until or unless it halts and such that the language L(M) has infinitely many Myhill-Nerode equivalence classes.**Question 3 (10):***True or false with justification:*The language EMPTY_{TM}is mapping reducible to ALL_{CTM}, i.e., EMPTY_{CTM}≤_{m}ALL_{CTM}.**Question 4 (10):***True or false with justification:*The language EQUIV_{DFA}is in the class P.**Question 5 (10):***True or false with justification:*The language A_{CATM}is Turing decidable.**Question 6 (30):***True or false with justification:*The language A_{DFA}is in the class L.**Question 7 (20):**Two questions on clocked Turing machines, as defined above:- (a,10) Prove that every language in L (where L = DSPACE(log n)) is the language of some clocked Turing machine.
- (b,10) Prove that the language EMPTY
_{CTM}is not Turing decidable.

**Question 8 (15):**Prove that the language A_{P}is complete for the class P under ≤_{L}reductions.**Question 9 (30):**These questions concern the language ISO_{DFA}defined above:- (a,10) Prove that the language ISO
_{DFA}is in the class NP. - (b,20) Either prove that ISO
_{DFA}is in the class P, or prove that ISO_{DFA}is NP-complete. (Extra credit for doing both.)

- (a,10) Prove that the language ISO

Last modified 19 May 2011