Proof-Relevant Logical Relations for Name Generation

Pitts and Stark’s ν-calculus is a paradigmatic total language for studying the problem of contextual equivalence in higher-order languages with name generation. Models for the ν-calculus that validate basic equivalences concerning names may be constructed using functor categories or nominal sets, with a dynamic allocation monad used to model computations that may allocate fresh names. 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 longer works. This issue has previously been addressed by using a monad that combines dynamic allocation with continuations, at some cost to abstraction.

[1]  Lars Birkedal,et al.  Type theory via exact categories , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[2]  Martin Hofmann,et al.  Relational semantics for effect-based program transformations with dynamic allocation , 2007, PPDP '07.

[3]  I. Stark,et al.  Operational reasoning for functions with local state , 1999 .

[4]  Gilles Barthe,et al.  Setoids in type theory , 2003, Journal of Functional Programming.

[5]  Martin Hofmann,et al.  Abstract effects and proof-relevant logical relations , 2014, POPL.

[6]  Andrew M. Pitts,et al.  Observable Properties of Higher Order Functions that Dynamically Create Local Names, or What's new? , 1993, MFCS.

[7]  Andre Scedrov,et al.  A Categorical Approach to Realizability and Polymorphic Types , 1987, MFPS.

[8]  Nick Benton,et al.  Relational Reasoning in a Nominal Semantics for Storage , 2005, TLCA.

[9]  Martin Hofmann,et al.  Reading, Writing and Relations , 2006, APLAS.

[10]  Lars Birkedal,et al.  Relational Reasoning for Recursive Types and References , 2006, APLAS.

[11]  Nikos Tzevelekos Program equivalence in a simple language with state , 2012, Comput. Lang. Syst. Struct..

[12]  Andrew M. Pitts,et al.  FreshML: programming with binders made simple , 2003, ICFP '03.

[13]  Nick Benton,et al.  A Mechanized Bisimulation for the Nu-Calculus , 2008 .

[14]  Z. Ésik,et al.  Iteration Theories: The Equational Logic of Iterative Processes , 1993 .

[15]  Mark R. Shinwell The fresh approach: functional programming with names and binders , 2005 .

[16]  Ian David Bede Stark,et al.  Names and higher-order functions , 1994 .

[17]  Andrzej S. Murawski,et al.  Nominal games and full abstraction for the nu-calculus , 2004, LICS 2004.

[18]  Andrew M. Pitts,et al.  On a monadic semantics for freshness , 2005, Theor. Comput. Sci..

[19]  Gordon D. Plotkin,et al.  Lax Logical Relations , 2000, ICALP.

[20]  Andrew M. Pitts,et al.  A New Approach to Abstract Syntax with Variable Binding , 2002, Formal Aspects of Computing.