Applicative May- and Should-Simulation in the Call-by-Value Lambda Calculus with AMB

  • Manfred Schmidt-Schauß
  • David Sabel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8560)


Motivated by the question whether sound and expressive applicative similarities for program calculi with should-convergence exist, this paper investigates expressive applicative similarities for the untyped call-by-value lambda-calculus extended with McCarthy’s ambiguous choice operator amb. Soundness of the applicative similarities w.r.t. contextual equivalence based on may- and should-convergence is proved by adapting Howe’s method to should-convergence. As usual for nondeterministic calculi, similarity is not complete w.r.t. contextual equivalence which requires a rather complex counter example as a witness. Also the call-by-value lambda-calculus with the weaker nondeterministic construct erratic choice is analyzed and sound applicative similarities are provided. This justifies the expectation that also for more expressive and call-by-need higher-order calculi there are sound and powerful similarities for should-convergence.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abramsky, S.: The lazy lambda calculus. In: Turner, D.A. (ed.) Research Topics in Functional Programming, pp. 65–116. Addison-Wesley (1990)Google Scholar
  2. 2.
    Broy, M.: A theory for nondeterminism, parallelism, communication, and concurrency. Theoret. Comput. Sci. 45, 1–61 (1986)CrossRefzbMATHMathSciNetGoogle Scholar
  3. 3.
    Carayol, A., Hirschkoff, D., Sangiorgi, D.: On the representation of McCarthy’s amb in the pi-calculus. Theoret. Comput. Sci. 330(3), 439–473 (2005)CrossRefzbMATHMathSciNetGoogle Scholar
  4. 4.
    Davey, B., Priestley, H.: Introduction to Lattices and Order. Cambridge University Press, Cambridge (1992)Google Scholar
  5. 5.
    Fournet, C., Gonthier, G.: A hierarchy of equivalences for asynchronous calculi. J. Log. Algebr. Program. 63(1), 131–173 (2005)CrossRefzbMATHMathSciNetGoogle Scholar
  6. 6.
    Gordon, A.D.: Bisimilarity as a theory of functional programming. Theoret. Comput. Sci. 228(1-2), 5–47 (1999)CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Howe, D.: Equality in lazy computation systems. In: 4th IEEE Symp. on Logic in Computer Science, pp. 198–203 (1989)Google Scholar
  8. 8.
    Howe, D.: Proving congruence of bisimulation in functional programming languages. Inform. and Comput. 124(2), 103–112 (1996)CrossRefzbMATHMathSciNetGoogle Scholar
  9. 9.
    Laneve, C.: On testing equivalence: May and must testing in the join-calculus. Technical Report Technical Report UBLCS 96-04, University of Bologna (1996)Google Scholar
  10. 10.
    Lassen, S.B.: Normal form simulation for McCarthy’s amb. Electr. Notes Theor. Comput. Sci. 155, 445–465 (2006)CrossRefGoogle Scholar
  11. 11.
    Lassen, S.B., Moran, A.: Unique fixed point induction for McCarthy’s amb. In: Kutyłowski, M., Wierzbicki, T., Pacholski, L. (eds.) MFCS 1999. LNCS, vol. 1672, pp. 198–208. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  12. 12.
    Lassen, S.B., Pitcher, C.S.: Similarity and bisimilarity for countable non-determinism and higher-order functions. Electron. Notes Theor. Comput. Sci. 10 (2000)Google Scholar
  13. 13.
    Lassen, S.B.: Relational Reasoning about Functions and Nondeterminism. PhD thesis, University of Aarhus (1998)Google Scholar
  14. 14.
    Levy, P.B.: Amb breaks well-pointedness, ground amb doesn’t. Electron. Notes Theor. Comput. Sci. 173(1), 221–239 (2007)CrossRefGoogle Scholar
  15. 15.
    Mann, M.: Congruence of bisimulation in a non-deterministic call-by-need lambda calculus. Electron. Notes Theor. Comput. Sci. 128(1), 81–101 (2005)CrossRefGoogle Scholar
  16. 16.
    Mann, M., Schmidt-Schauß, M.: Similarity implies equivalence in a class of non-deterministic call-by-need lambda calculi. Inform. and Comput. 208(3), 276–291 (2010)CrossRefzbMATHMathSciNetGoogle Scholar
  17. 17.
    Mason, I., Talcott, C.L.: Equivalence in functional languages with effects. J. Funct. Programming 1(3), 287–327 (1991)CrossRefzbMATHMathSciNetGoogle Scholar
  18. 18.
    McCarthy, J.: A Basis for a Mathematical Theory of Computation. In: Braffort, P., Hirschberg, D. (eds.) Computer Programming and Formal Systems, pp. 33–70. North-Holland, Amsterdam (1963)CrossRefGoogle Scholar
  19. 19.
    Moran, A.K.D.: Call-by-name, call-by-need, and McCarthy’s Amb. PhD thesis, Chalmers University, Sweden (1998)Google Scholar
  20. 20.
    Niehren, J., Sabel, D., Schmidt-Schauß, M., Schwinghammer, J.: Observational semantics for a concurrent lambda calculus with reference cells and futures. Electron. Notes Theor. Comput. Sci. 173, 313–337 (2007)CrossRefGoogle Scholar
  21. 21.
    Ong, C.H.L.: Non-determinism in a functional setting. In: Vardi, M.Y. (ed.) Proc. 8th IEEE Symposium on Logic in Computer Science, pp. 275–286. IEEE Computer Society Press (1993)Google Scholar
  22. 22.
    Pitts, A.M.: Howe’s method for higher-order languages. In: Sangiorgi, D., Rutten, J. (eds.) Advanced Topics in Bisimulation and Coinduction. Cambridge Tracts in Theoretical Computer Science, ch. 5, pp. 197–232. Cambridge University Press (2011)Google Scholar
  23. 23.
    Rensink, A., Vogler, W.: Fair testing. Inform. and Comput. 205(2), 125–198 (2007)CrossRefzbMATHMathSciNetGoogle Scholar
  24. 24.
    Sabel, D., Schmidt-Schauß, M.: A call-by-need lambda-calculus with locally bottom-avoiding choice: Context lemma and correctness of transformations. Math. Structures Comput. Sci. 18(3), 501–553 (2008)CrossRefzbMATHMathSciNetGoogle Scholar
  25. 25.
    Sabel, D., Schmidt-Schauß, M.: A contextual semantics for Concurrent Haskell with futures. In: Schneider-Kamp, P., Hanus, M. (eds.) Proc. 13th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, pp. 101–112. ACM (2011)Google Scholar
  26. 26.
    Sabel, D., Schmidt-Schauß, M.: Conservative concurrency in Haskell. In: Dershowitz, N. (ed.) Proc. 27th ACM/IEEE Symposium on Logic in Computer Science (LICS 2012), pp. 561–570. IEEE Computer Society (2012)Google Scholar
  27. 27.
    Schmidt-Schauß, M., Sabel, D.: Correctness of an STM Haskell implementation. In: Morrisett, G., Uustalu, T. (eds.) Proc. 18th ACM SIGPLAN International Conference on Functional Programming, pp. 161–172. ACM (2013)Google Scholar
  28. 28.
    Schmidt-Schauß, M., Sabel, D.: Applicative may- and should-simulation in the call-by-value lambda calculus with amb. Frank report 54. Inst. f. Informatik, Goethe-University, Frankfurt (2014),
  29. 29.
    Schmidt-Schauß, M., Sabel, D., Machkasova, E.: Counterexamples to applicative simulation and extensionality in non-deterministic call-by-need lambda-calculi with letrec. Inf. Process. Lett. 111(14), 711–716 (2011)CrossRefzbMATHGoogle Scholar
  30. 30.
    Koutavas, V., Levy, P.B., Sumii, E.: Limitations of applicative bisimulation. In: Modelling, Controlling and Reasoning about State. Dagstuhl Seminar Proceedings, vol. 10351 (2010)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Manfred Schmidt-Schauß
    • 1
  • David Sabel
    • 1
  1. 1.Goethe UniversityFrankfurtGermany

Personalised recommendations