Skip to main content
    • Aa
    • Aa

Proofs for free: Parametricity for dependent types


Reynolds' abstraction theorem (Reynolds, J. C. (1983) Types, abstraction and parametric polymorphism, Inf. Process.83(1), 513–523) 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 obtain a similar result for pure type systems (PTSs): for any PTS used as a programming language, there is a PTS that can be used as a logic for parametricity. Types in the source PTS are translated to relations (expressed as types) in the target. Similarly, values of a given type are translated to proofs that the values satisfy the relational interpretation. We extend the result to inductive families. We also show that the assumption that every term satisfies the parametricity condition generated by its type is consistent with the generated logic.

Hide All
M. Abadi , L. Cardelli & P. Curien (1993) Formal parametric polymorphism. In Proceedings of POPL'93 (Charleston, SC). New York: ACM, pp. 157170.

C. Böhm & A. Berarducci (1985) Automatic synthesis of typed lambda-programs on term algebras. Theor. Comp. Sci. 39 (2–3), 135154.

P. Dybjer (1994) Inductive families. Form. Asp. Comput. 6 (4), 440465.

C. Paulin-Mohring (1993) Inductive definitions in the system Coq – rules and properties. In Typed Lambda Calculi and Applications, M. Bezem & J. F. Groote (eds), Berlin, Germany: Springer pp. 328345.

P. Wadler (2007) The Girard–Reynolds isomorphism. Theor. Comp. Sci. 375 (1–3), 201226.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Journal of Functional Programming
  • ISSN: 0956-7968
  • EISSN: 1469-7653
  • URL: /core/journals/journal-of-functional-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Full text views

Total number of HTML views: 0
Total number of PDF views: 22 *
Loading metrics...

Abstract views

Total abstract views: 186 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 17th October 2017. This data will be updated every 24 hours.