Abstract
Normal form bisimulation is a powerful theory of program equivalence, originally developed to characterize Lévy-Longo tree equivalence and Boehm tree equivalence. It has been adapted to a range of untyped, higher-order calculi, but types have presented a difficulty. In this paper, we present an account of normal form bisimulation for types, including recursive types. We develop our theory for a continuation-passing style calculus, Jump-With-Argument (JWA), where normal form bisimilarity takes a very simple form. We give a novel congruence proof, based on insights from game semantics. A notable feature is the seamless treatment of eta-expansion. We demonstrate the normal form bisimulation proof principle by using it to establish a syntactic minimal invariance result and the uniqueness of the fixed point operator at each type.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Sangiorgi, D.: The lazy lambda calculus in a concurrency scenario. Information and Computation 111(1), 120–153 (1994)
Jagadeesan, R., Pitcher, C., Riely, J.: Open bisimulation for aspects. In: Intl. Conf. on Aspect-Oriented Software Development, pp. 209–224. ACM Press, New York (2007)
Lassen, S.B.: Bisimulation in untyped lambda calculus: Böhm trees and bisimulation up to context. In: MFPS XV. ENTCS, vol. 20, pp. 346–374. Elsevier, Amsterdam (1999)
Lassen, S.B.: Eager normal form bisimulation. In: 20th LICS, pp. 345–354. IEEE Computer Society Press, Los Alamitos (2005)
Lassen, S.B.: Normal form simulation for McCarty’s amb. In: MFPS XXI. ENTCS, vol. 155, pp. 445–465. Elsevier, Amsterdam (2005)
Lassen, S.B.: Head normal form bisimulation for pairs and the λμ-calculus (extended abstract). In: 21st LICS, pp. 297–306. IEEE Computer Society Press, Los Alamitos (2006)
Støvring, K., Lassen, S.B.: A complete, co-inductive syntactic theory of sequential control and state. In: 34th POPL, pp. 63–74. ACM Press, New York (2007)
Abramsky, S.: The lazy λ-calculus. In: Turner, D. (ed.) Research Topics in Functional Programming, pp. 65–116. Addison-Wesley, Reading (1990)
Gordon, A.D.: Functional Programming and Input/Output. CUP (1994)
Levy, P.B.: Call-By-Push-Value. A Functional/Imperative Synthesis. In: Semantic Struct. in Computation, Springer, Heidelberg (2004)
Levy, P.B.: Adjunction models for call-by-push-value with stacks. Theory and Applications of Categories 14(5), 75–110 (2005)
Merro, M., Biasi, C.: On the observational theory of the CPS calculus. In: MFPS XXII. ENTCS, vol. 158, pp. 307–330. Elsevier, Amsterdam (2006)
Hyland, J.M.E., Ong, C.H.L.: On full abstraction for PCF: I, II, and III. Information and Computation 163(2), 285–408 (2000)
Abramsky, S., McCusker, G.: Call-by-value games. In: Nielsen, M. (ed.) CSL 1997. LNCS, vol. 1414, pp. 1–17. Springer, Heidelberg (1998)
Abramsky, S., Honda, K., McCusker, G.: A fully abstract game semantics for general references. In: 13th LICS, pp. 334–344. IEEE Computer Society Press, Los Alamitos (1998)
Laird, J.: Full abstraction for functional languages with control. In: 12th LICS, pp. 58–67. IEEE Computer Society Press, Los Alamitos (1997)
Ker, A.D., Nickau, H., Ong, C.H.L.: Innocent game models of untyped lambda-calculus. Theoretical Computer Science 272(1-2), 247–292 (2002)
Ker, A.D., Nickau, H., Ong, C.H.L.: Adapting innocent game models for the Böhm tree λ-theory. Theoretical Computer Science 308(1-3), 333–366 (2003)
Ong, C.H.L., Gianantonio, P.D.: Games characterizing Lévy-Longo trees. Theoretical Computer Science 312(1), 121–142 (2004)
Laird, J.: A categorical semantics of higher-order store. In: 9th Conference on Category Theory and Computer Science. ENTCS, vol. 69, Elsevier, Amsterdam (2003)
Curien, P.L., Herbelin, H.: Computing with abstract Böhm trees. In: Fuji International Symposium on Functional and Logic Programming, pp. 20–39 (1998)
Danos, V., Herbelin, H., Regnier, L.: Game semantics and abstract machines. In: 11th LICS, pp. 394–405. IEEE Computer Society Press, Los Alamitos (1996)
Levy, P.B.: Infinite trace equivalence. In: MFPS XXI. ENTCS, vol. 155, pp. 467–496. Elsevier, Amsterdam (2006)
Levy, P.B.: Game semantics using function inventories.Talk given at Geometry of Computation 2006, Marseille (2006)
Laird, J.: A fully abstract trace semantics for general references. In: 34th ICALP. LNCS, vol. 4596, Springer, Heidelberg (2007)
Hyland, J.M.E., Ong, C.H.L.: Pi-calculus, dialogue games and PCF. In: 7th FPCA, pp. 96–107. ACM Press, New York (1995)
Fiore, M.P., Honda, K.: Recursive types in games: Axiomatics and process representation. In: 13th LICS, pp. 345–356. IEEE Computer Society Press, Los Alamitos (1998)
Thielecke, H.: Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh (1997)
Thielecke, H.: Contrasting exceptions and continuations, October 2001 (unpublished)
Barendregt, H.P.: The Lambda Calculus: Its Syntax and Semantics. Revised edn., North-Holland, Amsterdam (1984)
Pitts, A.M.: Relational properties of domains. Information and Computation 127, 66–90 (1996)
Birkedal, L., Harper, R.: Operational interpretations of recursive types in an operational setting (summary). In: Ito, T., Abadi, M. (eds.) TACS 1997. LNCS, vol. 1281, Springer, Heidelberg (1997)
Lassen, S.B.: Relational reasoning about contexts. In: Gordon, A.D., Pitts, A.M. (eds.) Higher Order Operational Techniques in Semantics.CUP, pp. 91–135 (1998)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lassen, S.B., Levy, P.B. (2007). Typed Normal Form Bisimulation. In: Duparc, J., Henzinger, T.A. (eds) Computer Science Logic. CSL 2007. Lecture Notes in Computer Science, vol 4646. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74915-8_23
Download citation
DOI: https://doi.org/10.1007/978-3-540-74915-8_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-74914-1
Online ISBN: 978-3-540-74915-8
eBook Packages: Computer ScienceComputer Science (R0)