Computational Models Lecture 9, Spring 2009

Similar documents
Computational Models Lecture 8 1

problem X reduces to Problem Y solving X would be easy, if we knew how to solve Y

Computational Models Lecture 8 1

Computational Models Lecture 8 1

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION

Mapping Reducibility. Human-aware Robotics. 2017/11/16 Chapter 5.3 in Sipser Ø Announcement:

Decidability and Undecidability

Introduction to Languages and Computation

Lecture Notes: The Halting Problem; Reductions

CSE 105 THEORY OF COMPUTATION

1 Reducability. CSCC63 Worksheet Reducability. For your reference, A T M is defined to be the language { M, w M accepts w}. Theorem 5.

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 8 Nancy Lynch

Non-emptiness Testing for TMs

CS 125 Section #10 (Un)decidability and Probability November 1, 2016

CS481F01 Solutions 8

CpSc 421 Homework 9 Solution

CS154, Lecture 10: Rice s Theorem, Oracle Machines

Computability Crib Sheet

CSCE 551: Chin-Tser Huang. University of South Carolina

CSE 105 Theory of Computation

Computability and Complexity

Computational Models: Class 3

Computability Theory

CS5371 Theory of Computation. Lecture 14: Computability V (Prove by Reduction)

Computability and Complexity

Computational Models Lecture 11, Spring 2009

Theory of Computation

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012

1 Showing Recognizability

There are two main techniques for showing that problems are undecidable: diagonalization and reduction

Lecture 12: Mapping Reductions

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

Decidable Languages - relationship with other classes.

Reductions in Computability Theory

Undecidability. We are not so much concerned if you are slow as when you come to a halt. (Chinese Proverb)

CSE 105 Theory of Computation

SD & Turing Enumerable. Lecture 33: Reductions and Undecidability. Lexicographically Enumerable. SD & Turing Enumerable

Lecture 23: Rice Theorem and Turing machine behavior properties 21 April 2009

Introduction to Turing Machines. Reading: Chapters 8 & 9

4.2 The Halting Problem

Theory of Computation

Turing Machines Part III

Decidability. Human-aware Robotics. 2017/10/31 Chapter 4.1 in Sipser Ø Announcement:

CS 361 Meeting 26 11/10/17

Undecidable Problems and Reducibility

What languages are Turing-decidable? What languages are not Turing-decidable? Is there a language that isn t even Turingrecognizable?

CS 7220 Computational Complexity and Algorithm Analysis

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 10 Nancy Lynch

The Unsolvability of the Halting Problem. Chapter 19

The Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability

Automata Theory CS S-FR2 Final Review

Decidability. Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff

Reducability. Sipser, pages

Turing Machines, diagonalization, the halting problem, reducibility

CSCE 551: Chin-Tser Huang. University of South Carolina

Time Magazine (1984)

CS20a: Turing Machines (Oct 29, 2002)

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Chap. 4,5 Review. Algorithms created in proofs from prior chapters

Homework 8. a b b a b a b. two-way, read/write

CSCI3390-Lecture 6: An Undecidable Problem

CSE 105 THEORY OF COMPUTATION. Spring 2018 review class

Mapping Reductions. Mapping Reductions. Introduction to Computability. Theory. Mapping Reductions. Lecture13: Mapping. Reductions

Undecidability. Andreas Klappenecker. [based on slides by Prof. Welch]

CS5371 Theory of Computation. Lecture 15: Computability VI (Post s Problem, Reducibility)

CSE 105 THEORY OF COMPUTATION

Computational Models - Lecture 1 1

Theory of Computation (IX) Yijia Chen Fudan University

CSE 105 THEORY OF COMPUTATION

Turing Machine Recap

Computational Models Lecture 7, Spring 2009

uring Reducibility Dept. of Computer Sc. & Engg., IIT Kharagpur 1 Turing Reducibility

Decidability: Reduction Proofs

Lecture 20: conp and Friends, Oracles in Complexity Theory

Theory of Computation

1 Acceptance, Rejection, and I/O for Turing Machines

CS154, Lecture 17: conp, Oracles again, Space Complexity

Undecidability and Rice s Theorem. Lecture 26, December 3 CS 374, Fall 2015

