Advertisement

Reductions, intersection types, and explicit substitutions

  • Dan Doughertyy
  • Pierre Lescanne
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2044)

Abstract

The λ-calculus plays a key role in the foundations of logic and of programming language design, and in the implementation of logics and languages as well. The foundation of λ-calculus itself is β-conversion, which relates the primitive notions of abstraction and application in terms of substitution. Classical λ-calculus treats substitution as an atomic operation, but in the presence of variablebinding substitution it is a complex operation to define and to implement. So a more careful analysis is required if one is to reason about the correctness of compilers, theorem provers, or proof-checkers. Furthermore the actual cost of performing substitution should be considered when reasoning about complexity of implementations.

References

  1. 1.
    M. Abadi, L. Cardelli, P.-L. Curien, and J.-J. Lévy. Explicit substitutions. Journal of Functional Programming, 1(4):375–416, 1991.zbMATHMathSciNetCrossRefGoogle Scholar
  2. 2.
    H. P. Barendregt. The Lambda-Calculus, its syntax and semantics. Studies in Logic and the Foundation of Mathematics. Elsevier, Amsterdam, 1984. Second edition.Google Scholar
  3. 3.
    H. P. Barendregt. Lambda calculi with types. In S. Abramsky, D. M. Gabby, and T. S. E. Maibaum, editors, Handbook of Logic in Computer Science, volume 2, chapter 2, pages 117–309. Oxford University Press, 1992.Google Scholar
  4. 4.
    Z. Benaissa, D. Briaud, P. Lescanne, and J. Rouyer-Degli. λν, a calculus of explicit substitutions which preserves strong normalisation. Journal of Functional Programming, 6(5):699–722, September 1996.zbMATHMathSciNetGoogle Scholar
  5. 5.
    Z. Benaissa, P. Lescanne, and K. H. Rose. Modeling sharing and recursion for weak reduction strategies using explicit substitution. In H. Kuchen and D. Swierstra, editors, PLILP’ 96—8th Int. Symp. on Programming Languages: Implementation, Logics and Programs, number 1140 in LNCS, pages 393–407, Aachen, Germany, September 1996. Springer-Verlag.Google Scholar
  6. 6.
    R. Bloo. Preservation of Termination for Explicit Substitution. PhD thesis, Technische Universiteit Eindhoven, 1997. IPA Dissertation Series 1997-05.Google Scholar
  7. 7.
    R. Bloo and J. H. Geuvers. Explicit substitution: on the edge of strong normalization. Theoretical Computer Science, 211:375–395, 1999.zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    R. Bloo and K. H. Rose. Preservation of strong normalisation in named lambda calculi with explicit substitution and garbage collection. In CSN’ 95—Computing Science in the Netherlands, pages 62–72, Utrecht, November 1995.Google Scholar
  9. 9.
    E. Bonelli. Perpetuality in a named lambda calculus with explicit substitutions and some applications. Technical Report RR 1221, LRI, University of Paris-Sud, 1999. to appear in MSCS, 2000.Google Scholar
  10. 10.
    F. Cardone and M. Coppo. Two extension of Curry’s type inference system. In P. Odifreddi, editor, Logic and Computer Science, volume 31 of APIC Series, pages 19–75. Academic Press, New York, NY, 1990.Google Scholar
  11. 11.
    P.-L. Curien, T. Hardin, and J.-J. Lévy. Confluence properties of weak and strong calculi of explicit substitutions. Journal of the ACM, 43(2):362–397, March 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    H. B Curry and R. Feys. Combinatory Logic I. North-Holland, Amsterdam, 1958.Google Scholar
  13. 13.
    R. Di Cosmo and D. Kesner. Strong normalization of explicit substitutions via cut elimination in proof nets. In LICS’ 97—Twelfth Annual IEEE Symposium on Logic in Computer Science, pages 35–46. Warsaw U., IEEE, June 1997.Google Scholar
  14. 14.
    F. Kamareddine and A. Ríos. Relating the lambda-sigma and lambda-s styles of explicit substitutions. Journal of Logic and Computation, 10(3), 2000. Special issue on Type Theory and Term Rewriting.Google Scholar
  15. 15.
    F. Kamereddine and R.P. Nederpelt. On stepwise explicit substitutions. International Journal of Foundations of Computer Science, 4(3):197–240, 1993.CrossRefMathSciNetGoogle Scholar
  16. 16.
    P. Lescanne. From λσ to λν: a journey through calculi of explicit substitutions. In Hans-J. Boehm, editor, POPL’ 94—21st Annual ACM Symposium on Principles of Programming Languages, pages 60–69, Portland, Oregon, January 1994. ACM.Google Scholar
  17. 17.
    P.-A. Melliès. Typed λ-calculi with explicit substitution may not terminate. In M. Dezani, editor, TLCA’ 95—Int. Conf. on Typed Lambda Calculus and Applications, volume 902 of LNCS, pages 328–334, Edinburgh, Scotland, April 1995. Springer-Verlag.CrossRefGoogle Scholar
  18. 18.
    P.-A. Melliés. Axiomatic rewriting theory III, a factorisation theorem in rewriting theory. In Proceedings of the 7th Conference on Category Theory and Computer Science, volume 1290 of LNCS, pages 49–68. Springer-Verlag, 1997.CrossRefGoogle Scholar
  19. 19.
    J. C. Mitchell. Foundations for Programming Languages. MIT Press, Cambridge, MA, 1996.Google Scholar
  20. 20.
    E. Ritter. Characterising explicit substitutions which preserve termination. In TLCA’99, volume 1581 of LNCS. Springer-Verlag, 1999.Google Scholar
  21. 21.
    K.H. Rose. Operational Reduction Models for Functional Programming Languages. PhD thesis, DIKU, Kobenhavn, February 1996. DIKU report 96/1.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Dan Doughertyy
    • 1
  • Pierre Lescanne
    • 2
  1. 1.Department of Mathematics and Computer ScienceWesleyan UniversityMiddletownUSA
  2. 2.Laboratoire de l’Informatique du Parallélismeécole Normale Supérieure de LyonLyon 07France

Personalised recommendations