Recitation 21

Suppose we extend our language with pairs and projection operations:

type expr = ...
          | Pair of expr * expr
          | Fst of expr 
          | Snd of expr
  1. How would we extend the type for values?
  2. How would we extend the small-step evaluation relation?
  3. How would we extend the type system?