Skip to main content

Logical Bisimulations and Functional Languages

  • Conference paper
International Symposium on Fundamentals of Software Engineering (FSEN 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4767))

Included in the following conference series:

Abstract

Developing a theory of bisimulation in higher-order languages can be hard. Particularly challenging can be the proof of congruence and, related to this, enhancements of the bisimulation proof method with ”up-to context” techniques.

We present logical bisimulations, a form of bisimulation for higherorder languages, in which the bisimulation clause is somehow reminiscent of logical relations. We consider purely functional languages, in particular untyped call-by-name and call-by-value lambda-calculi, and, in each case: we present the basic properties of logical bisimilarity, including congruence; we show that it coincides with contextual equivalence; we develop some up-to techniques, including up-to context, as examples of possible enhancements of the associated bisimulation method.

Sangiorgi’s research was partially supported by european FET project Sensoria and italian MIUR Project n. 2005015785, “Logical Foundations of Distributed Systems and Mobile Code”.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Morris, Jr., J.H.: Lambda-Calculus Models of Programming Languages. PhD thesis, Massachusetts Institute of Technology (1968)

    Google Scholar 

  2. Abramsky, S.: The lazy lambda calculus. In: Turner, D.A. (ed.) Research Topics in Functional Programming, pp. 65–117. Addison-Wesley, Reading (1990)

    Google Scholar 

  3. Gordon, A.D.: Functional Programming and Input/Output. PhD thesis, University of Cambridge (1993)

    Google Scholar 

  4. Gordon, A.D., Rees, G.D.: Bisimilarity for a first-order calculus of objects with subtyping. In: Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 386–395. ACM Press, New York (1996)

    Chapter  Google Scholar 

  5. Pitts, A.: Operationally-based theories of program equivalence. In: Pitts, A.M., Dybjer, P. (eds.) Semantics and Logics of Computation. Publications of the Newton Institute, pp. 241–298. Cambridge University Press, Cambridge (1997)

    Google Scholar 

  6. Sands, D.: Improvement theory and its applications. In: Gordon, A.D., Pitts, A.M. (eds.) Higher Order Operational Techniques in Semantics. Publications of the Newton Institute, pp. 275–306. Cambridge University Press, Cambridge (1998)

    Google Scholar 

  7. Lassen, S.B.: Relational Reasoning about Functions and Nondeterminism. PhD thesis, Department of Computer Science, University of Aarhus (1998)

    Google Scholar 

  8. Jeffrey, A., Rathke, J.: Towards a theory of bisimulation for local names. In: 14th Annual IEEE Symposium on Logic in Computer Science, pp. 56–66. IEEE Computer Society Press, Los Alamitos (1999)

    Google Scholar 

  9. Sumii, E., Pierce, B.C.: A bisimulation for type abstraction and recursion. In: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 63–74. ACM Press, New York (2005)

    Google Scholar 

  10. Howe, D.J.: Proving congruence of bisimulation in functional programming languages. Information and Computation 124(2), 103–112 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  11. Ferreira, W., Hennessy, M., Jeffrey, A.: A theory of weak bisimulation for core CML. Journal of Functional Programming 8(5), 447–491 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  12. Godskesen, J.C., Hildebrandt, T.: Extending Howe’s method to early bisimulations for typed mobile embedded resources with local names. In: Ramanujam, R., Sen, S. (eds.) FSTTCS 2005. LNCS, vol. 3821, pp. 140–151. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  13. Koutavas, V., Wand, M.: Small bisimulations for reasoning about higher-order imperative programs. In: Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 141–152. ACM Press, New York (2006)

    Google Scholar 

  14. Mitchell, J.C.: Foundations for Programming Languages. MIT Press, Cambridge (1996)

    Google Scholar 

  15. Pitts, A.: Typed operational reasoning. In: Pierce, B.C. (ed.) Advanced Topics in Types and Programming Languages, pp. 245–289. MIT Press, Cambridge (2005)

    Google Scholar 

  16. Birkedal, L., Harper, R.: Relational interpretations of recursive types in an operational setting. Information and Computation 155(1–2), 3–63 (1999) Summary appeared in TACS 1997, LNCS, vol. 1281, pp. 458–490. Springer, Heidelberg (1997)

    Google Scholar 

  17. Crary, K., Harper, R.: Syntactic logical relations for polymorphic and recursive types. In: Computation, Meaning, and Logic: Articles dedicated to Gordon Plotkin. ENTCS, vol. 172, pp. 259–299. Elsevier Science, Amsterdam (2007)

    Google Scholar 

  18. Appel, A.W., McAllester, D.: An indexed model of recursive types for foundational proof-carrying code. ACM Transactions on Programming Languages and Systems 23(5), 657–683 (2001)

    Article  Google Scholar 

  19. Ahmed, A.: Step-indexed syntactic logical relations for recursive and quantified types. In: 15th European Symposium on Programming, pp. 69–83 (2006)

    Google Scholar 

  20. Ahmed, A., Appel, A.W., Virga, R.: An indexed model of impredicative polymorphism and mutable references (2003), http://www.cs.princeton.edu/~amal/papers/impred.pdf

  21. Sumii, E., Pierce, B.C.: Logical relations for encryption. Journal of Computer Security 11(4), 521–554 (2003) (extended abstract appeared) In: 14th IEEE Computer Security Foundations Workshop, pp. 256–269 (2001)

    Google Scholar 

  22. Sumii, E., Pierce, B.C.: A bisimulation for dynamic sealing. Theoretical Computer Science 375(1–3), 169–192 (2007) (extended abstract appeared) In: Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 161–172 (2004)

    Google Scholar 

  23. Sangiorgi, D., Kobayashi, N., Sumii, E.: Environmental bisimulations for higher-order languages. In: 22nd Annual IEEE Symposium on Logic in Computer Science, IEEE Computer Society Press, Los Alamitos (2007)

    Google Scholar 

  24. Sangiorgi, D.: On the origins of bisimulation, coinduction, and fixed points. Draft (May 2007)

    Google Scholar 

  25. Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  26. Lassen, S.B.: Relational reasoning about contexts. In: Gordon, A.D., Pitts, A.M. (eds.) Higher Order Operational Techniques in Semantics. Publications of the Newton Institute, pp. 91–135. Cambridge University Press, Cambridge (1998)

    Google Scholar 

  27. Boreale, M., Sangiorgi, D.: Bisimulation in name-passing calculi without matching. In: 13th Annual IEEE Symposium on Logic in Computer Science, pp. 165–175. IEEE Computer Society Press, Los Alamitos (1998)

    Google Scholar 

  28. Pierce, B.C., Sangiorgi, D.: Behavioral equivalence in the polymorphic pi-calculus. Journal of the ACM 47(3), 531–586 (2000) (extended abstract appeared) In: Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 531–584 (1997)

    Google Scholar 

  29. Boreale, M., De Nicola, R., Pugliese, R.: Proof techniques for cryptographic processes. SIAM Journal on Computing 31(3), 947–986(2002) (preliminary version appeared) In: 14th Annual IEEE Symposium on Logic in Computer Science, pp. 157–166 (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Farhad Arbab Marjan Sirjani

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sangiorgi, D., Kobayashi, N., Sumii, E. (2007). Logical Bisimulations and Functional Languages. In: Arbab, F., Sirjani, M. (eds) International Symposium on Fundamentals of Software Engineering. FSEN 2007. Lecture Notes in Computer Science, vol 4767. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75698-9_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-75698-9_24

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-75697-2

  • Online ISBN: 978-3-540-75698-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics