A model for formal parametric polymorphism: A per interpretation for system R

  • Roberto Bellucci
  • Martin Abadi
  • Pierre-Louis Curien
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 902)


System R is an extension of system F that formalizes Reynolds' notion of relational parametricity. In system R, considerably more λ-terms can be proved equal than in system F: for example, the encoded weak products of F are strong products in R. Also, many “theorems for free” à la Wadler can be proved formally in R. In this paper we describe a semantics for system R. As a first step, we give a precise and general reconstruction of the per model of system F of Bainbridge et al., presenting it as a categorical model in the sense of Seely. Then we interpret system R in this model.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ACC93]
    M. Abadi, L. Cardelli, and P.-L. Curien. Formal parametric polymorphism. In A Collection of Contributions in Honour of Corrado Böhm on the Occasion of his 70th Birthday, volume 121 of Thoretical Computer Science, pages 9–58, 1993. An early version appeared in the Proceedings of the 20th Ann. ACM Sump. on Principles of Programming Languages.Google Scholar
  2. [AM92]
    A. Asperti and S. Martini. Categorical models of polymorphism. Information and Computation, 99:1–79, 1992.CrossRefGoogle Scholar
  3. [Bar84]
    H.P. Barendregt. The Lambda Calculus. Its Syntax and Semantics. Number 103 in Studies in Logic and the Foundations of Mathematics. North-Holland, 1984. Revised edition.Google Scholar
  4. [BFSS90]
    E.S. Bainbridge, P. Freyd, A. Scedrov, and P.J. Scott. Functorial polymorphism. Theoretical Computer Science, 70:35–64, 1990.CrossRefGoogle Scholar
  5. [Gir72]
    J.-Y. Girard. Interprétation fonctionnelle et élimination des coupures dans l'arithmétique d'ordre supérieur. Thèse de Doctorat d'Etat, Université Paris VII, 1972.Google Scholar
  6. [Law69]
    F.W. Lawvere. Adjointness in foundations. Dialectica, 23(3–4):281–296, 1969.Google Scholar
  7. [Mit90]
    J.C. Mitchell. A type-inference approach to reduction properties and semantics of polymorphic expressions. In G. Huet, editor, Logical Foundations of Functional Programming, Reading, MA, USA, pages 195–212. Addison-Wesley, 1990.Google Scholar
  8. [PA93]
    G. Plotkin and M. Abadi. A logic for parametric polymorphism. In Proceedings of the International Conference on Typed Lambda Calculi and Applications, March 1993, Utrecht, NL, Number 664 in Lecture Notes in Computer Science, pages 361–375. Springer-Verlag, 1993.Google Scholar
  9. [Rey83]
    J.C. Reynolds. Types, abstraction and parametric polymorphism. In R.E.A. Mason, editor, INFORMATION PROCESSING '83, pages 513–523. Elsevier Science Publishers B.V.North-Holland, 1983.Google Scholar
  10. [See87]
    R.A.G. Seely. Categorical semantics for higher order polymorphic lambda calculus. The Journal of Symbolic Logic, 52(4):969–989, December 1987.Google Scholar
  11. [Str67]
    C. Strachey. Fundamental concepts in programming languages. Lecture Notes, International Summer School in Programming Languages, Copenhagen, Denmark, Unpublished, August 1967.Google Scholar
  12. [Wad89]
    P. Wadler. Theorems for free! In Proceedings of the Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 347–359. ACM press, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Roberto Bellucci
    • 1
    • 3
  • Martin Abadi
    • 2
  • Pierre-Louis Curien
    • 1
  1. 1.Département de Mathématiques et Informatique de l'Ecole Normale SupérieureLIENS, CNRSParisFrance
  2. 2.Systems Research CenterDigital Equipment CorporationPalo AltoUSA
  3. 3.Dipartimento di MatematicaSienaItaly

Personalised recommendations