Proof-Relevant Logical Relations for Name Generation

Nick Benton , Martin Hofmann and Vivek Nigam

Accepted to Logical Methods in Computer Science,

2018

abstract

Pitts and Stark’s v-calculus is a paradigmatic total language for studying the problem ofcontextual equivalence in higher-order languages with name generation. Models for the ν-calculusthat validate basic equivalences concerning names may be constructed using functor categories ornominal sets, with a dynamic allocation monad used to model computations that may allocate freshnames. If recursion is added to the language and one attempts to adapt the models from (nominal)sets to (nominal) domains, however, the direct-style construction of the allocation monad no longerworks. This issue has previously been addressed by using a monad that combines dynamic allocationwith continuations, at some cost to abstraction.This paper presents a direct-style model of a v-calculus-like language with recursion using thenovel framework of proof-relevant logical relations, in which logical relations also contain objects(or proofs) demonstrating the equivalence of (the semantic counterparts of) programs. Apart fromproviding a fresh solution to an old problem, this work provides an accessible setting in which tointroduce the use of proof-relevant logical relations, free of the additional complexities associatedwith their use for more sophisticated languages.