[an error occurred while processing this directive]

## cs150: Notes 26

#### Assignments Due

• This week: read Chapter 11
• Monday, 26 March: Problem Set 6
• Someday next week, there will be a "surprise" quiz. Your quiz grade will be the maximum of your grades on the two quizzes. Next week's "surprise" quiz will cover the readings from Neil de Grasse Tyson; Gödel, Escher, Bach; and the article attached to today's notes.
• GEB reading (by Friday, 30 March): Aria with Diverse Variations and Chapter 13. Chapter 13 proves that the halting problem is not decidable, and introduces the Church-Turing Thesis (which we will explore more in later classes). You will not be assigned to read Chapter 14, but it goes into more depth on Gödel's proof and is highly recommended.

Notes

Halting Problem

Input: a procedure specification P

Output: true if applying P would halt (finishes execution), false otherwise.

```(define (halts? procedure) ...?...)
```
```(define (paradox)
(infinite-loop)
150))
```
What would it mean if (halts? 'paradox) evaluates to #t?

What would it mean if (halts? 'paradox) evaluates to #f?

Prove the halts? algorithm cannot exist.

1. Show X is non-sensical.
2. Show that if you have an A you can make X.
3. Therefore, A cannot exist.

Evaluates-to-3

Input: A procedure specification P

Output: true if evaluating an application of P would result in 3; false otherwise.

Is the Evaluates-to-3 Problem computable?

[an error occurred while processing this directive]