Homework # 8
due October 28

Reading

Please read Chapter 13 in your textbook.

Problems

Please do the following problem:

Discussion

The textbook says (page 167) that we must include a well typing in the requirements for progress and preservation. Give two counter-examples, one for Progress (Theorem 13.5.7) and one for Preservation (Theorem 13.5.3) if they omit any mention of well typing.

Proofs

Put together the proof of progress. The solution uses the following three ``effectiveness'' lemmas:

These three lemmas do the work of progress for allocation, dereference and assignment, respectively.

Extra

Optionally, complete the proof of preservation of references started in the SASyLF skeleton file.

Graduate Students

The model in the textbook doesn't handle pointer arithmetic. Find and cite published proofs of soundness of systems with pointer arithmetic. How does the model change? What new types are needed? Are there any mechanized proofs?

About this document



John Tang Boyland 2011-10-25