[an error occurred while processing this directive]

## cs150: Notes 25

#### Assignments Due

• This week: read Chapter 11
• Friday, 23 March (will be accepted without extension or penalty until 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.

Notes

Gödel's Statement:
G: This statment does not have any proof in the system.

What would it mean if G is true?

What would it mean if G is false?

Proof: A proof of S in an axiomatic system is a sequence of strings, T0, T1, ..., Tn where:

• The first string is the axioms
• For all i from 1 to n, Tn is the result of applying one of the inference rules to Tn-1
• Tn is S

#### Computability

Procedure: A precise (mechanizable) description of a process.

Alrogithm: A procedure that always terminates.

Is there an algorithm (a procedure that always terminates) that solves the problem?

A problem is computable (decidable) is there exists an algorithm that can solve the problem for all possible inputs. It is not necessary to know what that algorithm is to say a problem is computable, only to know that some algorithm to solve it must exist. For example, chess is a computable problem, even if we do not yet know a practical algorithm that solves it (yes).

A problem is uncomputable if there is no algorithm that can solve the problem. There might be a procedure, but it is not guaranteed to terminate.

What is the Halting Problem?

Is it possible to define a procedure that solves the Halting Problem?

```(define (contradict-halts)