Assignment 1



Due on Jan 27 before lecture.

Please bring a hardcopy of your solutions to lecture. Or submit a hardcopy of your solutions before lecture.


Problem 1

Consider the language of boolean and arithmetic expressions discussed in class (Figures 3-1 and 3-2 in the Pierce book). Suppose we add a new syntactic form: Suppose we also add new evaluation rules:
Problem 1a

Which of the theorems discussed in class (Theorems 3.5.4, 3.5.7, 3.5.8, 3.5.11, 3.5.12 in the Pierce book) remain valid?

If a theorem is no longer valid, then present a counter example. If a theorem is still valid but its proof is different, then present the new proof. (Note that the Pierce book contains proofs of these theorems for the original language. You do not have to reproduce these proofs. Just show the portions of the proofs that are different now.)


Problem 1b

Extend the typing rules discussed in class (Figures 8-1 and 8-2 in the Pierce book) to support the new language.


Problem 1c

Using the new typing rules, prove the progress and preservation theorems (Theorems 8.3.2 and 8.3.3 in the Pierce book) for the new language. (Note that the Pierce book contains proofs of these theorems for the original language. You do not have to reproduce these proofs. Just show the portions of the proofs that are different now.)


Problem 2

Consider the language of boolean and arithmetic expressions discussed in class (Figures 3-1 and 3-2 in the Pierce book). Suppose we add a new syntactic form: Suppose we also add new evaluation rules:

Problem 2a

Extend the typing rules discussed in class (Figures 8-1 and 8-2 in the Pierce book) to support the new language.


Problem 2b

What can you say about well-typed programs in the new language? Are the progress and preservation theorems (Theorems 8.3.2 and 8.3.3 in the Pierce book) valid for the new language? If so, prove the theorems. If not, then modify the statements of the theorems appropriately and then prove the theorems. (Note that the Pierce book contains proofs of these theorems for the original language. You do not have to reproduce these proofs. Just show the portions of the proofs that are different now.)


Problem 3

Consider the language of boolean and arithmetic expressions discussed in class (Figures 3-1 and 3-2 in the Pierce book). Suppose we add a new evaluation rule: Which of the theorems discussed in class (Theorems 3.5.4, 3.5.7, 3.5.8, 3.5.11, 3.5.12 in the Pierce book) remain valid?

If a theorem is no longer valid, then present a counter example. If a theorem is still valid but its proof is different, then present the new proof. (Note that the Pierce book contains proofs of these theorems for the original language. You do not have to reproduce these proofs. Just show the portions of the proofs that are different now.)


[Mail] [bchandra at umich dot edu]