Lecture 04

Today:

    1. Quiz.

    2. Abstraction.

    3. Closures.

    4. Reading questions.

    5. Homework 2.

For next time:

    1. Finish Homework 2.

    2. Read from Sipser and answer the reading questions below.

Abstraction

Louden has two nice quotes about abstraction in Section 1.6.

One from Sussman, which talks about abstraction, interfaces, combining pieces, and making new languages.

One fromWhitehead, which talks about the power of good notation. It reminds me of Heisenberg's use of matrix algebra for quantum mechanics.

Closures

Read http://en.wikipedia.org/wiki/Closure_(computer_science)

In the lambda calculus, when you make a pair, where do the elements of the pair get stored?

Reading Questions

Sipser, pages 17-27

1) In what ways is finding a proof similar to writing a program?

2) In what ways is it different?

3) On page 22, Example 0.23 is an example of proof by contradiction applied to everyday thinking.

Can you think of examples where proof by construction or proof by induction are used in everyday thinking?

4) How is Example 0.23 different from a mathematical proof?

5) How is proof by induction similar to writing a recursive function? How is it different?

6) Do problem 0.10 on page 27, "Find the error in the following proof that 2 == 1."

7) Do problem 0.11 on page 27, "Find the error in the following proof that all horses are the same color."

8) Do problem 0.12 on page 27, "Show that every graph with 2 or more nodes contains two nodes that have equal degrees."