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.
Similar content being viewed by others
References
Abramsky S., Ong L.: Full abstraction in the lazy lambda calculus. Inf. Comput. 105, 159–267 (1993)
Appel A.: Compiling with Continuations. Cambridge University Press, Cambridge (1992)
Barendregt, H.: The Lambda Calculus: Its Syntax and Semantics, Studies in Logic, vol. 103, Revised edn. North Holland, Amsterdam (1984)
Berry, G.: Some syntactic and categorical constructions of lambda calculus models. Technical Report RR-80, INRIA-Sophia Antipolis (1981)
Fischer, M.J.: Lambda-calculus schemata. In: Proceedings of ACM Conference on Proving Assertions about Programs, pp. 104–109. SIGPLAN Notice 7(1) (1972)
Führmann C., Thielecke H.: On the call-by-Value CPS transform and its semantics. Inf. Comput. 188(2), 241–283 (2004)
Gordon A.D.: Bisimilarity as a theory of functional programming. Theor. Comput. Sci. 228, 5–47 (1999)
Koutavas, V., Wand, M.: Small bisimulations for reasoning about higher-order imperative programs. In: Proceedings of 33rd POPL, pp. 141–152. ACM Press (2006)
Lassen, S.B.: Relational reasoning about contexts. In: Higher Order Operational Techniques in Semantics, pp. 91–135. Cambridge University Press (1998)
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)
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)
Lassen, S.B.: Eager normal form bisimulation. In: Proceedings of 20th LICS, pp. 345–354. IEEE Computer Society (2005)
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)
Longo G.: Set theoretical models of lambda calculus: theory, expansions and isomorphisms. Ann. Pure Appl. Logic 24, 153–188 (1983)
Merro M., Sangiorgi D.: On asynchrony in name-passing calculi. J. Math. Struct. Comput. Sci. 14, 715–767 (2004)
Milner R.: Fully abstract models of typed lambda calculus. Theor. Comput. Sci. 4, 1–22 (1977)
Milner R.: Communication and Concurrency. Prentice Hall, Englewood Cliffs (1989)
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)
Milner, R., Sangiorgi, D.: Barbed bisimulation. In: Proceedings of 19th ICALP, LNCS, vol. 623, pp. 685–695. Springer (1992)
Morris, J.: Lambda-calculus Models of Programming Languages. PhD thesis, Massachusetts Institute of Technology (1968)
Park, D.M.: Concurrency on automata and infinite sequences. In: Deussen, P. (ed.) Conference on Theoretical Computer Science, LNCS, vol. 104. Springer (1981)
Pitts, A.M.: An Extension of Howe’s Construction to Yield Simulation-up-to-context Results. Unpublished Manuscript (1995)
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)
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)
Plotkin G.D.: Call by name, call by value and the λ-calculus. Theor. Comput. Sci. 1, 125–159 (1975)
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)
Sangiorgi D.: Bisimulation for higher-order process calculi. Inf. Comput. 131(2), 141–178 (1996)
Sangiorgi D.: On the bisimulation proof method. J. Math. Struct. Comput. Sci. 8, 447–479 (1998)
Sangiorgi, D., Milner, R.: The problem of “Weak Bisimulation up to”. In: Proceedings of CONCUR ’92, LNCS, vol. 630, pp. 32–46. Springer (1992)
Sangiorgi D., Walker D.: The π-calculus: A Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)
Steele, G.: RABBIT: A compiler for SCHEME. Technical Report AITR-474, MIT Artificial Intelligence Laboratory (1978)
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)
Strachey, C., Wadsworth, P.: Continuations: A mathematical semantics for handling full jumps. Technical Report PRG-11, Oxford University Computing Laboratory, Programming Research Group (1974)
Strachey C., Wadsworth P.: Continuations: a mathematical semantics for handling full jumps. High. Order Symb. Comput. 13(1/2), 135–152 (2000)
Sullivan, G.T.: An Extensional MetaLanguage with I/O and a Dynamic Store. PhD thesis, Northeastern University (1996)
Talcott, C.: Reasoning about functions with effects. In: Higher Order Operational Techniques in Semantics, pp. 347–390. Cambridge University Press (1998)
Thielecke, H.: Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh (1997). Also available as technical report ECS-LFCS-97-376
Weijland, W.P.: Synchrony and Asynchrony in Process Algebra. PhD thesis, University of Amsterdam (1989)
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00236-009-0112-9