CS200: Computer Science, Spring 2002

Notes: Wednesday 20 March 2002
Schedule
 Monday, 25 March: Problem Set 6
 Wednesday, 27 March: Read SICP, Chapter 4 (you may skip 4.1.6 and 4.1.7 and 4.4end). This is the last reading assignment from SICP. Some of the most important ideas in this chapter are hidden in footnotes, so make sure to read the footnotes also. Section 4.3 describes how to define a nondeterministic programming language, which will be very useful to your for Problem Set 7.
 Before 3 April: GEB, Aria with Diverse Variations and Chapter XIII: BlooP and FlooP and GlooP. This chapter is about computability, and related to the halting problem in today's class. You will not be assigned to read Chapter XIV, but it goes into more depth on Gödel's proof and it recommended.
Computability Proof: A proof of S in an axiomatic system is a sequence of strings, T_{0}, T_{1}, ..., T_{n} where:
Halting Problem
 The first string is the axioms
 For all i from 1 to n, T_{n} is the result of applying one of the inference rules to T_{n1}
 T_{n} is S
Input: a procedure P (described by a Scheme program)
Output: true if P always halts (finishes execution), false otherwise.Malicious Code Problem
Is the Malicious Code Problem decidable? (think about this before Friday)
Input: a procedure P
Output: #t if P is would do something bad, #f otherwise.
Assume we have a precise definition of what something bad means (for example, format your hard drive).
Links
There is a remarkably close parallel between the problems of the physicist and those of the cryptographer. The system on which a message is enciphered corresponds to the laws of the universe, the intercepted messages to the evidence available, the keys for a day or a message to important constants which have yet to be determined. The correspondence is very close, but the subject matter of cryptography is very easily dealt with by discrete machinery, physics not so easily.
 Halting Problem (Hockey Team)
 Alan Turing
 On Computable Numbers, with an Application to the Entscheidungsproblem — Turing's original (1936) paper that introduced the Halting Problem (tougher to read than Gödel's)
 Breaking the Code — movie about Alan Turing
 Time 100: Alan Turing
Alan Turing
University of Virginia Department of Computer Science CS 200: Computer Science 
David Evans evans@cs.virginia.edu Using these Materials 