Advertisement

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)

Abstract

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.

Keywords

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [ACCL91]
    Abadi, M., Cardelli, L., Curien, P.-L., Lévy, J.-J.: Explicit Substitutions. J. func. program. 1(4), 375–416 (1991)MATHCrossRefGoogle 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)MATHCrossRefGoogle Scholar
  3. [Bakel95]
    van Bakel, S.: Intersection Type Assignment Systems. Theoret. comput. sci. 151, 385–435 (1995)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefMathSciNetGoogle Scholar
  5. [Barendregt84]
    Barendregt, H.: The Lambda Calculus: Its Syntax and Semantics. North-Holland, Amsterdam (1984)MATHGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHGoogle 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)MATHCrossRefMathSciNetGoogle Scholar
  14. [Guillaume2000]
    Guillaume, B.: The λse-calculus does not preserve strong normalisation. J. of func. program. 10(4), 321–325 (2000)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefGoogle 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)MATHCrossRefMathSciNetGoogle 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)MATHCrossRefMathSciNetGoogle Scholar
  21. [Milner78]
    Milner, R.: A theory of type polymorphism in programming. J. comput. and system sci. 17(3), 348–375 (1978)MATHCrossRefMathSciNetGoogle Scholar
  22. [NGdV94]
    Nederpelt, R.P., Geuvers, J.H., de Vrijer, R.C.: Selected papers on Automath. North-Holland, Amsterdam (1994)MATHGoogle 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)MATHCrossRefMathSciNetGoogle Scholar
  25. [Rocca88]
    Ronchi Della Rocca, S.: Principal Type Scheme and Unification for Intersection Type Discipline. Theoret. comput. sci. 59, 181–209 (1988)MATHCrossRefMathSciNetGoogle 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), http://ventura.mat.unb.br(March 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