Typed Normal Form Bisimulation

  • Soren B. Lassen
  • Paul Blain Levy
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4646)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Sangiorgi, D.: The lazy lambda calculus in a concurrency scenario. Information and Computation 111(1), 120–153 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    Lassen, S.B.: Eager normal form bisimulation. In: 20th LICS, pp. 345–354. IEEE Computer Society Press, Los Alamitos (2005)Google Scholar
  5. 5.
    Lassen, S.B.: Normal form simulation for McCarty’s amb. In: MFPS XXI. ENTCS, vol. 155, pp. 445–465. Elsevier, Amsterdam (2005)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    Abramsky, S.: The lazy λ-calculus. In: Turner, D. (ed.) Research Topics in Functional Programming, pp. 65–116. Addison-Wesley, Reading (1990)Google Scholar
  9. 9.
    Gordon, A.D.: Functional Programming and Input/Output. CUP (1994)Google Scholar
  10. 10.
    Levy, P.B.: Call-By-Push-Value. A Functional/Imperative Synthesis. In: Semantic Struct. in Computation, Springer, Heidelberg (2004)Google Scholar
  11. 11.
    Levy, P.B.: Adjunction models for call-by-push-value with stacks. Theory and Applications of Categories 14(5), 75–110 (2005)zbMATHMathSciNetGoogle Scholar
  12. 12.
    Merro, M., Biasi, C.: On the observational theory of the CPS calculus. In: MFPS XXII. ENTCS, vol. 158, pp. 307–330. Elsevier, Amsterdam (2006)Google Scholar
  13. 13.
    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)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Abramsky, S., McCusker, G.: Call-by-value games. In: Nielsen, M. (ed.) CSL 1997. LNCS, vol. 1414, pp. 1–17. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    Laird, J.: Full abstraction for functional languages with control. In: 12th LICS, pp. 58–67. IEEE Computer Society Press, Los Alamitos (1997)Google Scholar
  17. 17.
    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)zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    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)zbMATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Ong, C.H.L., Gianantonio, P.D.: Games characterizing Lévy-Longo trees. Theoretical Computer Science 312(1), 121–142 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Laird, J.: A categorical semantics of higher-order store. In: 9th Conference on Category Theory and Computer Science. ENTCS, vol. 69, Elsevier, Amsterdam (2003)Google Scholar
  21. 21.
    Curien, P.L., Herbelin, H.: Computing with abstract Böhm trees. In: Fuji International Symposium on Functional and Logic Programming, pp. 20–39 (1998)Google Scholar
  22. 22.
    Danos, V., Herbelin, H., Regnier, L.: Game semantics and abstract machines. In: 11th LICS, pp. 394–405. IEEE Computer Society Press, Los Alamitos (1996)Google Scholar
  23. 23.
    Levy, P.B.: Infinite trace equivalence. In: MFPS XXI. ENTCS, vol. 155, pp. 467–496. Elsevier, Amsterdam (2006)Google Scholar
  24. 24.
    Levy, P.B.: Game semantics using function inventories.Talk given at Geometry of Computation 2006, Marseille (2006)Google Scholar
  25. 25.
    Laird, J.: A fully abstract trace semantics for general references. In: 34th ICALP. LNCS, vol. 4596, Springer, Heidelberg (2007)Google Scholar
  26. 26.
    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)CrossRefGoogle Scholar
  27. 27.
    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)Google Scholar
  28. 28.
    Thielecke, H.: Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh (1997)Google Scholar
  29. 29.
    Thielecke, H.: Contrasting exceptions and continuations, October 2001 (unpublished)Google Scholar
  30. 30.
    Barendregt, H.P.: The Lambda Calculus: Its Syntax and Semantics. Revised edn., North-Holland, Amsterdam (1984)Google Scholar
  31. 31.
    Pitts, A.M.: Relational properties of domains. Information and Computation 127, 66–90 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  32. 32.
    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)CrossRefGoogle Scholar
  33. 33.
    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)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Soren B. Lassen
    • 1
  • Paul Blain Levy
    • 2
  1. 1.Google, Inc. 
  2. 2.University of BirminghamU.K.

Personalised recommendations