Behavioral Equivalences for Higher-Order Languages with Probabilities

Higher-order languages, whose paradigmatic example is the λ-calculus, are languages with powerful operators that are capable of manipulating and exchanging programs themselves. This thesis studies behavioral equivalences for programs with higher-order and probabilistic features. Behavioral equivalence is formalized as a contextual, or testing, equivalence, and two main lines of research are pursued in the thesis. The first part of the thesis focuses on contextual equivalence as a way of investigating the expressiveness of different languages. The discriminating powers offered by higher- order concurrent languages (Higher-Order π-calculi) are compared with those offered by higher-order sequential languages (a la λ-calculus) and by first-order concurrent languages (a la CCS). The comparison is carried out by examining the contextual equivalences induced by the languages on two classes of first-order processes, namely nondeterministic and probabilistic processes. As a result, the spectrum of the discriminating powers of several varieties of higher-order and first-order languages is obtained, both in a nondeterministic and in a probabilistic setting. The second part of the thesis is devoted to proof techniques for contextual equivalence in probabilistic λ-calculi. Bisimulation-based proof techniques are studied, with particular focus on deriving bisimulations that are fully abstract for contextual equivalence (i.e., coincide with it). As a first result, full abstraction of applicative bisimilarity and similarity are proved for a call-by-value probabilistic λ-calculus with a parallel disjunction operator. Applicative bisimulations are however known not to scale to richer languages. Hence, more robust notions of bisimulations for probabilistic calculi are considered, in the form of environmental bisimulations. Environmental bisimulations are defined for pure call- by-name and call-by-value probabilistic λ-calculi, and for a (call-by-value) probabilistic λ-calculus extended with references (i.e., a store). In each case, full abstraction results are derived.

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

[2]  Rocco De Nicola,et al.  Relating strong behavioral equivalences for processes with nondeterminism and probabilities , 2013, Theor. Comput. Sci..

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

[4]  Noah D. Goodman The principles and practice of probabilistic programming , 2013, POPL.

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

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

[7]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

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

[9]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[10]  Matias David Lee,et al.  Probabilistic Transition System Specification: Congruence and Full Abstraction of Bisimulation , 2012, FoSSaCS.

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

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

[13]  Davide Sangiorgi,et al.  Expressing mobility in process algebras : first-order and higher-order paradigms , 1993 .

[14]  Alan Schmitt,et al.  Howe's Method for Calculi with Passivation , 2009, CONCUR.

[15]  Rocco De Nicola,et al.  Basic Observables for Processes , 1999, Inf. Comput..

[16]  Norman Ramsey,et al.  Stochastic lambda calculus and monads of probability distributions , 2002, POPL '02.

[17]  Alan Schmitt,et al.  Normal Bisimulations in Calculi with Passivation , 2009, FoSSaCS.

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

[19]  Robin Milner,et al.  Barbed Bisimulation , 1992, ICALP.

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

[21]  Davide Sangiorgi,et al.  On the discriminating power of passivation and higher-order interaction , 2014, CSL-LICS.

[22]  Erik P. de Vink,et al.  Probabilistic Automata: System Types, Parallel Composition and Comparison , 2004, Validation of Stochastic Systems.

[23]  Carroll Morgan,et al.  Characterising Testing Preorders for Finite Probabilistic Processes , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

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

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

[26]  Peter Beike,et al.  The Definition Of Standard Ml Revised , 2016 .

[27]  Yuxin Deng,et al.  Probabilistic Barbed Congruence , 2007, QAPL.

[28]  C.-H. Luke Ong,et al.  Full Abstraction in the Lazy Lambda Calculus , 1993, Inf. Comput..

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

[30]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[31]  Falk Bartels,et al.  GSOS for Probabilistic Transition Systems , 2002, CMCS.

[32]  J.F.A.K. van Benthem,et al.  Modal logic and classical logic , 1983 .

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

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

[35]  Wang Yi,et al.  Compositional testing preorders for probabilistic processes , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

[36]  Abbas Edalat,et al.  Bisimulation for Labelled Markov Processes , 2002, Inf. Comput..

[37]  Christel Baier,et al.  Domain equations for probabilistic processes , 2000, Mathematical Structures in Computer Science.

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

[39]  Avi Pfeffer,et al.  IBAL: A Probabilistic Rational Programming Language , 2001, IJCAI.

[40]  Kim G. Larsen,et al.  Bisimulation through Probabilistic Testing , 1991, Inf. Comput..

[41]  Marta Z. Kwiatkowska,et al.  A Testing Equivalence for Reactive Probabilistic Processes , 1998, EXPRESS.

[42]  N. Saheb-Djahromi,et al.  Probabilistic LCF , 1978, International Symposium on Mathematical Foundations of Computer Science.

[43]  Rocco De Nicola,et al.  Extensional equivalences for transition systems , 1987, Acta Informatica.

[44]  Thomas T. Hildebrandt,et al.  Extending Howe's Method to Early Bisimulations for Typed Mobile Embedded Resources with Local Names , 2005, FSTTCS.

[45]  Carroll Morgan,et al.  Testing Finitary Probabilistic Processes , 2009, CONCUR.

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

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

[48]  Samson Abramsky,et al.  Observation Equivalence as a Testing Equivalence , 1987, Theor. Comput. Sci..

