On this page:
1 README
2 Undecidability and the Complement Operation
3 Backwards and Forwards, One More Time!
4 Mapping Reducibility and Complement
5 Rice’s Theorem
6 More Undecidable Languages

Homework 8

Last updated: Mon, 9 Nov 2020 14:04:10 -0500

Out: Wed Nov 11, 00:00 EST Due: Tues Nov 17, 23:59 EST

This homework covers material from Chapter 5 of the textbook.

Homework Problems

  1. README (2 points)

  2. Undecidability and the Complement Operation (6 points)

  3. Backwards and Forwards, One More Time! (6 points)

  4. Mapping Reducibility and Complement (6 points)

  5. Rice’s Theorem (6 points)

  6. More Undecidable Languages (6 points)

Total: 32 points

Submitting

Submit this assignment at Gradescope hw8.

You may write up your solution however you like but the submission:
  • should only include pdf or plain text files,

  • and each file must be assigned to the correct problem in Gradescope.

1 README

Create a README file containing the required information, and submit it along with the rest of the homework.

2 Undecidability and the Complement Operation

Show that undecidability is closed under the complement operation.

3 Backwards and Forwards, One More Time!

Show that the following language is undecidable:

BW\!FW_{TM} = \{\left\langle M\right\rangle\mid M \textrm{ is a Turing machine that accepts a string } w \textrm{ only if it accepts } w^\mathcal{R}\}

where w^\mathcal{R} is w reversed.

Prove it via contradiction by constructing a decider for A_{TM}.

4 Mapping Reducibility and Complement

Recall that a language A is mapping reducible to a language B (written A\leq_m B) if there is a computable function f : \Sigma^* \rightarrow \Sigma^*, where w\in A \Longleftrightarrow f(w) \in B.

Show that if a language is both Turing-recognizable and mapping reducible to its complement, then that language is decidable.

5 Rice’s Theorem

Recall that we proved A_{TM} undecidable, which means that there’s no decider that can determine whether a Turing machine accepts a given input. In other words, given a Turing machine M and a string w, there’s no decider that can determine whether w\in L(M), where L(M) is the language of M.

Rice’s Theorem goes even further. It states that we cannot decide any properties of the language of a Turing machine. In other words, Rice’s Theorem states that all languages P that satisfy the following conditions are undecidable:

Prove Rice’s Theorem. In other words, prove that all languages P that satisfy the above criteria are undecidable. You may assume that you know how to construct a TM that is in any given P.

6 More Undecidable Languages

Prove that the following languages are undecidable:

  1. L_1 = \{\left\langle M\right\rangle\mid M\textrm{ is a Turing machine and } \texttt{"CS420"}\in L(M)\}

  2. L_2 = \{\left\langle M\right\rangle\mid M\textrm{ is a Turing machine and } L(M) \textrm{ consists of valid Python programs}\}

  3. L_3 = \{\left\langle M\right\rangle\mid M\textrm{ is a Turing machine and } L(M) \textrm{ are C programs that will install ransomware on your computer}\}