The Girard-Reynolds isomorphism

The second-order polymorphic lambda calculus, F2, was independently discovered by Girard and Reynolds. Girard additionally proved a representation theorem: every function on natural numbers that can be proved total in second-order intuitionistic propositional logic, P2, can be represented in F2. Reynolds additionally proved an abstraction theorem: for a suitable notion of logical relation, every term in F2 takes related arguments into related results. We observe that the essence of Girard’s result is a projection from P2 into F2, and that the essence of Reynolds’s result is an embedding of F2 into P2, and that the Reynolds embedding followed by the Girard projection is the identity. The Girard projection discards all first-order quantifiers, so it seems unreasonable to expect that the Girard projection followed by the Reynolds embedding should also be the identity. However, we show that in the presence of Reynolds’s parametricity property that this is indeed the case, for propositions corresponding to inductive definitions of naturals, products, sums, and fixpoint types.

[1]  Robin Milner,et al.  Principal type-schemes for functional programs , 1982, POPL '82.

[2]  Ryu Hasegawa,et al.  Categorical data types in parametric polymorphism , 1994, Mathematical Structures in Computer Science.

[3]  Andre Scedrov,et al.  Functorial Polymorphism , 1990, Theor. Comput. Sci..

[4]  Philip Wadler The Girard-Reynolds isomorphism , 2003, Inf. Comput..

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

[6]  A. Pitt,et al.  Non trivial power types can't be subtypes of polymorphic types , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[7]  Daniel Leivant Reasoning about functional programs and complexity classes associated with type disciplines , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[8]  Andrew M. Pitts,et al.  Polymorphism is Set Theoretic, Constructively , 1987, Category Theory and Computer Science.

[9]  William A. Howard,et al.  The formulae-as-types notion of construction , 1969 .

[10]  Fa Dick The mathematical language AUTOMATH, its usage and some of its extensions , 1970 .

[11]  Harry G. Mairson Outline of a Proof Theory of Parametricity , 1991, FPCA.

[12]  J. Heijenoort Begriffsschrift, a formula language, modeled upon that of arithmetic, for pure thought GOTTLOB FREGE(1879) , 1970 .

[13]  Michel Parigot,et al.  Programming with Proofs , 1990, J. Inf. Process. Cybern..

[14]  R. Hindley The Principal Type-Scheme of an Object in Combinatory Logic , 1969 .

[15]  J. Girard,et al.  Proofs and types , 1989 .

[16]  Per Martin-Löf,et al.  Constructive mathematics and computer programming , 1984 .

[17]  William C. Frederick,et al.  A Combinatory Logic , 1995 .

[18]  Philip Wadler,et al.  Theorems for free! , 1989, FPCA.

[19]  Rance Cleaveland,et al.  Implementing mathematics with the Nuprl proof development system , 1986 .

[20]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[21]  Thierry Coquand,et al.  The Calculus of Constructions , 1988, Inf. Comput..

[22]  Martín Abadi,et al.  Subtyping and parametricity , 1994, Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science.

[23]  Thierry Coquand,et al.  Extensional Models for Polymorphism , 1987, Theor. Comput. Sci..

[24]  Daniel Leivant,et al.  Contracting proofs to programs , 1989 .

[25]  Christopher Strachey,et al.  Fundamental Concepts in Programming Languages , 2000, High. Order Symb. Comput..

[26]  Corrado Böhm,et al.  Automatic Synthesis of Typed Lambda-Programs on Term Algebras , 1985, Theor. Comput. Sci..

[27]  Hendrik Pieter Barendregt,et al.  Introduction to generalized type systems , 1991, Journal of Functional Programming.

[28]  Izumi Takeuti An Axiomatic System of Parametricity , 1998, Fundam. Informaticae.

[29]  John C. Reynolds,et al.  On Functors Expressible in the Polymorphic Typed Lambda Calculus , 1993, Inf. Comput..

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

[31]  Martín Abadi,et al.  Formal Parametric Polymorphism , 1993, Theor. Comput. Sci..

[32]  Andrew M. Pitts,et al.  Parametric polymorphism and operational equivalence , 2000, Mathematical Structures in Computer Science.