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.
Preview
Unable to display preview. Download preview PDF.
References
Martin Abadi, Luca Cardelli and Pierre-Louis Curien. Formal parametric polymorphism. To Appear in proceedings of Principles of Prgramming Languages '93.
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.
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.
Corrado Böhm and A. Berarducci. Automatic synthesis of typed Λ-programs on term algebras. Theoretical Computer Science, 39:85–114, 1985.
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.
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.
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.
Ryu Hasegawa. Categorical data types in parametric polymorphism. Mathematical Structures in Computer Science, 1990. To appear.
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.
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.
Harry Mairson. Outline of a proof theory of parametricity. In Proc. 5th International Symp. on Functional Programming Languages and Computer Architecture, Springer-Verlag, 1991.
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.
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.
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.
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.
Andrew M. Pitts. A co-induction principle for recursively defined domains. To appear in Theoretical Computer Science.
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).
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.
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.
Christopher Strachey. Fundamental concepts in programming languages. Lecture Notes, International Summer School in Programming Languages, Copenhagen, Unpublished, August 1967.
Philip Wadler. Recursive types in polymorphic second-order lambda-calculus Draft, University of Glasgow 1990.
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.
Author information
Authors and Affiliations
Editor information
Rights 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