Parametricity and dependent types

Reynolds' abstraction theorem shows how a typing judgement in System F can be translated into a relational statement (in second order predicate logic) about inhabitants of the type. We (in second order predicate logic) about inhabitants of the type. We obtain a similar result for a single lambda calculus (a pure type system), in which terms, types and their relations are expressed. Working within a single system dispenses with the need for an interpretation layer, allowing for an unusually simple presentation. While the unification puts some constraints on the type system (which we spell out), the result applies to many interesting cases, including dependently-typed ones.

[1]  Koen Claessen,et al.  Testing Polymorphic Properties , 2010, ESOP.

[2]  Stephanie Weirich,et al.  Under Consideration for Publication in J. Functional Programming Parametricity, Type Equality and Higher-order Polymorphism , 2022 .

[3]  Stefan Monnier,et al.  Singleton types here, singleton types there, singleton types everywhere , 2010, PLPV '10.

[4]  Jean-Philippe Bernardy,et al.  An abstraction theorem for pure type systems , 2010 .

[5]  Georg Neis,et al.  Non-parametric parametricity , 2009, ICFP.

[6]  Janis Voigtländer Free theorems involving type constructor classes: functional pearl , 2009, ICFP.

[7]  Jeremy Gibbons,et al.  Parametric datatype-genericity , 2009, WGP '09.

[8]  Janis Voigtländer Bidirectionalization for free! (Pearl) , 2009, POPL '09.

[9]  Wouter Swierstra,et al.  The power of Pi , 2008, ICFP.

[10]  F. Pearl,et al.  Free Theorems Involving Type Constructor Classes , 2008 .

[11]  Janis Voigtl̈ander Free Theorems Involving Type Constructor Classes Functional , 2008 .

[12]  Philip Wadler,et al.  The Girard-Reynolds isomorphism (second edition) , 2007, Theor. Comput. Sci..

[13]  U. Norell,et al.  Towards a practical programming language based on dependent type theory , 2007 .

[14]  Patricia Johann,et al.  The Impact of seq on Free Theorems-Based Program Transformations , 2006, Fundam. Informaticae.

[15]  Peter Dybjer,et al.  Inductive families , 2005, Formal Aspects of Computing.

[16]  Ralf Hinze Church numerals, twice! , 2005, J. Funct. Program..

[17]  Peter Dybjer,et al.  Universes for Generic Programs and Proofs in Dependent Type Theory , 2003, Nord. J. Comput..

[18]  Patricia Johann A Generalization of Short-Cut Fusion and its Correctness Proof , 2002, High. Order Symb. Comput..

[19]  Thorsten Altenkirch,et al.  Generic Programming within Dependently Typed Programming , 2002, Generic Programming.

[20]  竹内 泉 The Theory of Parametricity in Lambda Cube (Towards new interaction between category theory and proof theory) , 2001 .

[21]  Philip Wadler,et al.  The Girard-Reynolds isomorphism , 2001, Inf. Comput..

[22]  Simon L. Peyton Jones,et al.  A short cut to deforestation , 1993, FPCA '93.

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

[24]  Christine Paulin-Mohring,et al.  Inductive Definitions in the system Coq - Rules and Properties , 1993, TLCA.

[25]  Samson Abramsky,et al.  Handbook of logic in computer science. , 1992 .

[26]  Thierry Coquand,et al.  Pattern Matching with Dependent Types , 1992 .

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

[28]  Philip Wadler,et al.  How to make ad-hoc polymorphism less ad hoc , 1989, POPL '89.

[29]  Thierry Coquand,et al.  An Analysis of Girard's Paradox , 1986, LICS.

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

[31]  P. Medawar A view from the left , 1984, Nature.

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

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