The step relation uses the heaps on the path for lookups but
not for allocation. In other words, the heaps on the path are readonly
and are never modified; for this reason, we think of evaluation
taking place in the context of a path, which we write as a subscript
of the evaluation judgment. The impact of the distinction between
heaps and paths can be seen in the rules for lookup and allocation.
The auxiliary lookup judgment P; `
lookup