Environmental bisimulations for probabilistic higher-order languages

Environmental bisimulations for probabilistic higher-order languages are studied. In contrast with applicative bisimulations, environmental bisimulations are known to be more robust and do not require sophisticated techniques such as Howe’s in the proofs of congruence. As representative calculi, call-by-name and call-by-value λ- calculus, and a (call-by-value) λ-calculus extended with references (i.e., a store) are considered. In each case full abstraction results are derived for probabilistic environmental similarity and bisimilarity with respect to contextual preorder and contextual equivalence, respectively. Some possible enhancements of the (bi)simulations, as ‘up-to techniques’, are also presented. Probabilities force a number of modifications to the definition of environmental bisimulations in non-probabilistic languages. Some of these modifications are specific to probabilities, others may be seen as general refinements of environmental bisimulations, applicable also to non-probabilistic languages. Several examples are presented, to illustrate the modifications and the differences.

[1]  Eijiro Sumii,et al.  A Higher-Order Distributed Calculus with Name Creation , 2012, 2012 27th Annual IEEE Symposium on Logic in Computer Science.

[2]  Paul Blain Levy,et al.  From Applicative to Environmental Bisimulation , 2011, MFPS.

[3]  Radha Jagadeesan,et al.  Open bisimulation for aspects , 2007, LNCS Trans. Aspect Oriented Softw. Dev..

[4]  Vincent Danos,et al.  Probabilistic game semantics , 2002, TOCL.

[5]  Jean Goubault-Larrecq Full abstraction for non-deterministic and probabilistic extensions of PCF I: The angelic cases , 2015, J. Log. Algebraic Methods Program..

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

[7]  Glynn Winskel,et al.  Relational Reasoning about Functions and Nondeterminism , 1999 .

[8]  John C. Mitchell,et al.  Foundations for programming languages , 1996, Foundation of computing series.

[9]  Douglas J. Howe Proving Congruence of Bisimulation in Functional Programming Languages , 1996, Inf. Comput..

[10]  Ugo Dal Lago,et al.  Probabilistic operational semantics for the lambda calculus , 2011, RAIRO Theor. Informatics Appl..

[11]  Davide Sangiorgi The Lazy Lambda Calculus in a Concurrency Scenario , 1994, Inf. Comput..

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

[13]  Andrew Pitts,et al.  Advanced Topics in Bisimulation and Coinduction: Howe's method for higher-order languages , 2011 .

[14]  Davide Sangiorgi,et al.  Bisimulation in name-passing calculi without matching , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[15]  Ugo Dal Lago,et al.  On Probabilistic Applicative Bisimulation and Call-by-Value λ-Calculi , 2014, ESOP.

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

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

[18]  Ugo Dal Lago,et al.  On Applicative Similarity, Sequentiality, and Full Abstraction , 2015, Correct System Design.

[19]  Samson Abramsky,et al.  The Lazy λ−Calculus , 1990 .

[20]  Dariusz Biernacki,et al.  Environmental Bisimulations for Delimited-Control Operators , 2013, APLAS.

[21]  Lars Birkedal,et al.  Step-Indexed Logical Relations for Probability , 2015, FoSSaCS.

[22]  Robin Milner,et al.  Pure bigraphs: Structure and dynamics , 2006, Inf. Comput..

[23]  Paul Blain Levy,et al.  Typed Normal Form Bisimulation , 2007, CSL.

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

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

[26]  Soren Lassen Relational reasoning about contexts , 1997 .

[27]  Martín Abadi,et al.  A Bisimulation Method for Cryptographic Protocols , 1998, Nord. J. Comput..

[28]  Ugo Dal Lago,et al.  On coinductive equivalences for higher-order probabilistic functional programs , 2013, POPL.

[29]  Andrew M. Pitts,et al.  Howe's method for higher-order languages , 2012, Advanced Topics in Bisimulation and Coinduction.

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

[31]  David Sands From SOS rules to proof principles: an operational metatheory for functional languages , 1997, POPL '97.

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

[33]  Benjamin C. Pierce,et al.  A bisimulation for type abstraction and recursion , 2005, POPL '05.

[34]  Eijiro Sumii,et al.  The Higher-Order, Call-by-Value Applied Pi-Calculus , 2009, APLAS.

[35]  Eijiro Sumii,et al.  Sound Bisimulations for Higher-Order Distributed Process Calculus , 2011, FoSSaCS.

[36]  Davide Sangiorgi,et al.  Enhancements of the bisimulation proof method , 2012, Advanced Topics in Bisimulation and Coinduction.

[37]  Chung-Kil Hur,et al.  The marriage of bisimulations and Kripke logical relations , 2012, POPL '12.

[38]  Thomas Ehrhard,et al.  Probabilistic coherence spaces are fully abstract for probabilistic PCF , 2014, POPL.

[39]  Martin Odersky,et al.  Call-by-name, Call-by-value, Call-by-need and the Linear lambda Calculus , 1999, Theor. Comput. Sci..