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]  Benjamin C. Pierce,et al.  A bisimulation for dynamic sealing , 2007, Theor. Comput. Sci..

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

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

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

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

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

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

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

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

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

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

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

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

[14]  D. Sangiorgi Introduction to Bisimulation and Coinduction , 2011 .

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

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

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

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

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

[20]  Dariusz Biernacki,et al.  Environmental Bisimulations for Delimited-Control Operators with Dynamic Prompt Generation , 2016, FSCD.

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

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

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

[24]  Ugo Dal Lago,et al.  Metric reasoning about λ-terms: The affine case , 2015, 2015 30th Annual ACM/IEEE Symposium on Logic in Computer Science.

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

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

[27]  Radha Jagadeesan,et al.  The metric analogue of weak bisimulation for probabilistic processes , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

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

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

[30]  François Laviolette,et al.  Approximate Analysis of Probabilistic Processes: Logic, Simulation and Games , 2008, 2008 Fifth International Conference on Quantitative Evaluation of Systems.

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

[32]  James H. Morris,et al.  Lambda-calculus models of programming languages. , 1969 .

[33]  Martin Odersky,et al.  Call-by-name, call-by-value, call-by-need and the linear lambda calculus , 1995, MFPS.

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

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

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

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

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

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

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

[41]  Nicolas Tabareau,et al.  Kripke Open Bisimulation - A Marriage of Game Semantics and Operational Techniques , 2015, APLAS.

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

[43]  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).

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

[45]  Chung-Kil Hur,et al.  Pilsner: a compositionally verified compiler for a higher-order imperative language , 2015, ICFP.