Intersection Type Systems and Explicit Substitutions Calculi

  • Daniel Lima Ventura
  • Mauricio Ayala-Rincón
  • Fairouz Kamareddine
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6188)


The λ-calculus with de Bruijn indices, called λ dB , assembles each α-class of λ-terms into a unique term, using indices instead of variable names. Intersection types provide finitary type polymorphism satisfying important properties like principal typing, which allows the type system to include features such as data abstraction (modularity) and separate compilation. To be closer to computation and to simplify the formalisation of the atomic operations involved in β-contractions, several explicit substitution calculi were developed most of which are written with de Bruijn indices. Although untyped and simply types versions of explicit substitution calculi are well investigated, versions with more elaborate type systems (e.g., with intersection types) are not. In previous work, we presented a version for λ dB of an intersection type system originally introduced to characterise principal typings for β-normal forms and provided the characterisation for this version. In this work we introduce intersection type systems for two explicit substitution calculi: the λσ and the λs e . These type system are based on a type system for λ dB and satisfy the basic property of subject reduction, which guarantees the preservation of types during computations.


Type System Intersection Type Inference Rule Typing Rule Principal Typing 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ACCL91]
    Abadi, M., Cardelli, L., Curien, P.-L., Lévy, J.-J.: Explicit Substitutions. J. func. program. 1(4), 375–416 (1991)zbMATHCrossRefGoogle Scholar
  2. [AK01]
    Ayala-Rincón, M., Kamareddine, F.: Unification via the λs e-Style of Explicit Substitution. Logical Journal of the IGPL 9(4), 489–523 (2001)zbMATHCrossRefGoogle Scholar
  3. [Bakel95]
    van Bakel, S.: Intersection Type Assignment Systems. Theoret. comput. sci. 151, 385–435 (1995)zbMATHCrossRefMathSciNetGoogle Scholar
  4. [BCD83]
    Barendregt, H., Coppo, M., Dezani-Ciancaglini, M.: A filter lambda model and the completeness of type assignment. J. symbolic logic 48, 931–940 (1983)zbMATHCrossRefMathSciNetGoogle Scholar
  5. [Barendregt84]
    Barendregt, H.: The Lambda Calculus: Its Syntax and Semantics. North-Holland, Amsterdam (1984)zbMATHGoogle Scholar
  6. [deBruijn72]
    de Bruijn, N.G.: Lambda-Calculus Notation with Nameless Dummies, a Tool for Automatic Formula Manipulation, with Application to the Church-Rosser Theorem. Indag. Mat. 34(5), 381–392 (1972)Google Scholar
  7. [deBruijn78]
    de Bruijn, N.G.: A namefree lambda calculus with facilities for internal definition of expressions and segments. T.H.-Report 78-WSK-03, Technische Hogeschool Eindhoven, Nederland (1978)Google Scholar
  8. [CDC78]
    Coppo, M., Dezani-Ciancaglini, M.: A new type assignment for lambda-terms. Archiv für mathematische logik 19, 139–156 (1978)zbMATHCrossRefMathSciNetGoogle Scholar
  9. [CDC80]
    Coppo, M., Dezani-Ciancaglini, M.: An Extension of the Basic Functionality Theory for the λ-Calculus. Notre dame j. formal logic 21(4), 685–693 (1980)zbMATHCrossRefMathSciNetGoogle Scholar
  10. [CDV80]
    Coppo, M., Dezani-Ciancaglini, M., Venneri, B.: Principal Type Schemes and λ-calculus Semantics. In: Seldin, J.P., Hindley, J.R. (eds.) To H.B. Curry: Essays on combinatory logic, lambda calculus and formalism, pp. 536–560. Academic Press, London (1980)Google Scholar
  11. [CF58]
    Curry, H.B., Feys, R.: Combinatory Logic, vol. 1. North-Holland, Amsterdam (1958)zbMATHGoogle Scholar
  12. [DG94]
    Damiani, F., Giannini, P.: A Decidable Intersection Type System based on Relevance. In: Hagiya, M., Mitchell, J.C. (eds.) TACS 1994. LNCS, vol. 789, pp. 707–725. Springer, Heidelberg (1994)Google Scholar
  13. [DHK2000]
    Dowek, G., Hardin, T., Kirchner, C.: Higher-order Unification via Explicit Substitutions. Information and Computation 157(1/2), 183–235 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  14. [Guillaume2000]
    Guillaume, B.: The λse-calculus does not preserve strong normalisation. J. of func. program. 10(4), 321–325 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  15. [Jim96]
    Jim, T.: What are principal typings and what are they good for? In: Proc. of POPL 1995: Symp. on Principles of Programming Languages, pp. 42–53. ACM, New York (1996)Google Scholar
  16. [KN07]
    Kamareddine, F., Nour, K.: A completeness result for a realisability semantics for an intersection type system. Annals pure and appl. logic 146, 180–198 (2007)zbMATHCrossRefMathSciNetGoogle Scholar
  17. [KR95]
    Kamareddine, F., Ríos, A.: A λ-calculus à la de Bruijn with Explicit Substitutions. In: Swierstra, S.D. (ed.) PLILP 1995. LNCS, vol. 982, pp. 45–62. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  18. [KR97]
    Kamareddine, F., Ríos, A.: Extending a λ-calculus with Explicit Substitution which Preserves Strong Normalisation into a Confluent Calculus on Open Terms. J. of Func. Programming 7, 395–420 (1997)zbMATHCrossRefGoogle Scholar
  19. [KW04]
    Kfoury, A.J., Wells, J.B.: Principality and type inference for intersection types using expansion variables. Theoret. comput. sci. 311(1-3), 1–70 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  20. [LLDDvB04]
    Lengrand, S., Lescanne, P., Dougherty, D., Dezani-Ciancaglini, M., van Bakel, S.: Intersection types for explicit substitutions. Inform. and comput. 189(1), 17–42 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  21. [Milner78]
    Milner, R.: A theory of type polymorphism in programming. J. comput. and system sci. 17(3), 348–375 (1978)zbMATHCrossRefMathSciNetGoogle Scholar
  22. [NGdV94]
    Nederpelt, R.P., Geuvers, J.H., de Vrijer, R.C.: Selected papers on Automath. North-Holland, Amsterdam (1994)zbMATHGoogle Scholar
  23. [Pottinger80]
    Pottinger, G.: A type assignment for the strongly normalizable λ-terms. In: Seldin, J.P., Hindley, J.R. (eds.) To H. B. Curry: Essays on combinatory logic, lambda calculus and formalism, pp. 561–578. Academic Press, London (1980)Google Scholar
  24. [RV84]
    Ronchi Della Rocca, S., Venneri, B.: Principal Type Scheme for an Extended Type Theory. Theoret. comput. sci. 28, 151–169 (1984)zbMATHCrossRefMathSciNetGoogle Scholar
  25. [Rocca88]
    Ronchi Della Rocca, S.: Principal Type Scheme and Unification for Intersection Type Discipline. Theoret. comput. sci. 59, 181–209 (1988)zbMATHCrossRefMathSciNetGoogle Scholar
  26. [SM96a]
    Sayag, E., Mauny, M.: Characterization of principal type of normal forms in intersection type system. In: Chandru, V., Vinay, V. (eds.) FSTTCS 1996. LNCS, vol. 1180, pp. 335–346. Springer, Heidelberg (1996)Google Scholar
  27. [SM96b]
    Sayag, E., Mauny, M.: A new presentation of the intersection type discipline through principal typings of normal forms. Tech. rep. RR-2998, INRIA (1996)Google Scholar
  28. [SM97]
    Sayag, E., Mauny, M.: Structural properties of intersection types. In: Proc. of LIRA 1997, pp. 167–175, Novi Sad, Yugoslavia (1997)Google Scholar
  29. [VAK09]
    Ventura, D., Ayala-Rincón, M., Kamareddine, F.: Intersection Type System with de Bruijn Indices. In: The many sides of logic. Studies in logic, vol. 21, pp. 557–576. College publications, London (2009)Google Scholar
  30. [VAK10]
    Ventura, D., Ayala-Rincón, M., Kamareddine, F.: Principal Typings in a Restricted Intersection Type System for Beta Normal Forms with de Bruijn Indices. In: Proc. of WRS 2009. EPTCS, vol. 15, pp. 69–82 (2010)Google Scholar
  31. [Ventura10]
    Ventura, D.: Cálculos de Substituições Explícitas à la de Bruijn com Sistemas de Tipos com Interseção. PhD Thesis Departamento de Matemática, Universidade de Brasília (2010), Online version (in Portuguese), 5, 2010)

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Daniel Lima Ventura
    • 1
  • Mauricio Ayala-Rincón
    • 1
  • Fairouz Kamareddine
    • 2
  1. 1.Grupo de Teoria da ComputaçãoDep. de Matemática Universidade de BrasíliaBrasília D.F.Brasil
  2. 2.School of Mathematical and Computer SciencesHeriot-Watt UniversityEdinburghScotland UK

Personalised recommendations