Skip to main content
Log in

On the observational theory of the CPS-calculus

  • Original Article
  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract

We apply powerful proof-techniques of concurrency theory to study the observational theory of Thielecke’s CPS-calculus, a distillation of the target language of Continuation-Passing Style transforms. We define a labelled transition system from which we derive a (weak) labelled bisimilarity that completely characterises Morris’ context-equivalence. We prove a context lemma showing that Morris’ context-equivalence coincides with a simpler context-equivalence closed under a smaller class of contexts. Then we profit of the determinism of the CPS-calculus to give a simpler labelled characterisation of Morris’ equivalence, in the style of Abramsky’s applicative bisimilarity. We enhance our bisimulation proof-methods with up to bisimilarity and up to context proof techniques. We use our bisimulation proof techniques to investigate a few algebraic properties on diverging terms that cannot be proved using the original axiomatic semantics of the CPS-calculus.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abramsky S., Ong L.: Full abstraction in the lazy lambda calculus. Inf. Comput. 105, 159–267 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  2. Appel A.: Compiling with Continuations. Cambridge University Press, Cambridge (1992)

    Google Scholar 

  3. Barendregt, H.: The Lambda Calculus: Its Syntax and Semantics, Studies in Logic, vol. 103, Revised edn. North Holland, Amsterdam (1984)

  4. Berry, G.: Some syntactic and categorical constructions of lambda calculus models. Technical Report RR-80, INRIA-Sophia Antipolis (1981)

  5. Fischer, M.J.: Lambda-calculus schemata. In: Proceedings of ACM Conference on Proving Assertions about Programs, pp. 104–109. SIGPLAN Notice 7(1) (1972)

  6. Führmann C., Thielecke H.: On the call-by-Value CPS transform and its semantics. Inf. Comput. 188(2), 241–283 (2004)

    Article  MATH  Google Scholar 

  7. Gordon A.D.: Bisimilarity as a theory of functional programming. Theor. Comput. Sci. 228, 5–47 (1999)

    Article  MATH  Google Scholar 

  8. Koutavas, V., Wand, M.: Small bisimulations for reasoning about higher-order imperative programs. In: Proceedings of 33rd POPL, pp. 141–152. ACM Press (2006)

  9. Lassen, S.B.: Relational reasoning about contexts. In: Higher Order Operational Techniques in Semantics, pp. 91–135. Cambridge University Press (1998)

  10. Lassen, S.B.: Bisimulation in untyped lambda calculus: Böhm trees and bisimulation up to context. In: Proceedings of 15th MFPS, vol. 20 of Electronic Notes in Theoretical Computer Science (1999)

  11. Lassen, S.B., Levy, P.B.: Typed normal form bisimulation. In: Proceedings of 21st CSL, Lecture Notes in Computer Science, vol. 4646, pp. 283–297 (2007)

  12. Lassen, S.B.: Eager normal form bisimulation. In: Proceedings of 20th LICS, pp. 345–354. IEEE Computer Society (2005)

  13. Lévy J.J.: An algebraic interpretation of the λβκ-calculus; and an application of a labelled λ-calculus. Theor. Comput. Sci. 2(1), 97–114 (1976)

    Article  MATH  Google Scholar 

  14. Longo G.: Set theoretical models of lambda calculus: theory, expansions and isomorphisms. Ann. Pure Appl. Logic 24, 153–188 (1983)

    Article  MATH  MathSciNet  Google Scholar 

  15. Merro M., Sangiorgi D.: On asynchrony in name-passing calculi. J. Math. Struct. Comput. Sci. 14, 715–767 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  16. Milner R.: Fully abstract models of typed lambda calculus. Theor. Comput. Sci. 4, 1–22 (1977)

    Article  MATH  MathSciNet  Google Scholar 

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

    MATH  Google Scholar 

  18. Milner, R.: The polyadic π-calculus: a tutorial. Technical Report ECS–LFCS–91–180, LFCS, Department of Computer Science, Edinburgh University, October 1991. Also in Bauer, F.L., Brauer, W., Schwichtenberg, H. (eds.) Logic and Algebra of Specification. Springer (1993)

  19. Milner, R., Sangiorgi, D.: Barbed bisimulation. In: Proceedings of 19th ICALP, LNCS, vol. 623, pp. 685–695. Springer (1992)

  20. Morris, J.: Lambda-calculus Models of Programming Languages. PhD thesis, Massachusetts Institute of Technology (1968)

  21. Park, D.M.: Concurrency on automata and infinite sequences. In: Deussen, P. (ed.) Conference on Theoretical Computer Science, LNCS, vol. 104. Springer (1981)

  22. Pitts, A.M.: An Extension of Howe’s Construction to Yield Simulation-up-to-context Results. Unpublished Manuscript (1995)

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

  24. Pitts, A.M.: Reasoning about local variables with operationally-based logical relations. In: O’Hearn, P.W., Tennent, R.D. (eds.) Algol-Like Languages, vol. 2, chap. 17, pp. 173–193. Birkhauser (1997). Reprinted from Proceedings 11th Annual IEEE Symposium on Logic in Computer Science, pp. 152–163, Brunswick (July 1996)

  25. Plotkin G.D.: Call by name, call by value and the λ-calculus. Theor. Comput. Sci. 1, 125–159 (1975)

    Article  MATH  MathSciNet  Google Scholar 

  26. Sands, D.: From SOS rules to proof principles: an operational metatheory for functional languages. In: Proceedings of 24th POPL, pp. 428–441. ACM Press (1997)

  27. Sangiorgi D.: Bisimulation for higher-order process calculi. Inf. Comput. 131(2), 141–178 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  28. Sangiorgi D.: On the bisimulation proof method. J. Math. Struct. Comput. Sci. 8, 447–479 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  29. Sangiorgi, D., Milner, R.: The problem of “Weak Bisimulation up to”. In: Proceedings of CONCUR ’92, LNCS, vol. 630, pp. 32–46. Springer (1992)

  30. Sangiorgi D., Walker D.: The π-calculus: A Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)

    Google Scholar 

  31. Steele, G.: RABBIT: A compiler for SCHEME. Technical Report AITR-474, MIT Artificial Intelligence Laboratory (1978)

  32. Støvring, K., Lassen, S. B.: A complete, co-inductive syntactic theory of sequential control and state. In: Proceedings of 34th POPL, pp. 161–172. ACM Press (2007)

  33. Strachey, C., Wadsworth, P.: Continuations: A mathematical semantics for handling full jumps. Technical Report PRG-11, Oxford University Computing Laboratory, Programming Research Group (1974)

  34. Strachey C., Wadsworth P.: Continuations: a mathematical semantics for handling full jumps. High. Order Symb. Comput. 13(1/2), 135–152 (2000)

    Article  MATH  Google Scholar 

  35. Sullivan, G.T.: An Extensional MetaLanguage with I/O and a Dynamic Store. PhD thesis, Northeastern University (1996)

  36. Talcott, C.: Reasoning about functions with effects. In: Higher Order Operational Techniques in Semantics, pp. 347–390. Cambridge University Press (1998)

  37. Thielecke, H.: Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh (1997). Also available as technical report ECS-LFCS-97-376

  38. Weijland, W.P.: Synchrony and Asynchrony in Process Algebra. PhD thesis, University of Amsterdam (1989)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Massimo Merro.

Additional information

A preliminary extended abstract of this article appeared in the Proceedings of the 22nd International Conference on the Mathematical Foundations of Program Semantics, Electronic Notes in Theoretical Computer Science 158:307–330, Elsevier, 2006.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Merro, M. On the observational theory of the CPS-calculus. Acta Informatica 47, 111–132 (2010). https://doi.org/10.1007/s00236-009-0112-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00236-009-0112-9

Keywords

Navigation