The genericity theorem and parametricity in the polymorphic A-calculus

Longo, G., K. M&ted and S. Soloviev, The genericity theorem and parametricity in the polymorphic I-calculus, Theoretical Computer Science 121 (1993) 323-349. This paper focuses on how terms of the polymorphic I-calculus, which may take types as inputs, depend on types. These terms are generally understood, in all models, to have an “essentially” constant meaning on input types. We show how the proof theory of polymorphic I.-calculus suggests a clear syntactic description of this phenomenon. Namely, under a reasonable conditon, we show that if two polymorphic functions agree on a single type, then they agree on all types (equivalently, types are generic inputs).

[1]  G. M. Kelly,et al.  A generalization of the functorial calculus , 1966 .

[2]  John C. Reynolds,et al.  Towards a theory of type structure , 1974, Symposium on Programming.

[3]  Gordon D. Plotkin,et al.  The category-theoretic solution of recursive domain equations , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[4]  John C. Reynolds,et al.  Types, Abstraction and Parametric Polymorphism , 1983, IFIP Congress.

[5]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[6]  John C. Mitchell A type-inference approach to reduction properties and semantics of polymorphic expressions (summary) , 1986, LFP '86.

[7]  Jean-Yves Girard,et al.  The System F of Variable Types, Fifteen Years Later , 1986, Theor. Comput. Sci..

[8]  J. Lambek,et al.  Introduction to higher order categorical logic , 1986 .

[9]  David A. Schmidt,et al.  Mathematical Foundations of Programming Language Semantics , 1987, Lecture Notes in Computer Science.

[10]  Glynn Winskel,et al.  DI-Domains as a Model of Polymorphism , 1987, MFPS.

[11]  Andre Scedrov,et al.  Semantic parametricity in polymorphic lambda calculus , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[12]  Luca Cardelli,et al.  A semantic basis for quest , 1990, Journal of Functional Programming.

[13]  John C. Reynolds,et al.  Types, Abstractions, and Parametric Polymorphism, Part 2 , 1991, MFPS.

[14]  Giuseppe Longo,et al.  Categories, types and structures - an introduction to category theory for the working computer scientist , 1991, Foundations of computing.

[15]  Luca Cardelli,et al.  An Extension of System F with Subtyping , 1991, TACS.

[16]  Roberto Di Cosmo,et al.  Constructively Equivalent Propositions and Isomorphisms of Objects, or Terms as Natural Transformations , 1992 .

[17]  Giuseppe Castagna,et al.  A calculus for overloaded functions with subtyping , 1992, LFP '92.

[18]  Martín Abadi,et al.  Formal parametric polymorphism , 1993, POPL '93.

[19]  Martín Abadi,et al.  A Logic for Parametric Polymorphism , 1993, TLCA.

[20]  Giuseppe Longo,et al.  Parametric and Type-Dependent Polymorphism , 1995, Fundam. Informaticae.