# The Girard-Reynolds Isomorphism

## Abstract

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 embeddingof F2 into P2, and that the Reynolds embeddingfollo wed 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 embeddingshould also be the identity. However, we show that in the presence of Reynolds’s *parametricity* property that this is indeed the case, for propositions correspondingto inductive definitions of naturals, products, sums, and fixpoint types.

## Keywords

Intuitionistic Logic Identity Relation Combinatory Logic Elimination Rule Predicate Variable## Preview

Unable to display preview. Download preview PDF.

## References

- [ACC93]M. Abadi, L. Cardelli, and P.-L. Curien, Formal Parametric Polymorphism,
*Theoretical Computer Science*121(1-2):9–58, December 1993. (Part of A Collection of Contributions in Honour of Corrado Boehm on the Occasion of his 70th Birthday.) Also appeared as SRC Research Report 109.zbMATHCrossRefMathSciNetGoogle Scholar - [Bar91]H. Barendregt, Introduction to generalized types systems,
*Journal of Functional Programming*, 1(2):125–154, April 1991.zbMATHMathSciNetGoogle Scholar - [BFSS90]E. S. Bainbridge, P. J. Freyd, A. Scedrov, and P. J. Scott, Functorial polymorphism, in G. Huet, editor,
*Logical Foundations of Functional Programming*, pp. 315–330, Addison-Wesley, 1990.Google Scholar - [BB85]C. Böhm and A. Berarducci, Automatic synthesis of typed
*Λ*-programs on term algebras,*Theoretical Computer Science*39(2-3):135–154, August 1985.zbMATHCrossRefMathSciNetGoogle Scholar - [BC88]V. Breazu-Tannen and T. Coquand, Extensional models for polymorphism,
*Theoretical Computer Science*, 59:85–114, 1988.CrossRefMathSciNetzbMATHGoogle Scholar - [CF58]H. B. Curry and R. Feys,
*Combinatory Logic*, North Holland, 1958.Google Scholar - [CH88]T. Coquand and G. Huet, The calculus of constructions,
*Information and Computation*, 76:95–120, 1988.CrossRefMathSciNetzbMATHGoogle Scholar - [Con86]R. Constable,
*et al.*,*Implementing mathematics with the Nuprl proof development system*, Prentice-Hall, 1986.Google Scholar - [deB70]N. G. de Bruijn, The mathematical language of AUTOMATH, its usage and some of its extensions,
*Proceedings of the Symposium on Automatic Demonstration*, LNCS 125, Springer-Verlag, 1970.CrossRefGoogle Scholar - [DM82]L. Damas and R. Milner, Principal type schemes for functional programs,
*9’th Annual Symposium on Principles of Programming Languages*, Albuquerque, N.M., January 1982.Google Scholar - [Fre79]Gottlob Frege. Begriffsschrift, a formula language, modeled upon that of arithmetic, for pure thought (1879). In Jan van Heijenoort, editor,
*FromFrege to Godel: A Source Book in Mathematical Logic, 1879-1931*. Harvard University Press, 1967.Google Scholar - [Gir72]J.-Y. Girard,
*Interprétation functionelle et élimination des coupures dans l’arithmétique d’ordre supérieure*, Ph.D. thesis, Université Paris VII, 1972.Google Scholar - [GLT89]J.-Y. Girard, Y. Lafont, and P. Taylor,
*Proofs and Types*, Cambridge University Press, 1989.Google Scholar - [Has94]R. Hasegawa, Categorical data types in parametric polymorphism,
*Mathematical Structures in Computer Science*, 4:71–109, (1994).zbMATHMathSciNetCrossRefGoogle Scholar - [Hin69]R. Hindley, The principal type scheme of an object in combinatory logic,
*Trans. Am. Math. Soc.*, 146:29–60, December 1969.zbMATHCrossRefMathSciNetGoogle Scholar - [How80]W. A. Howard, The formulae-as-types notion of construction, in J. P. Seldin and J. R. Hindley, editors,
*To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus, and Formalism*, Academic Press, 1980. (The original version was circulated privately in 1969.)Google Scholar - [KP90]J.-L. Krivine and M. Parigot, Programming with proofs,
*J. Inf. Process. Cybern. (EIK)*, 26(3): 149–167, 1990. (Revised version of a lecture presented at the 6’th International Symposium on Computation Theory, (SCT’ 87), Wednisch-Rietz, GDR, 30 November-4 December 1987.zbMATHMathSciNetGoogle Scholar - [Lei83]D. Leivant, Reasoning about functional programs and complexity classes associated with type disciplines,
*24’th Symposium on Foundations of Computer Science*, Washington D.C., IEEE, 460–469.Google Scholar - [Lei90]D. Leivant, Contractingpro ofs to programs, in P. Odifreddi, editor,
*Logic and Computer Science*, Academic Press, 1990.Google Scholar - [Mai91]H. Mairson, Outline of a proof theory of parametricity, in J. Hughes, editor,
*5’th International Conference on Functional Programming Languages and Computer Architecture*, Springer-Verlag LNCS 523, Cambridge, Massachusetts, August 1991.Google Scholar - [Mar82]P. Martin-Lof, Constructive mathematics and computer programming,
*6’th International Congress for Logic, Methodology, and Philosophy of Science*, North Holland, pp. 153–175, 1982.Google Scholar - [Mil78]R. Milner, A theory of type polymorphism in programming,
*Journal of Computers and Systems Science*, 17:348–375, 1978.zbMATHCrossRefMathSciNetGoogle Scholar - [Mog86]E. Moggi, Communication to the Types electronic forum, 10 February 1986.Google Scholar
- [MR91]Q. Ma and J. C. Reynolds, Types, abstraction, and parametric polymorphism, part 2, in S. Brookes
*et al*. editors,*Mathematical Foundations of Programming Semantics*, Springer Verlag LNCS, 1991.Google Scholar - [Pit87]A. M. Pitts, Polymorphism Is Set Theoretic, Constructively, in D. H. Pitt and A. Poign’e and D. E. Rydeheard, editors,
*Category Theory and Computer Science*, pages 12–39, Edinburgh 1987.Google Scholar - [Pit89]A. M. Pitts, Non-trivial power types can’t be subtypes of polymorphic types, in
*4th Annual Symposium on Logic in Computer Science*, pages 6–13, IEEE Computer Society Press, Washington 1989.Google Scholar - [Pit98]A. M. Pitts, Parametric polymorphism and operational equivalence, technical report 453, Cambridge University Computer Laboratory, 1998.Google Scholar
- [PA93]G. Plotkin and M. Abadi, A logic for parametric polymorphism, in M. Bezem and J. F. Groote, editors,
*Typed Lambda Calculi and Applications*, LNCS 664, Springer-Verlag, pp. 361–375, March 1993.CrossRefGoogle Scholar - [PAC94]G. Plotkin, M. Abadi, and L. Cardelli, Subtypingand parametricity,
*9’th Annual Symposium on Logic in Computer Science*, pp. 310–319, July 1994.Google Scholar - [Rey74]J. C. Reynolds, Towards a theory of type structure, in B. Robinet, editor,
*Colloque sur la Programmation*, LNCS 19, Springer-Verlag.Google Scholar - [Rey83]J. C. Reynolds, Types, abstraction, and parametric polymorphism, in R. E. A. Mason, editor,
*Information Processing 83*, pp. 513–523, North-Holland, Amsterdam, 1983.Google Scholar - [Rey84]J. C. Reynolds, Polymorphism is not set theoretic, in Kahn, MacQueen, and Plotkin, editors,
*Semantics of Data Types*, Sophia-Antipolis, France, pp. 145–156, LNCS 173, Springer-Verlag, 1984.Google Scholar - [Rey90]J. C. Reynolds, Introduction to Part II: Polymorphic Lambda Calculus, in G. Huet, editor,
*Logical Foundations of Functional Programming*, Addison-Wesley, 1990.Google Scholar - [RP90]J. C. Reynolds and G. D. Plotkin, On Functors Expressible in the polymorphic typed lambda calculus, in G. Huet, editor,
*Logical Foundations of Functional Programming*, pp. 127–152, Addison-Wesley, 1990.Google Scholar - [Str67]C. Strachey, Fundamental concepts in programming languages, Lecture notes, International Summer School in Computer Programming, Copenhagen, August 1967. Reprinted in
*Higher-Order and Symbolic Computation*13(1/2):11–49, May 2000.zbMATHCrossRefGoogle Scholar - [Tak98]Izumi Takeuiti, An axiomatic system of parametricity,
*Fundamenta Informaticae*, 33:397–432, IOS Press, 1998.MathSciNetGoogle Scholar - [Wad89]P. Wadler, Theorems for free!,
*4’th International Conference on Functional Programming Languages and Computer Architecture*, ACM Press, London, September 1989.Google Scholar - [Wad91]P. Wadler, Recursive types for free!, manuscript, 1991.Google Scholar