6.045J/18.400J: Automata, Computability and Complexity. Quiz 2. March 30, Please write your name in the upper corner of each page.

Decidability (What, stuff is unsolvable?)

Introduction to Turing Machines

Theory of Computation p.1/?? Theory of Computation p.2/?? We develop examples of languages that are decidable

Decidability: Church-Turing Thesis

CP405 Theory of Computation

17.1 The Halting Problem

UNIT-VIII COMPUTABILITY THEORY

Computation Histories

Computational Models Lecture 2 1

CPSC 421: Tutorial #1

What we have done so far

ECS 120 Lesson 18 Decidable Problems, the Halting Problem

Computational Models - Lecture 4

CSE 105 THEORY OF COMPUTATION

V Honors Theory of Computation

2 Computable and Computably Enumerable Sets

Complexity Theory Part II

Exam Computability and Complexity

Theory of Computation

16.1 Countability. CS125 Lecture 16 Fall 2014

Transcription:

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 1 Computational Models Lecture 9, Spring 2009 Reducibility among languages Mapping reductions More undecidable languages Undecidability by Rice Theorem Reductions using controlled executions (steppers) RE-Completeness Sipser s book, Chapter 5, Sections 5.1, 5.3

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 2 So Far We have established Turing Machines as the gold standard of computers and computability... seen examples of solvable problems... defined the universal TM saw two problem, A TM & H TM, that are computationally unsolvable (by a direct diagonalization proof) and saw an incomputable function the busy beaver. In this lecture, we look at other computationally unsolvable problems, and establish the technique of mapping reducibilities for proving that languages are either undecidable or non-enumerable.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 3 Reducibility Example: Finding your way around a new city reduces to... obtaining a city map.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 4 Reducibility, In Our Context Always involves two problems, A and B. Desired Property: If A reduces to B, then any solution of B can be used to find a solution of A. Remark: This property says nothing about solving A by itself or B by itself.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 5 Examples Reductions: Traveling from Boshton to Paris... reduces to buying plane ticket... which reduces to earning the money for that ticket... which reduces to finding a job (or getting the $s from mom and dad... )

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 6 Examples Reductions: Measuring area of rectangle... reduces to measuring lengths of sides. Also: Solving a system of linear equations... reduces to inverting a matrix.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 7 Reducibility If A is reducible to B, then A cannot be harder than B if B is decidable, so is A. if A is undecidable and reducible to B, then B is undecidable.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 8 Additional Undecidable Problems We have already established that A TM is undecidable. We also saw the original halting problem (of Shoshana and Uri :-), and it was shown (on board) this language is also undecidable. H TM = { M,w M is a TM and M halts on input w} Short reminder: How does H TM differ from A TM?

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 9 Undecidable Problems H TM = { M,w M is a TM and M halts on input w} Theorem: H TM is undecidable. An alternative proof, by reduction from A TM : By contradiction. Assume H TM is decidable. Let R be a TM that decides H TM. Use R to construct S, a TM that decides A TM. So A TM is reduced to H TM. Since A TM is undecidable, so is H TM.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 10 Undecidable Problems Theorem: H TM is undecidable. Proof: Assume, by way of contradiction, that TM R decides H TM. Define a new TM, S, as follows: On input M,w, run R on M,w. If R rejects, reject. If R accepts (meaning M halts on w), simulate M on w until it halts (namely run U on M,w ). If M accepted, accept; otherwise reject. TM S decides A TM, a contradiction

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 11 Undecidable Problems H TM = { M,w M is a TM and M halts on input w} Theorem: H TM is undecidable. What we actually did was a reduction from A TM to H TM. This will be formalized shortly.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 12 Undecidable Problems (2) Does a TM accept any string at all? EMPTY TM = { M M is a TM and L(M) = } Theorem: EMPTY TM is undecidable. Proof structure: By contradiction. Assume EMPTY TM is decidable. Let R be a TM that decides EMPTY TM. Use R to construct S, a TM that decides A TM.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 13 Undecidable Problems (2) EMPTY TM = { M M is a TM and L(M) = } First attempt: When S receives input M,w, it calls R with input M. If R accepts, then reject, because M does not accept any string, let alone w. But what if R rejects? Second attempt: Let s modify M.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 14 Undecidable Problems (2) EMPTY TM = { M M is a TM and L(M) = } Define M 1 : on input x, 1. if x w, reject. 2. if x = w, run M on w and accept if M does. M 1 either accepts just w, or accepts nothing.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 15 Undecidable Problems (2) Machine M 1 : on input x, 1. if x w, reject. 2. if x = w, run M on w and accept if M does. Question: Can a TM construct M 1 from M? Answer: Easily, because we need only hardwire w, and add a few extra states to perform the x = w? test.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 16 Undecidable Problems (2) EMPTY TM = { M M is a TM and L(M) = }. Theorem: EMPTY TM is undecidable. Define S as follows: On input M,w, where M is a TM and w a string, Construct M 1 from M and w. Run R on input M 1, if R accepts, reject; if R rejects, accept. TM S decides A TM, a contradiction

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 17 Undecidable Problems (3) Does a TM accept a regular language? REG TM = { M M is a TM and L(M) is regular} Theorem: REG TM is undecidable. Skeleton of Proof: By contradiction. Assume REG TM is decidable. Let R be a TM that decides REG TM. Use R to construct S, a TM that decides A TM. But how?

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 18 Undecidable Problems (3) REG TM = { M M is a TM and L(M) is regular} Intuition: Modify M so that the resulting TM accepts a regular language if and only if M accepts w. Design M 2 so that if M does not accept w, then M 2 accepts the (non-regular) language {0 n 1 n n 0} if M accepts w, then M 2 accepts Σ (regular).

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 19 Undecidable Problems (3) Given M and w, construct M 2 : On input x, 1. If x has the form 0 n 1 n, accept it. 2. Otherwise, run M on input w and accept x if M accepts w. Claim: If M does not accept w, then M 2 accepts {0 n 1 n n 0}. If M accepts w, then M 2 accepts Σ. The function: On input M,w, output M 2, is computable.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 20 Undecidable Problems (3) REG TM = { M M is a TM and L(M) is regular} Theorem: REG TM is undecidable. Define S: On input M,w, 1. Construct M 2 from M and w. 2. Run R on input M 2. 3. If R accepts, accept; if R rejects, reject. TM S decides A TM, a contradiction

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 21 Undecidable Problems (4) Are two TMs equivalent? EQ TM = { M 1,M 2 M 1,M 2 are TMs and L(M 1 ) = L(M 2 )} Theorem: EQ TM is undecidable. We are getting tired of reducing A TM to everything. Let s try instead a reduction from EMPTY TM to EQ TM.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 22 Undecidable Problems (4) EQ TM = { M 1,M 2 M 1,M 2 are TMs and Theorem: EQ TM is undecidable. Idea: L(M 1 ) = L(M 2 )} EMPTY TM is the problem of testing whether a TM language is empty. EQ TM is the problem of testing whether two TM languages are the same. If one of these two TM languages happens to be empty, then we are back to EMPTY TM. So EMPTY TM is a special case of EQ TM. The rest is easy.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 23 Undecidable Problems (4) EQ TM = { M 1,M 2 M 1,M 2 are TMs and L(M 1 ) = L(M 2 )} Theorem: EQ TM is undecidable. Let M NO be this TM: On input x, reject. Let R decide EQ TM. Let S be: On input M : 1. Run R on input M,M NO. 2. If R accepts, accept; if R rejects, reject. If R decides EQ TM, then S decides EMPTY TM.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 24 Bucket of Undecidable Problems Same techniques prove undecidability of Does a TM accept a decidable language? Does a TM accept a context-free language? Does a TM accept a finite language? Does a TM halt on all inputs? Is there an input string that causes a TM to traverse all its states? Does a TM accept a language that contains all prime numbers? And... Does a TM accept an enumerable language? (really?)

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 25 Reducibility So far, we have seen many examples of reductions from one language to another, but the notion was implicit it was neither defined nor treated formally. Reductions play an important role in decidability theory (here and now) complexity theory (to come) Time to get formal.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 26 Mapping Reductions Definition: Let A and B be two languages. We say that there is a mapping reduction from A to B, and denote A m B if there is a computable function such that, for every w, f : Σ Σ w A f(w) B. The function f is called the reduction from A to B.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 27 Mapping Reductions A mapping reduction converts questions about membership in A to membership in B Notice that A m B implies A m B.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 28 Mapping Reductions: Reminders Theorem 1: If A m B and B is decidable, then A is decidable. Theorem2 : If A m B and B is recursively enumerable, then A is recursively enumerable.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 29 Mapping Reductions: Corollaries Corollary 1: If A m B and A is undecidable, then B is undecidable. Corollary 2: If A m B and A is not in RE, then B is not in RE. Corollary 3: If A m B and A is not in core, then B is not in core.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 30 Mapping Reductions in General Mapping reductions are applicable to wide areas in mathematics, not only computing. For example, consider the following two sets: 1. The set of equations of the form Ax 2 + By + C where the coefficients are integers, that have a root consisting of positive integers. 2. The set of knots that can be untied (without tearing or breaking the rope) leaving at most l loops. Even though these two sets have very different nature, they are reducible to each other (by mapping reductions). In this course we concentrate mainly on computing related problems, but reductions are relevant in much wider scopes.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 31 Example: Halting Recall that A TM = { M,w TM M accepts input w} H TM = { M,w TM M halts on input w} Earlier today we proved that H TM undecidable by (de facto) reduction from A TM. Let s reformulate this.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 32 Example: Halting Define a computable function, f: input of form M,w output of form M,w where M,w A TM M,w H TM.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 33 Example: Halting The following machine computes this function f. F = on input M,w : Construct the following machine M. M : on input x run M on x If M accepts, accept. if M rejects, enter a loop. output M,w The function f is clearly computable. Let us convince ourselves (on board) it is also a reduction from A TM to H TM.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 34 TM Equality Theorem: Both EQ TM and its complement, EQ TM, are not enumerable. Stated differently, EQ TM is neither enumerable nor co-enumerable. We show that A TM is reducible to EQ TM. The same function is also a mapping reduction from A TM to EQ TM, and thus EQ TM is not enumerable. We then show that A TM is reducible to EQ TM. The new function is also a mapping reduction from A TM to EQ TM, and thus EQ TM is not enumerable.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 35 TM Equality Claim: A TM is reducible to EQ TM. f 1 : A TM EQ TM works as follows: F 1 : On input M,w Construct machine M 1 : on any input, reject. Construct machine M 2 : on input x, run M on w. If it accepts, accept. Output M 1,M 2.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 36 TM Equality F 1 : On input M,w Note Construct machine M 1 : on any input, reject. Construct machine M 2 : on any input x, run M on w. Output M 1,M 2. M 1 accepts nothing If it accepts, accept x. if M accepts w then M 2 accepts everything, and otherwise nothing. so M,w A TM M 1,M 2 EQ TM f 1 is clearly computable. Thus it is a reduction from A TM to EQ TM.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 37 TM Equality Claim: A TM is reducible to EQ TM. f 2 : A TM EQ TM works as follows: F : On input M,w Construct machine M 1 : on any input, accept. Construct machine M 2 : on any input x, run M on w. If it accepts, accept. Output M 1,M 2.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 38 TM Equality F 2 : On input M,w Note Construct machine M 1 : on any input, accept. Construct machine M 2 : on any input x, run M on w. Output M 1,M 2. M 1 accepts everything If it accepts, accept. if M accepts w, then M 2 accepts everything, and otherwise nothing. M,w A TM M 1,M 2 EQ TM. f 2 is clearly computable. Thus it is a reduction from A TM to EQ TM.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 39 Non Trivial Properties of RE Languages A few examples L is finite. L is infinite. L contains the empty string. L contains no prime number. L is co-finite.... All these are non-trivial properties of enumerable languages, since for each of them there is L 1,L 2 RE such that L 1 satisfies the property but L 2 does not. Are there any trivial properties of RE languages?

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 40 Rice s Theorem Theorem Let C be a proper non-empty subset of the set of enumerable languages. Denote by L C the set of all TMs encodings, M, such that L(M) is in C. Then L C is undecidable. (See problem 5.22 in Sipser s book) Proof by reduction from A TM. Given M and w, we will construct M 0 such that: If M accepts w, then M 0 L C. If M does not accept w, then M 0 L C.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 41 Rice s Theorem Without loss of generality, C. (Otherwise, look at C, also proper and non-empty.) Since C is not empty, there exists some language L C. Let M L be a TM accepting this language (recall C contains only recuresively enumerable languages). continued...

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 42 Rice s Theorem Given M,w, construct M 0 such that: If M accepts w, then L(M 0 ) = L C. If M does not accept w, then L(M 0 ) = C. M 0 on input y: 1. Run M on w. 2. If M accepts w, run M L on y. a. if M L accepts, accept, and b. if M L rejects, reject. Claim: The transformation M,w M 0 is a mapping reduction from A TM to L C.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 43 Rice s Theorem Proof: M 0 on input y: 1. Run M on w. 2. If M accepts, run M L on y. a. if M L accepts, accept, and b. if M L rejects, reject. The machine M 0 is simply a concatanation of two known TMs the universal machine, and M L. Therefore the transformation M,w M 0 is a computable function, defined for all strings in Σ. (But what do we actually do with strings not of the form M,w?)

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 44 Rice s Proof (Concluded) If M,w A TM then M 0 gets to step 2, and runs M L on y. In this case, L(M 0 ) = L, so L(M 0 ) C. On the other hand, if M,w A TM then M 0 never gets to step 2. In this case, L(M 0 ) =, so L(M 0 ) C. This establishes the fact that M,w A TM iff M 0 L C. So we have A TM m L C, thus L C is undecidable.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 45 Rice s Theorem (Reflections) Rice s theorem can be used to show undecidability of properties like does L(M) contain infinitely many primes does L(M) contain an arithmetic progression of length 15 is L(M) empty Decidability of properties related to the encoding itself cannot be inferred from Rice. For example does M has an even number of states is decidable. Properties like does M reaches state q 6 on the empty input string are undecidable, but this does not follow from Rice s theorem. Likewise, Rice does not say anything on

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 46 Reductions via Controlled Executions Consider the language L infinite = { M L(M) is infinite}. By Rice Theorem, this language is not in R. We want to show that L infinite / RE. Idea: Reduction from H TM. So we are after a reduction f : M,w M 0 such that If M halts on w then L(M 0 ) is finite. If M does not halts on w then L(M 0 ) is infinite. This looks a bit tricky...

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 47 Reductions via Controlled Executions (2) We are after a reduction f : M,w M 0 such that If M halts on w then L(M 0 ) is finite. If M does not halts on w then L(M 0 ) is infinite. Given M,w, construct the TM M 0 as following: M 0 on input y Runs the universal machine U on M,w for y steps. If U did not halt in that many steps, M 0 accepts y. If U did halt in that many steps, M 0 rejects y. f( M,w ) = M 0. Let us examine L(M 0 ). (Remark: M 0 halts on all inputs.)

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 48 Reductions via Controlled Executions (3) f( M,w ) = M 0. Let us examine L(M 0 ). If M does not halt on w, then M 0 accepts all y, so L(M 0 ) = Σ, and thus M 0 L infinite. If M does halt on w after k simulation steps, then M 0 accepts only ys of length smaller than k, so L(M 0 ) is finite, and thus M 0 / L infinite. We have shown that H TM m L infinite. Since H TM / RE, this implies L infinite / RE.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 49 RE-Completeness Question: Is there a language L that is hardest in the class RE of enumerable languages (languages accepted by some TM)? Answer: Well, you have to define what you mean by hardest language. Definition: A language L 0 Σ is called RE-complete if the following holds L 0 RE (membership). For every L RE, L m L 0 (hardness).

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 50 RE-Completeness Definition A language L 0 Σ is called RE-complete if the following holds L 0 RE (membership). For every L RE, L m L 0 (hardness). The second item means that for every enumerable L there is a mapping reduction f L from L to L 0. The reduction f L depends on L and will typically differ from one language to another.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 51 RE-Completeness Question: Having defined a reasonable notion, we should make sure it is not vacuous, namely verify there is at least one language satisfying it. Theorem The language A TM is RE-Complete. Proof: The universal machine U accepts the language A TM, so A TM RE. Suppose L is in RE, and let M L be a TM accepting it. Then f L (w) = M L,w is a mapping reduction from L to A TM (why?).