Parametric polymorphism and operational equivalence

Abstract Studies of the mathematical properties of impredicatively polymorphic types have for the most part focused on the polymorphic lambda calculus of Girard-Reynolds, which is a calculus of total polymorphic functions. This paper considers polymorphic types from a functional programming perspective, where the partialness arising from the presence of fixpoint recursion complicates the nature of potentially infinite (‘lazy’) datatypes. An operationally-based approach to Reynolds' notion of relational parametricity is developed for an extension of Plotkin's PCF with ∀types and lazy lists. The resulting logical relation is shown to be a useful tool for proving properties of polymorphic types up to a notion of operational equivalence based on Morris-style contextual equivalence.

[1]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

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

[3]  Mark Lillibridge,et al.  Explicit polymorphism and CPS conversion , 1993, POPL '93.

[4]  Samson Abramsky,et al.  The Lazy λ−Calculus , 1990 .

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

[6]  Carolyn L. Talcott,et al.  From Operational Semantics to Domain Theory , 1996, Inf. Comput..

[7]  Andrew D. Gordon Operational equivalences for untyped and polymorphic object calculi , 1999 .

[8]  I. Stark,et al.  Operational reasoning for functions with local state , 1999 .

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

[10]  Soren Lassen Relational reasoning about contexts , 1997 .

[11]  Roberto M. Amadio,et al.  Domains and lambda-calculi , 1998, Cambridge tracts in theoretical computer science.

[12]  Robert Hieb,et al.  The Revised Report on the Syntactic Theories of Sequential Control and State , 1992, Theor. Comput. Sci..

[13]  Andrew M. Pitts,et al.  Relational Properties of Domains , 1996, Inf. Comput..

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

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

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

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

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

[19]  John C. Mitchell,et al.  Abstract types have existential type , 1988, TOPL.

[20]  Andrew Pitts,et al.  Semantics and Logics of Computation: Operationally-Based Theories of Program Equivalence , 1997 .

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

[22]  Ryu Hasegawa Parametricity of Extensionally Collapsed Term Models of Polymorphism and Their Categorical Properties , 1991, TACS.

[23]  Lars Birkedal,et al.  Relational Interpretations of Recursive Types in an operational Setting (Summary) , 1997, TACS.

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

[25]  Carolyn L. Talcott,et al.  1 Equivalence in Functional Languages with E ectsIan , 2007 .

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

[27]  J. B. Wells Typability and type checking in the second-order Λ-calculus are equivalent and undecidable (Preliminary Draft) , 1993 .

[28]  P. J. Freyd Applications of Categories in Computer Science: Remarks on algebraically compact categories , 1992 .

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

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

[31]  Glynn Winskel,et al.  Domain Theoretic Models of Polymorphism , 1989, Inf. Comput..

[32]  Robert Harper,et al.  A Type-Theoretic Account of Standard ML 1996 (Version 1). , 1996 .

[33]  Andrew M. Pitts Existential Types: Logical Relations and Operational Equivalence , 1998, ICALP.

[34]  Andrew M. Pitts Reasoning about local variables with operationally-based logical relations , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[35]  Martín Abadi,et al.  A PER model of polymorphism and recursive types , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[36]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

[37]  C. Pollard,et al.  Center for the Study of Language and Information , 2022 .

[38]  Dana S. Scott,et al.  A Type-Theoretical Alternative to ISWIM, CUCH, OWHY , 1993, Theor. Comput. Sci..

[39]  R. E. A. Mason,et al.  Information Processing 83 , 1984 .

[40]  J. Y. Girard,et al.  Interpretation fonctionelle et elimination des coupures dans l'aritmetique d'ordre superieur , 1972 .

[41]  J. B. Wells,et al.  Typability and type checking in the second-order /spl lambda/-calculus are equivalent and undecidable , 1994, Proceedings Ninth Annual IEEE Symposium on Logic in Computer Science.

[42]  Glynn Winskel,et al.  Relational Reasoning about Functions and Nondeterminism , 1999 .

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

[44]  Andrew M. Pitts,et al.  Higher order operational techniques in semantics , 1999 .

[45]  Andrew D. Gordon Bisimilarity as a theory of functional programming , 1995, MFPS.

[46]  Robin Milner,et al.  Fully Abstract Models of Typed lambda-Calculi , 1977, Theor. Comput. Sci..