Skip to main content

A logic for parametric polymorphism

  • Conference paper
  • First Online:
Typed Lambda Calculi and Applications (TLCA 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 664))

Included in the following conference series:

Abstract

In this paper we introduce a logic for parametric polymorphism. Just as LCF is a logic for the simply-typed λ-calculus with recursion and arithmetic, our logic is a logic for System F. The logic permits the formal presentation and use of relational parametricity. Parametricity yields-for example-encodings of initial algebras, final co-algebras and abstract datatypes, with corresponding proof principles of induction, co-induction and simulation.

Part of this work was completed while at Digital Equipment Corporation, Systems Research Center.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Martin Abadi, Luca Cardelli and Pierre-Louis Curien. Formal parametric polymorphism. To Appear in proceedings of Principles of Prgramming Languages '93.

    Google Scholar 

  2. Peter Aczel and Nax Mendler. A final co-algebra theorem. In D. H. Pitt et al., editors, Category Theory and Computer Science Lecture Notes in Computer Science, 389:357–365 Berlin, 1989. Springer-Verlag.

    Google Scholar 

  3. E. S. Bainbridge, Peter J. Freyd, Andre Scedrov, and Philip J. Scott. Functorial polymorphism. Theoretical Computer Science, 70(1):35–64, January 15 1990. Corrigendum in (3) 71, 10 April 1990, p. 431.

    Google Scholar 

  4. Corrado Böhm and A. Berarducci. Automatic synthesis of typed Λ-programs on term algebras. Theoretical Computer Science, 39:85–114, 1985.

    Google Scholar 

  5. Luca Cardelli, Simone Martini, John Mitchell, and Andre Scedrov. An extension of system F with subtyping. In T. Ito and A. R. Meyer, editors, Theoretical Aspects of Computer Software, volume 526 of Lecture Notes in Computer Science, pages 750–770, Berlin, 1991. Springer-Verlag.

    Google Scholar 

  6. Pierre-Louis Curien and Giorgio Ghelli. Subtyping+extensionality: Confluence of βηtop reduction in F≤. In T. Ito and A. R. Meyer, editors, Theoretical Aspects of Computer Software, volume 526 of Lecture Notes in Computer Science, pages 731–749, Berlin, 1991. Springer-Verlag.

    Google Scholar 

  7. Pierre-Louis Curien and Giorgio Ghelli. Coherence of subsumption, minimum typing and type-checking in F≤. Mathematical Structures in Computer Science, 2(1):55–92, March 1992.

    Google Scholar 

  8. Ryu Hasegawa. Categorical data types in parametric polymorphism. Mathematical Structures in Computer Science, 1990. To appear.

    Google Scholar 

  9. Ryu Hasegawa. Parametricity of extensionally collapsed models of polymorphism and their categorical properties. In T. Ito and A. R. Meyer, editors, Theoretical Aspects of Computer Software, volume 526 of Lecture Notes in Computer Science, pages 495–512, Berlin, 1991. Springer-Verlag.

    Google Scholar 

  10. QingMing Ma and John C. Reynolds. Types, abstraction, and parametric polymorphism, part 2. In S. Brookes, M. Main, A. Melton, M. Mislove, and D. A. Schmidt, editors, Proceedings of the 1991 Mathematical Foundations of Programming Semantics Conference, Lecture Notes in Computer Science, Berlin, 1992. Springer-Verlag. To appear.

    Google Scholar 

  11. Harry Mairson. Outline of a proof theory of parametricity. In Proc. 5th International Symp. on Functional Programming Languages and Computer Architecture, Springer-Verlag, 1991.

    Google Scholar 

  12. John C. Mitchell and Gordon D. Plotkin. Abstract types have existential type. In Proceedings of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pages 37–51, 1985.

    Google Scholar 

  13. John C. Mitchell. A type inference approach to reduction properties and semantics of polymorphic expressions (summary). In G. Huet, editor, Logical Foundations of Functional Programming, pages 195–212, Reading, 1990. Addison-Wesley.

    Google Scholar 

  14. John C. Mitchell. On the equivalence of data representations. In V. Lifshitz, editor, Artificial Intelligence and Mathematical Theory of Computation: Papers in Honor of John McCarthy, Academic Press, pages 305–330, 1991.

    Google Scholar 

  15. Andrew M. Pitts. Polymorphism is set-theoretic, constructively. In D. H. Pitt et al., editors, Category Theory and Computer Science Lecture Notes in Computer Science, 283:12–39 Berlin, 1987. Springer-Verlag.

    Google Scholar 

  16. Andrew M. Pitts. A co-induction principle for recursively defined domains. To appear in Theoretical Computer Science.

    Google Scholar 

  17. John C. Reynolds. Types, abstraction and parametric polymorphism. In R. E. A. Mason, editor, Information Processing 83, pages 513–523, Amsterdam, 1983. Elsevier Science Publishers B. V. (North-Holland).

    Google Scholar 

  18. John C. Reynolds and Gordon D. Plotkin. On functors expressible in the polymorphic typed lambda calculus. In G. Huet, editor, Logical Foundations of Functional Programming, pages 127–152, Reading, 1990. Addison-Wesley.

    Google Scholar 

  19. Michael B. Smyth. I-categories and duality. In M. P. Fourman, P. T. Johnstone and A. M. Pitts, Applications of Categories in Computer Science London Mathematical Society Lecture Note Series, 177:270–287, Cambridge, 1991 Cambridge University Press.

    Google Scholar 

  20. Christopher Strachey. Fundamental concepts in programming languages. Lecture Notes, International Summer School in Programming Languages, Copenhagen, Unpublished, August 1967.

    Google Scholar 

  21. Philip Wadler. Recursive types in polymorphic second-order lambda-calculus Draft, University of Glasgow 1990.

    Google Scholar 

  22. Gavin C. Wraith. A note on categorical datatypes. In A. M. Pitts and A. Poigné, editors, Category Theory and Computer Science Lecture Notes in Computer Science, 39:118–127, Berlin, 1989, Springer-Verlag.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Marc Bezem Jan Friso Groote

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Plotkin, G., Abadi, M. (1993). A logic for parametric polymorphism. In: Bezem, M., Groote, J.F. (eds) Typed Lambda Calculi and Applications. TLCA 1993. Lecture Notes in Computer Science, vol 664. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0037118

Download citation

  • DOI: https://doi.org/10.1007/BFb0037118

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-56517-8

  • Online ISBN: 978-3-540-47586-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics