skip to main content
article

A complete, co-inductive syntactic theory of sequential control and state

Published:17 January 2007Publication History
Skip Abstract Section

Abstract

We present a new co-inductive syntactic theory, eager normal form bisimilarity, for the untyped call-by-value lambda calculus extended with continuations and mutable references.We demonstrate that the associated bisimulation proof principle is easy to use and that it is a powerful tool for proving equivalences between recursive imperative higher-order programs.The theory is modular in the sense that eager normal form bisimilarity for each of the calculi extended with continuations and/or mutable references is a fully abstract extension of eager normal form bisimilarity for its sub-calculi. For each calculus, we prove that eager normal form bisimilarity is a congruence and is sound with respect to contextual equivalence. Furthermore, for the calculus with both continuations and mutable references, we show that eager normal form bisimilarity is complete: it coincides with contextual equivalence.

References

  1. S. Abramsky. The lazy lambda calculus. In D. Turner, editor, Research Topics in Functional Programming, pages 65--116. Addison-Wesley, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Abramsky, K. Honda, and G. McCusker. A fully abstract game semantics for general references. In Proc. 13th Annual IEEE Symposium on Logic in Computer Science, pages 334--344, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Z. M. Ariola and H. Herbelin. Minimal classical logic and control operators. In ICALP, volume 2719 of Lecture Notes in Computer Science, pages 871--885. Springer-Verlag, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. H. P. Barendregt. The Lambda Calculus: Its Syntax and Semantics. Number 103 in Studies in Logic and the Foundations of Mathematics. North-Holland, revised edition, 1984.Google ScholarGoogle Scholar
  5. G. M. Bierman. A computational interpretation of the lambda-mu calculus. In L. Brim, J. Gruska, and J. Zlatuska, editors, Proc. 23rd Mathematical Foundations of Computer Science, Brno, Czech Republic, volume 1450, pages 336--345. Springer-Verlag, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. R. David and W. Py. λμ-calculus and Böhm's theorem. Journal of Symbolic Logic, 66(1):407--413, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  7. L. Egidi, F. Honsell, and S. Ronchi della Rocca. Operational, denotational and logical descriptions: a case study. Fundamenta Informaticae, 16(2):149--169, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Felleisen and R. Hieb. The revised report on the syntactic theories of sequential control and state. Theoretical Computer Science, 103:235--271, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. P. Friedman and C. T. Haynes. Constraining control. In Proc. 12th ACM Symposium on Principles of Programming Languages, pages 245--254, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. D. Gordon. Bisimilarity as a theory of functional programming. Theoretical Computer Science, 228(1--2):5--47, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. D. Gordon and A. M. Pitts, editors. Higher Order Operational Techniques in Semantics. Publications of the Newton Institute. Cambridge University Press, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. P. de Groote. On the relation between the λμ-calculus and the syntactic theory of sequential control. In LPAR '94, volume 822 of Lecture Notes in Artificial Intelligence, pages 31--43. Springer-Verlag, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. V. Koutavas and M. Wand. Small bisimulations for reasoning about higher-order imperative programs. In Proc. 33rd ACM Symposium on Principles of Programming Languages, pages 141--152, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Laird. Full abstraction for functional languages with control. In Proc. 12th Annual IEEE Symposium on Logic in Computer Science, pages 58--67, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. P. J. Landin. The mechanical evaluation of expressions. The Computer Journal, 6(4):308--320, 1964.Google ScholarGoogle ScholarCross RefCross Ref
  16. S. B. Lassen. Bisimulation up to context for imperative lambda calculus. Unpublished note. Presented at emphThe Semantic Challenge of Object-Oriented Programming, Schloss Dagstuhl, 1998.Google ScholarGoogle Scholar
  17. S. B. Lassen. Relational reasoning about contexts. In Gordon and Pitts citeHOOTS:95, pages 91--135. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. B. Lassen. Bisimulation in untyped lambda calculus: Böhm trees and bisimulation up to context. In MFPS XV, volume 20 of Electronic Notes in Theoretical Computer Science, pages 346--374. Elsevier, 1999.Google ScholarGoogle Scholar
  19. S. B. Lassen. Eager normal form bisimulation. In Proc. 20th Annual IEEE Symposium on Logic in Computer Science, pages 345--354, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. B. Lassen. Normal form simulation for McCarty's amb. In MFPS XXI, volume 155 of Electronic Notes in Theoretical Computer Science, pages 445--465. Elsevier, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. S. B. Lassen. Head normal form bisimulation for pairs and the λμ-calculus (extended abstract). In Proc. 21th Annual IEEE Symposium on Logic in Computer Science, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. P. B. Levy. Game semantics using function inventories. Talk given at emphGeometry of Computation 2006, Marseille, 2006.Google ScholarGoogle Scholar
  23. I. A. Mason and C. L. Talcott. Equivalence in functional languages with effects. Journal of Functional Programming, 1(3):297--327, 1991.Google ScholarGoogle ScholarCross RefCross Ref
  24. M. Merro and C. Biasi. On the observational theory of the CPS-calculus (extended abstract). In Proc. 22nd Conference on Mathematical Foundations of Programming Semantics, volume 158 of Electronic Notes in Theoretical Computer Science, pages 307--330. Elsevier, 2006.Google ScholarGoogle Scholar
  25. A. R. Meyer and K. Sieber. Towards fully abstract semantics for local variables: Preliminary report. In Proc. 15th ACM Symposium on Principles of Programming Languages, San Diego, CA, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. M. Parigot. λμ-calculus: An algorithmic interpretation of classical natural deduction. In A. Voronkov, editor, Proceedings Intl. Conf. on Logic Programming and Automated Reasoning, LPAR'92, St Petersburg, volume 624 of Lecture Notes in Computer Science, pages 190--201. Springer-Verlag, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. R. P. Perez. An extensional partial combinatory algebra based on λ-terms. In A. Tarlecki, editor, Proc. Mathematical Foundations of Computer Science, volume 520 of Lecture Notes in Computer Science, pages 387--396. Springer-Verlag, 1991.Google ScholarGoogle Scholar
  28. A. M. Pitts. Reasoning about local variables with operationally-based logical relations. In P. W. O'Hearn and R. D. Tennent, editors, Algol-Like Languages, volume 2, chapter 17, pages 173--193. Birkhauser, 1997. Reprinted from emphProceedings Eleventh Annual IEEE Symposium on Logic in Computer Science, 1996, pp 152--163. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. A. M. Pitts and I. D. B. Stark. Operational reasoning for functions with local state. In Gordon and Pitts citeHOOTS:95, pages 227--273. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. E. Ritter and A. M. Pitts. A fully abstract translation between a λ-calculus with reference types and Standard ML. In Proc. 2nd International Conference on Typed Lambda Calculus and Applications, Edinburgh, volume 902 of Lecture Notes in Computer Science. Springer-Verlag, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. D. Sangiorgi. The lazy lambda calculus in a concurrency scenario. Information and Computation, 111(1):120--153, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. E. Sumii and B. C. Pierce. A bisimulation for type abstraction and recursion. In Proc. 32nd ACM Symposium on Principles of Programming Languages, pages 63--74, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. C. Talcott. Reasoning about functions with effects. In Gordon and Pitts citeHOOTS:95, pages 347--390. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. M. Wand and G. T. Sullivan. Denotational semantics using an operationally-based term model. In Proc. 24th ACM Symposium on Principles of Programming Languages, pages 386--399, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A complete, co-inductive syntactic theory of sequential control and state

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 42, Issue 1
            Proceedings of the 2007 POPL Conference
            January 2007
            379 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/1190215
            Issue’s Table of Contents
            • cover image ACM Conferences
              POPL '07: Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
              January 2007
              400 pages
              ISBN:1595935754
              DOI:10.1145/1190216

            Copyright © 2007 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 17 January 2007

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!