A Polymorphic Type System for the Lambda-Calculus with Constructors

  • Barbara Petit
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5608)


We present a Curry-style second-order type system with union and intersection types for the lambda-calculus with constructors of Arbiser, Miquel and Rios, an extension of lambda-calculus with a pattern matching mechanism for variadic constructors. To prove the strong normalisation property for this system, we translate well-typed terms in an auxiliary calculus of case-normal forms using the interpretation method. We finally prove the strong normalisation property for the auxiliary calculus using the standard reducibility method.


lambda-calculus polymorphism pattern matching strong normalisation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    The agda proof assistant,
  2. 2.
    Arbiser, A., Miquel, A., Ríos, A.: The lambda-calculus with constructors: Syntax, confluence and separation. To appear in JFP (2009)Google Scholar
  3. 3.
    Barendregt, H.: The Lambda Calculus: Its Syntax and Semantics. Studies in Logic and The Foundations of Mathematics, vol. 103. North-Holland, Amsterdam (1984)zbMATHGoogle Scholar
  4. 4.
    Barthe, G., Cirstea, H., Kirchner, C., Liquori, L.: Pure patterns type systems. In: POPL, pp. 250–261 (2003)Google Scholar
  5. 5.
    Bertot, Y., Castéran, P.: Coq’Art: The Calculus of Inductive Constructions. Texts in Theoretical Computer Science, vol. 25. EATCS (2004)Google Scholar
  6. 6.
    Bondi, a programming language centred on pattern-matching,
  7. 7.
    Cirstea, H., Kirchner, C.: Rho-calculus, its syntax and basic properties. In: 5th International Workshop on Constraints in Computational Logics (1998)Google Scholar
  8. 8.
    Cirstea, H., Kirchner, C., Liquori, L.: The rho cube. In: Honsell, F., Miculan, M. (eds.) FOSSACS 2001. LNCS, vol. 2030, pp. 168–183. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  9. 9.
    Girard, J.-Y.: Locus solum: From the rules of logic to the logic of rules. Mathematical Structures in Computer Science 11(3), 301–506 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Girard, J.-Y., Lafont, Y., Taylor, P.: Proofs and Types. Cambridge University Press, Cambridge (1989)zbMATHGoogle Scholar
  11. 11.
    Hudak, P., Peyton-Jones, S., Wadler, P.: Report on the programming language Haskell, a non-strict, purely functional language (Version 1.2). Sigplan Notices (1992)Google Scholar
  12. 12.
    Jay, C.B.: The pattern calculus. ACM Transactions on Programming Languages and Systems 26(6), 911–937 (2004)CrossRefGoogle Scholar
  13. 13.
    Jay, C.B., Kesner, D.: Pure pattern calculus. In: Sestoft, P. (ed.) ESOP 2006. LNCS, vol. 3924, pp. 100–114. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Leroy, X.: The objective caml system,
  15. 15.
    Milner, R., Tofte, M., Harper, R.: The definition of Standard ML. MIT Press, Cambridge (1990)Google Scholar
  16. 16.
    Mitchell, J.C.: Polymorphic type inference and containment. Inf. Comput. 76(2/3), 211–249 (1988)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Riba, C.: On the stability by union of reducibility candidates. In: Seidl, H. (ed.) FOSSACS 2007. LNCS, vol. 4423, pp. 317–331. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  18. 18.
    Terese. Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Barbara Petit
    • 1
  1. 1.LIP - ENS LyonLyonFrance

Personalised recommendations