[49]  Ohad Kammar,et al.  Semantics for probabilistic programming: higher-order functions, continuous distributions, and soft constraints , 2016, 2016 31st Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

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

[51]  Matthew Hennessy Exploring probabilistic bisimulations, part I , 2012, Formal Aspects of Computing.

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

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

[54]  Ugo Dal Lago,et al.  A lambda-calculus foundation for universal probabilistic programming , 2015, ICFP.

[55]  Iain Phillips,et al.  Refusal Testing , 1986, Theoretical Computer Science.

[56]  Claire Jones,et al.  Probabilistic non-determinism , 1990 .

[57]  Jan Friso Groote,et al.  Structured Operational Semantics and Bisimulation as a Congruence , 1992, Inf. Comput..

[58]  Peter Aczel,et al.  Non-well-founded sets , 1988, CSLI lecture notes series.

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

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

[61]  Rocco De Nicola,et al.  Testing Equivalences for Processes , 1984, Theor. Comput. Sci..

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

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

[64]  Roberto Segala,et al.  Modeling and verification of randomized distributed real-time systems , 1996 .

[65]  C.-H. Luke Ong,et al.  Non-determinism in a functional setting , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[66]  Marco Bernardo,et al.  Disjunctive Probabilistic Modal Logic is Enough for Bisimilarity on Reactive Probabilistic Systems , 2016, ICTCS.

[67]  Alan Schmitt,et al.  The Kell Calculus: A Family of Higher-Order Distributed Process Calculi , 2004, Global Computing.

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

[69]  Roberto Segala,et al.  Testing Probabilistic Automata , 1996, CONCUR.

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

[71]  Ugo de'Liguoro,et al.  Non Deterministic Extensions of Untyped Lambda-Calculus , 1995, Inf. Comput..

[72]  Wang Yi,et al.  Testing Probabilistic and Nondeterministic Processes , 1992, PSTV.

[73]  Lu Tian,et al.  On some equivalence relations for probabilistic processes , 1992, Fundamenta Informaticae.

[74]  Simone Tini,et al.  Probabilistic bisimulation as a congruence , 2009, TOCL.

[75]  Bart Jacobs,et al.  An introduction to (co)algebra and (co)induction , 2011, Advanced Topics in Bisimulation and Coinduction.

[76]  Dariusz Biernacki,et al.  Environmental Bisimulations for Delimited-Control Operators with Dynamic Prompt Generation , 2017, Log. Methods Comput. Sci..

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

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

[79]  Scott A. Smolka,et al.  Equivalences, Congruences, and Complete Axiomatizations for Probabilistic Processes , 1990, CONCUR.

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

[81]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

[82]  Jan Vitek,et al.  The Seal Calculus , 2005, Inf. Comput..

[83]  Viktor Vafeiadis,et al.  Acute: high-level programming language design for distributed computation , 2005, ICFP '05.

[84]  Joël Ouaknine,et al.  Domain theory, testing and simulation for labelled Markov processes , 2005, Theor. Comput. Sci..

[85]  Alan Schmitt,et al.  Characterizing contextual equivalence in calculi with passivation , 2011, Inf. Comput..

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

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

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

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

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

[91]  Alan Schmitt,et al.  The m-calculus: a higher-order distributed process calculus , 2003, POPL '03.

[92]  Nancy A. Lynch,et al.  Probabilistic Simulations for Probabilistic Processes , 1994, Nord. J. Comput..

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

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

[95]  Albert R. Meyer,et al.  Bisimulation can't be traced , 1988, POPL '88.

[96]  Yuxin Deng,et al.  Semantics of Probabilistic Processes , 2014, Springer Berlin Heidelberg.

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

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

[99]  Rocco De Nicola,et al.  Revisiting Trace and Testing Equivalences for Nondeterministic and Probabilistic Processes , 2012, FoSSaCS.

[100]  Carroll Morgan,et al.  Remarks on Testing Probabilistic Processes , 2007, Computation, Meaning, and Logic.

[101]  Matthew Hennessy,et al.  Symbolic Bisimulation for a Higher-Order Distributed Language with Passivation - (Extended Abstract) , 2013, CONCUR.

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

[103]  R. V. Glabbeek The Linear Time-Branching Time Spectrum I The Semantics of Concrete , Sequential ProcessesR , 2007 .

[104]  Yuxin Deng,et al.  Logical, Metric, and Algorithmic Characterisations of Probabilistic Bisimulation , 2011, ArXiv.

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

[106]  Wang Yi,et al.  Testing and Refinement for Nondeterministic and Probabilistic Processes , 1994, FTRTFT.

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

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

[109]  Davide Sangiorgi,et al.  Environmental Bisimulations for Probabilistic Higher-order Languages , 2019, ACM Trans. Program. Lang. Syst..

[110]  Kim Guldstrand Larsen,et al.  Specification and refinement of probabilistic processes , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[111]  Bent Thomsen,et al.  Plain CHOCS A second generation calculus for higher order processes , 2005, Acta Informatica.

[112]  Davide Sangiorgi,et al.  On the origins of bisimulation and coinduction , 2009, TOPL.

[113]  Davide Sangiorgi,et al.  On the Discriminating Power of Testing Equivalences for Reactive Probabilistic Systems: Results and Open Problems , 2014, QEST.

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

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

[116]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

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