Hostname: page-component-848d4c4894-p2v8j Total loading time: 0 Render date: 2024-05-01T01:42:45.428Z Has data issue: false hasContentIssue false

Curry-style type isomorphisms and game semantics

Published online by Cambridge University Press:  01 August 2008

JOACHIM DE LATAILLADE*
Affiliation:
Laboratory Preuves Programmes Systèmes, CNRS – Paris 7 and 9–90 West Prestland Road – Ottawa, ON K1K 2C3 – Canada Email: delatail@pps.jussieu.fr

Abstract

Curry-style system F, that is, system F with no explicit types in terms, may be viewed as a core presentation of polymorphism from the point of view of programming languages.

This paper gives a characterisation of type isomorphisms for this language using a game model, whose intuitions come from both the syntax and the game semantics universe. The model is composed of an untyped part to interpret terms, a notion of arena to interpret types and a typed part to express the fact that an untyped strategy σ plays on an arena A.

By analysing isomorphisms in the model, we prove that the equational system corresponding to type isomorphisms for Curry-style system F is the extension of the equational system for Church-style isomorphisms with a new, non-trivial equation: ∀X.AA[∀Y.Y/X] if X appears only positively in A.

Type
Paper
Copyright
Copyright © Cambridge University Press 2008

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Abadi, M., Cardelli, L. and Curien, P.-L. (1993) Formal parametric polymorphism. Theoretical Computer Science 121 958.CrossRefGoogle Scholar
Abramsky, S. and Jagadeesan, R. (2003) A game semantics for generic polymorphism. In: Gordon, A. D. (ed.) Foundations of Software Science and Computational Structures. Springer-Verlag Lecture Notes in Computer Science 2620 1–22.CrossRefGoogle Scholar
Abramsky, S., Jagadeesan, R. and Malacaria, P. (2000) Full abstraction for PCF. Information and Computation 163 (2)409470.CrossRefGoogle Scholar
Abramsky, S. and McCusker, G. (1999) Full abstraction for idealized algol with passive expressions. Theoretical Computer Science 227 342.CrossRefGoogle Scholar
Barendregt, H. (1984) The lambda calculus, its syntax and semantics, second edition, Studies in Logic and the Foundations of Mathematics 103, North-Holland.Google Scholar
Barthe, G. and Pons, O. (2001) Type isomorphisms and proof reuse in dependent type theory. In: Honsell, F. and Miculan, M. (eds.) Foundations of Software Science and Computation Structures. Springer-Verlag Lecture Notes in Computer Science 2030.CrossRefGoogle Scholar
Chroboczek, J. (2003) Game Semantics and Subtyping, Ph.D. thesis, University of Edinburgh.Google Scholar
de Lataillade, J. (2007) Second-order type isomorphisms through game semantics. To appear in Annals of Pure and Applied Logic, Special Issue on Game Semantics. (Available at http://www.pps.jussieu.fr/~delatail/isotypes.pdf.)CrossRefGoogle Scholar
Di Cosmo, R. (1995) Isomorphisms of Types, Progress in Theoretical Computer Science, Birkhäuser.CrossRefGoogle Scholar
Dunphy, B. P. (2002) Parametricity as a notion of uniformity in reflexive graphs, Ph.D. thesis, University of Illinois.Google Scholar
Girard, J.-Y. (1972) Interprétation fonctionnelle et élimination des coupures de l'arithmétique d'ordre supérieur, Thèse de doctorat, Université Paris VII.Google Scholar
Harmer, R. (1999) Games and Full Abstraction for Nondeterministic Languages, Ph.D. thesis, Imperial College and University of London.Google Scholar
Hughes, D. (2000) Hypergame semantics: full completeness for system F, D.Phil. thesis, Oxford University.Google Scholar
Hyland, M. and Ong, L. (2000) On full abstraction for PCF. Information and Computation 163 (2)285408.CrossRefGoogle Scholar
Klop, J. W. (1978) A counterexample to the Church–Rosser property for lambda calculus with subjective pairing. Prepublication, University of Utrecht.Google Scholar
Laird, J. (1997) Full abstraction for functional languages with control. In: Proceedings of the twelfth annual symposium on Logic In Computer Science, IEEE Computer Society Press 5867.CrossRefGoogle Scholar
Longo, G., Milsted, K. and Soloviev, S. (1993) The genericity theorem and the notion of parametricity in the polymorphic λ-calculus. In: Proc. of 8th IEEE Ann. Symp. on Logic in Computer Science, LICS'93, IEEE Computer Society Press 16.Google Scholar
Murawski, A. and Ong, L. (2001) Evolving games and essential nets for affine polymorphism. In: Abramsky, S. (ed.) Typed Lambda Calculi and Applications '01. Springer-Verlag Lecture Notes in Computer Science 2044.CrossRefGoogle Scholar
Plotkin, G. and Abadi, M. (1993) A logic for parametric polymorphism. In: Bezem, M. and Groote, J. F. (eds.) International Conference on Typed Lambda Calculi and Applications, Springer-Verlag 361375.CrossRefGoogle Scholar
Reynolds, J. C. (1974) Towards a theory of type structure. In: Programming Symposium, Proceedings Colloque sur la Programmation, Springer-Verlag 408423.CrossRefGoogle Scholar
Reynolds, J. C. (1983) Types, abstraction and parametric polymorphism. In: International Federation for Information Processing Congress 513–523.Google Scholar
Rittri, M. (1991) Using types as search keys in function libraries. Journal of Functional Programming 1 (1)7189.CrossRefGoogle Scholar