# 1 Introduction to Computability Theory  Embed code:

## 1 Introduction to Computability Theory

Download Presentation - The PPT/PDF document "1 Introduction to Computability Theory" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.

### Presentations text content in 1 Introduction to Computability Theory

Slide1

1

Introduction to Computability Theory

Lecture14:

The Halting Problem

Prof. Amos Israeli

Slide2

In this lecture we present an undecidable language.The language that we prove to be undecidable is a very natural language namely the language consisting of pairs of the form where Mis a TM accepting string w:

The Halting Problem

2

Slide3

Since this language requires to decide whether the computation of TM M halts on input w, it is often called The Halting Problem. TheoremThe halting problem is Turing Recognizable.

The Halting Problem

3

Slide4

Consider a TM U that gets a pair as input and simulates the run of M on input w. If M accepts or rejects so does U. Otherwise, U loops. Note: U recognizes ATM ,since it accepts any pair , that is: any pair in which M accepts input w.

Proof

4

Slide5

On the previous lecture, we detailed the simulation of a DFA by a TM.Simulating one TM by another, using the encoding of the first TM is a very similar process. In the next slide we review the main characteristics of TM N simulating TM M, using M’s encoding <M>.

Simulating an Input TM

5

Slide6

TM N works as follows:Mark M’s initial state and w’s initial symbol as the “current state” and “current head location”.Look for M’s next transition on the description of its transition function. Execute M’s transition.

Simulating an Input TM

6

Slide7

Move M’s “current state” and “current head location” to their new places.If M’s new state is a deciding state decide according to the state, otherwise – repeat stages 2-5.

Simulating an Input TM

7

Slide8

So far we proved the existence of a language which is not Turing recognizable. Now we continue our quest to prove:TheoremThe languageis undecidable.

The Language ___ Is Undecidable

8

Slide9

Before we start the proof let us consider two ancient questions:Question1:Can god create a boulder so heavy such that he (god) cannot lift?

The Language ___ Is Undecidable

9

Slide10

Question2:In the small town of L.J. there is a single barber:Over the barber’s chair there is a note saying:“I will shave you on one condition: Thaw shall never shave thyself!!!”Who Shaves the Barber?

The Language ___ Is Undecidable

10

Slide11

Assume, by way of contradiction, that is decidable and let H be a TM deciding .That is Define now another TM, D, that uses H as a subroutine as follows:

Proof

11

Slide12

Define now another TM new D that uses H as a subroutine as follows:D=“On input where M is a TM: 1. Run H on input . 2. Output the opposite of H’s output namely: If H accepts reject, otherwise accept.“

Proof

12

Slide13

Note: What we do here is taking advantage of the two facts:Fact1: TM M should be able to compute with any string as input.Fact2: The encoding of M, , is a string.

Proof

13

Slide14

Running a machine on its encoding is analogous to using a compiler for the computer language Pascal, to compile itself (the compiler is written in Pascal). As we recall from the two questions self-reference is sometimes means trouble (god forbid…)

Proof

14

Slide15

What we got now is:Consider now the result of running D with input . What we get is:

Proof

15

Slide16

So if D accepts, it rejects and if it rejects it accepts. Double Trouble.And it all caused by our assumption that TM H exists!!!

Proof

16

Slide17

Define .Assume that id decidable and let H be a TM deciding it.Use H to build TM D that gets a string and behaves exactly opposite to H’s behavior, namely:

Proof Review

17

Slide18

Run TM D on its encoding and conclude: Contradiction.

Proof Review

18

Slide19

The following table describes the behavior of each machine on some machine encodings:

So Where is the Diagonalization?

19

Slide20

This table describes the behavior of TM H. Note: TM H rejects where loops.

So Where is the Diagonalization?

20

Slide21

Now TM D is added to the table…

Proof Review

21

Slide22

So far we proved the existence of a language which is not Turing recognizable. Now we will prove a theorem that will enable us to identify a specific language, namely , as a language that is not Turing recognizable.

__ Is Not Turing Reecognizable

22

Slide23

(Reminder) A Language L is Turing recognizable if there exists a TM recognizing L. That is, a TM that accepts any input . A Language L is co-Turing recognizable if the complement of L, , is Turing recognizable.

__ Is Not Turing Reecognizable

23

Slide24

TheoremA language L Is decidable, if and only if it is Turing recognizable and co-Turing recognizable.Proof ->If L is decidable so is its complement, . Any decidable language is Turing recognizable.

__ Is Not Turing Reecognizable

24

Slide25

Proof ->If L is decidable so is its complement, . A TM to decide , is obtained by running a TM deciding L and deciding the opposite. Any decidable language is Turing recognizable, hence is Turing recognizable and L is co-Turing recognizable.

__ Is Not Turing Reecognizable

25

Slide26

Proof <-If L and are both Turing recognizable, there exist two TM-s, , and , that recognize and , respectively. A TM M to decide L can be obtained by running both , and in parallel and halt when one of them accepts.

__ Is Not Turing Recognizable

26

Slide27

CorollaryThe language is not Turing recognizable.ProofWe already know that is Turing recognizable. Assume is Turing recognizable. Then, is co-Turing recognizable. By the previous theorem is decidable, a contradiction.

__ Is Not Turing Recognizable

27

Slide28

This is the diagram we had after we studied CFL-s:

CFL-s Ex:

RL-s Ex:

Discussion

28

Non CFL-s Ex:

???

Slide29

Now, we can add some more details:

CFL-s Ex:

RL-s Ex:

Discussion

29

Decidable Ex:

Turing recognizable

Ex:

Non Turing recognizable

Ex:

Slide30

Slide31

Slide32