15-851 Computation and Deduction
Lecture 13: Evaluation in Environments

One unrealistic aspect of the high-level natural operational semantics is the operation of substitution, which is assumed as a primitive. In this lecture we show how to specify evaluation with respect to an environment that assigns values to free variables.

In such an evaluation model variables are essentially pointers into an environment. A common technique for their implementation is the use of natural numbers called de Bruijn indices. We show how de Bruijn indices and how to reason about them.

The soundness and completeness proof for the environment-based machine is slightly more complicated than what we have previously seen. In particular, we will need lexicographic induction to handle the case of variable lookup.

[ Home | Schedule | Assignments | Handouts | Software | Overview ]

Frank Pfenning