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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
H. Barendregt, Introduction to generalized types systems, Journal of Functional Programming, 1(2):125–154, April 1991.
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.
C. Böhm and A. Berarducci, Automatic synthesis of typed Λ-programs on term algebras, Theoretical Computer Science 39(2-3):135–154, August 1985.
V. Breazu-Tannen and T. Coquand, Extensional models for polymorphism, Theoretical Computer Science, 59:85–114, 1988.
H. B. Curry and R. Feys, Combinatory Logic, North Holland, 1958.
T. Coquand and G. Huet, The calculus of constructions, Information and Computation, 76:95–120, 1988.
R. Constable, et al., Implementing mathematics with the Nuprl proof development system, Prentice-Hall, 1986.
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.
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.
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.
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.
J.-Y. Girard, Y. Lafont, and P. Taylor, Proofs and Types, Cambridge University Press, 1989.
R. Hasegawa, Categorical data types in parametric polymorphism, Mathematical Structures in Computer Science, 4:71–109, (1994).
R. Hindley, The principal type scheme of an object in combinatory logic, Trans. Am. Math. Soc., 146:29–60, December 1969.
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.)
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.
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.
D. Leivant, Contractingpro ofs to programs, in P. Odifreddi, editor, Logic and Computer Science, Academic Press, 1990.
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.
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.
R. Milner, A theory of type polymorphism in programming, Journal of Computers and Systems Science, 17:348–375, 1978.
E. Moggi, Communication to the Types electronic forum, 10 February 1986.
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.
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.
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.
A. M. Pitts, Parametric polymorphism and operational equivalence, technical report 453, Cambridge University Computer Laboratory, 1998.
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.
G. Plotkin, M. Abadi, and L. Cardelli, Subtypingand parametricity, 9’th Annual Symposium on Logic in Computer Science, pp. 310–319, July 1994.
J. C. Reynolds, Towards a theory of type structure, in B. Robinet, editor, Colloque sur la Programmation, LNCS 19, Springer-Verlag.
J. C. Reynolds, Types, abstraction, and parametric polymorphism, in R. E. A. Mason, editor, Information Processing 83, pp. 513–523, North-Holland, Amsterdam, 1983.
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.
J. C. Reynolds, Introduction to Part II: Polymorphic Lambda Calculus, in G. Huet, editor, Logical Foundations of Functional Programming, Addison-Wesley, 1990.
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.
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.
Izumi Takeuiti, An axiomatic system of parametricity, Fundamenta Informaticae, 33:397–432, IOS Press, 1998.
P. Wadler, Theorems for free!, 4’th International Conference on Functional Programming Languages and Computer Architecture, ACM Press, London, September 1989.
P. Wadler, Recursive types for free!, manuscript, 1991.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wadler, P. (2001). The Girard-Reynolds Isomorphism. In: Kobayashi, N., Pierce, B.C. (eds) Theoretical Aspects of Computer Software. TACS 2001. Lecture Notes in Computer Science, vol 2215. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45500-0_24
Download citation
DOI: https://doi.org/10.1007/3-540-45500-0_24
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42736-0
Online ISBN: 978-3-540-45500-4
eBook Packages: Springer Book Archive