# A logic for parametric polymorphism

Conference paper

First Online:

## 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.

## Keywords

Type Variable Parametricity Schema Universal Quantification Existential Quantification Binary Product
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.

## References

- [ACC93]Martin Abadi, Luca Cardelli and Pierre-Louis Curien. Formal parametric polymorphism. To Appear in proceedings of
*Principles of Prgramming Languages '93*.Google Scholar - [AM89]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 - [BFSS90]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 - [Böh85]Corrado Böhm and A. Berarducci. Automatic synthesis of typed Λ-programs on term algebras.
*Theoretical Computer Science*, 39:85–114, 1985.Google Scholar - [CMMS91]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 - [CG91]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 - [CG92]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 - [Has90]Ryu Hasegawa. Categorical data types in parametric polymorphism.
*Mathematical Structures in Computer Science*, 1990. To appear.Google Scholar - [Has91]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 - [MR92]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 - [Mai91]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 - [MP85]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 - [Mit90]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 - [Mit91]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 - [Pit87]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 - [Pit92]Andrew M. Pitts. A co-induction principle for recursively defined domains. To appear in
*Theoretical Computer Science*.Google Scholar - [Rey83]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 - [RP90]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 - [Smy91]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 - [Str67]Christopher Strachey. Fundamental concepts in programming languages. Lecture Notes, International Summer School in Programming Languages, Copenhagen, Unpublished, August 1967.Google Scholar
- [Wad89]Philip Wadler. Recursive types in polymorphic second-order lambda-calculus Draft, University of Glasgow 1990.Google Scholar
- [Wra89]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

## Copyright information

© Springer-Verlag Berlin Heidelberg 1993