A Mechanized Bisimulation for the Nu-Calculus

We introduce a Sumii-Pierce-Koutavas-Wand-style bisimulation for Pitts and Stark’s nu-calculus, a simply-typed lambda calculus with fresh name generation. This bisimulation coincides with contextual equivalence and provides a usable and elementary method for establishing all the subtle equivalences given by Stark [11]. We also describe the formalization of soundness and of the examples in the Coq proof assistant.

[1]  Davide Sangiorgi,et al.  Locality and Interleaving Semantics in Calculi for Mobile Processes , 1996, Theor. Comput. Sci..

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

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

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

[5]  Mitchell Wand,et al.  Denotational semantics using an operationally-based term model , 1997, POPL '97.

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

[7]  Benjamin C. Pierce,et al.  A bisimulation for dynamic sealing , 2007, Theor. Comput. Sci..

[8]  Brian Postow Book review: A Theory of Objects by Martin Abadi and Luca Cardelli (Springer-Verlag, 1996): Series--Monographs in Computer Science , 1999, SIGA.

[9]  Søren B. Lassen,et al.  A complete, co-inductive syntactic theory of sequential control and state , 2007, POPL '07.

[10]  Eugenio Moggi,et al.  Notions of Computation and Monads , 1991, Inf. Comput..

[11]  Andrew D. Gordon,et al.  Bisimilarity for a first-order calculus of objects with subtyping , 1996, POPL '96.

[12]  P. A. Golub,et al.  Properties of the , 1984 .

[13]  Peter W. O'Hearn,et al.  Relational parametricity and local variables , 1993, POPL '93.

[14]  Jerzy Tiuryn,et al.  Untyped Lambda-Calculus with Input-Output , 1996, CAAP.

[15]  Robin Milner,et al.  Algebraic laws for nondeterminism and concurrency , 1985, JACM.

[16]  Davide Sangiorgi,et al.  Towards an algebraic theory of typed mobile processes , 2006, Theor. Comput. Sci..

[17]  Yu Zhang,et al.  Logical Relations for Dynamic Name Creation , 2003, CSL.

[18]  Ian Stark Categorical models for local names , 1996, LISP Symb. Comput..

[19]  S. Abramsky The lazy lambda calculus , 1990 .

[20]  Søren B. Lassen,et al.  Eager normal form bisimulation , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[21]  Davide Sangiorgi,et al.  On the bisimulation proof method , 1998, Mathematical Structures in Computer Science.

[22]  Robin Milner,et al.  The Problem of "Weak Bisimulation up to" , 1992, CONCUR.

[23]  Kristian Støvring,et al.  A Complete, Co-Inductive Syntactic Theory of Sequential Control and State , 2007 .

[24]  C.-H. Luke Ong,et al.  Homer: A Higher-Order Observational Equivalence Model checkER , 2009, CAV.

[25]  Peter W. O'Hearn,et al.  Parametricity and local variables , 1995, JACM.

[26]  Martín Abadi,et al.  A Theory of Objects , 1996, Monographs in Computer Science.

[27]  John C. Reynolds,et al.  The essence of ALGOL , 1997 .

[28]  Mitchell Wand,et al.  Bisimulations for Untyped Imperative Objects , 2006, ESOP.

[29]  Davide Sangiorgi,et al.  Environmental Bisimulations for Higher-Order Languages , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

[30]  Davide Sangiorgi,et al.  Behavioral equivalence in the polymorphic pi-calculus , 2000, JACM.

[31]  Davide Sangiorgi,et al.  Behavioral equivalence in the polymorphic pi-calculus , 1997, POPL '97.

[32]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[33]  Frank J. Oles,et al.  Type Algebras, Functor Categories, and Block Structure , 1986 .

[34]  James Laird A game semantics of names and pointers , 2008, Ann. Pure Appl. Log..

[35]  Julian Rathke,et al.  Towards a theory of bisimulation for local names , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[36]  Pierre Castéran,et al.  Interactive Theorem Proving and Program Development , 2004, Texts in Theoretical Computer Science An EATCS Series.

[37]  M. Wand,et al.  Reasoning About Class Behavior , 2006 .

[38]  Mitchell Wand,et al.  Small bisimulations for reasoning about higher-order imperative programs , 2006, POPL '06.

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

[40]  Davide Sangiorgi,et al.  Environmental Bisimulations for Higher-Order Languages , 2007, LICS.

[41]  Davide Sangiorgi,et al.  Logical bisimulations and functional languages , 2007, FSEN'07.

[42]  Andrew W. Appel,et al.  An indexed model of recursive types for foundational proof-carrying code , 2001, TOPL.

[43]  Albert R. Meyer,et al.  Towards fully abstract semantics for local variables , 1988, POPL '88.

[44]  Benjamin C. Pierce,et al.  Mechanized Metatheory for the Masses: The PoplMark Challenge , 2005, TPHOLs.

[45]  Arthur Charguéraud,et al.  Engineering formal metatheory , 2008, POPL '08.

[46]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[47]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

[48]  Christian Urban Nominal Techniques in Isabelle/HOL , 2008, Journal of Automated Reasoning.

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