15-851
Computation & Deduction
Spring 1997
Frank Pfenning

Assignment 1

Due: Tu Jan 28

Exercise 2.7
Consider a language extension
t ::= ... | t*
where t* is the type of lists whose members have type t. Introduce appropriate value constructor and discriminator expressions and extend the development of Chapter 1.
  1. Give appropriate rules for evaluation and typing.
  2. Extend the notion of value.
  3. Extend the proof of value soundness (Theorem 2.1).
  4. Extend the proof of type preservation (Theorem 2.5).

Exercise 2.11
Explore an alternative operational semantics in which expressions that are known to be values (since they have been evaluated) are not evaluated again. State and prove in which way the new semantics is equivalent to the one given in Section 2.3.
Hint: It may be necessary to extend the language of expressions or explicitly separate the language of values from the language of expressions.

Exercise 2.13
Prove that v Value is derivable if and only if v evaluates to v. That is, values are exactly those expressions which evaluate to themselves.

  • next assignment

  • [ C&D Home | Schedule | Code | Assignments | Notes | Projects | Elf ]

    © Frank Pfenning 1992-1997
    fp@cs