Completeness of Bisimilarity for Contextual Equivalence in Linear Theories

In this paper, we develop new variations of methods from operational semantics, and show how to apply these to a linear type theory which has a lazy operational semantics. In particular, we consider how one can establish contextual equivalences in a linear theory with function types and tensor types by instead establishing bisimulations. Thus bisimilarity is sound for contextual equivalence. Further, we show that bisimilarity is complete for contextual equivalence. We shall show that the notion of a program context in the linear setting is non-trivial. In particular, we give a definition of linear context which is amenable to mechanization in a theorem prover, and explain why a more naive approach to dealing with linear contexts would not be so tractable. The central contributions of the paper are: the formulation, in a linear setting, of a good notion of program context and the associated contextual equivalence; an adaptation of Howe’s method; the notion of a linear precongruence; and a proof that bisimilarity is sound and complete for contextual equivalence.

[1]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[2]  Andrew D. Gordon Bisimilarity as a theory of functional programming , 1995, MFPS.

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

[4]  Samson Abramsky,et al.  Computational Interpretations of Linear Logic , 1993, Theor. Comput. Sci..

[5]  Roy L. Crole,et al.  Mechanized Operational Semantics via (Co)Induction , 1999, TPHOLs.

[6]  Andrew M. Pitts,et al.  Parametric polymorphism and operational equivalence , 2000, Mathematical Structures in Computer Science.

[7]  Gilles Kahn,et al.  Natural Semantics , 1987, STACS.

[8]  G. Bierman Observations on a linear PCF (preliminary report) , 1997 .

[9]  Douglas J. Howe Equality in lazy computation systems , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[10]  J. Girard,et al.  Proofs and types , 1989 .

[11]  David Sands,et al.  Operational Theories of Improvement in Functional Languages (Extended Abstract) , 1991, Functional Programming.

[12]  Atsushi Ohori,et al.  A typed context calculus , 2001, Theor. Comput. Sci..

[13]  Roy L. Crole,et al.  Relating operational and denotational semantics for input/output effects , 1999, Math. Struct. Comput. Sci..

[14]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[15]  Nick Benton,et al.  A Term Calculus for Intuitionistic Linear Logic , 1993, TLCA.

[16]  Andrew Donald Gordon,et al.  Functional programming and input/output , 1995 .

[17]  Andrew Pitts,et al.  Semantics and Logics of Computation: Operationally-Based Theories of Program Equivalence , 1997 .

[18]  Bengt Nordström,et al.  Programming in Martin-Löf's Type Theory , 1990 .

[19]  Torben Braüner,et al.  The Girard Translation Extended with Recursion , 1994, CSL.