Realizability and Parametricity in Pure Type Systems

  • Jean-Philippe Bernardy
  • Marc Lasson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6604)


We describe a systematic method to build a logic from any programming language described as a Pure Type System (PTS). The formulas of this logic express properties about programs. We define a parametricity theory about programs and a realizability theory for the logic. The logic is expressive enough to internalize both theories. Thanks to the PTS setting, we abstract most idiosyncrasies specific to particular type theories. This confers generality to the results, and reveals parallels between parametricity and realizability.


  1. 1.
    Abadi, M., Cardelli, L., Curien, P.: Formal parametric polymorphism. In: Proc. of POPL 1993, pp. 157–170. ACM, New York (1993)Google Scholar
  2. 2.
    Barendregt, H.P.: Lambda calculi with types. In: Handbook of Logic in Computer Science, vol. 2, pp. 117–309 (1992)Google Scholar
  3. 3.
    Berardi, S.: Type Dependence and Constructive Mathematics. PhD thesis, Dipartimento di Informatica, Torino (1989)Google Scholar
  4. 4.
    Bernardy, J.-P., Jansson, P., Claessen, K.: Testing polymorphic properties. In: Gordon, A. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 125–144. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  5. 5.
    Bernardy, J.-P., Jansson, P., Paterson, R.: Parametricity and dependent types. In: Proc. of ICFP 2010, pp. 345–356. ACM, New York (2010)Google Scholar
  6. 6.
    Brady, E., McBride, C., McKinna, J.: Inductive families need not store their indices. In: Berardi, S., Coppo, M., Damiani, F. (eds.) TYPES 2003. LNCS, vol. 3085, pp. 115–129. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  7. 7.
    Gill, A., Launchbury, J., Peyton Jones, S.: A short cut to deforestation. In: Proc. of FPCA, pp. 223–232. ACM, New York (1993)CrossRefGoogle Scholar
  8. 8.
    Girard, J.-Y.: Interprétation fonctionnelle et elimination des coupures de l’arithmétique d’ordre supérieur. Thése d’état, Université de Paris 7 (1972)Google Scholar
  9. 9.
    Harrop, R.: On disjunctions and existential statements in intuitionistic systems of logic. Mathematische Annalen 132(4), 347–361 (1956)MathSciNetCrossRefGoogle Scholar
  10. 10.
    Kleene, S.C.: On the interpretation of intuitionistic number theory. J. of Symbolic Logic 10(4), 109–124 (1945)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Kleene, S.C.: Introduction to metamathematics. Wolters-Noordhoff (1971)Google Scholar
  12. 12.
    Kreisel, G.: Interpretation of analysis by means of constructive functionals of finite types. In: Heyting, A. (ed.) Constructivity in mathematics, pp. 101–128 (1959)Google Scholar
  13. 13.
    Krivine, J.-L.: Lambda-calcul types et modèles. Masson (1990)Google Scholar
  14. 14.
    Krivine, J.-L., Parigot, M.: Programming with proofs. J. Inf. Process. Cybern. 26(3), 149–167 (1990)MathSciNetzbMATHGoogle Scholar
  15. 15.
    Leivant, D.: Contracting proofs to programs. Logic and Comp. Sci., pp. 279–327 (1990)Google Scholar
  16. 16.
    Mairson, H.: Outline of a proof theory of parametricity. In: Hughes, J. (ed.) FPCA 1991. LNCS, vol. 523, pp. 313–327. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  17. 17.
    McBride, C., McKinna, J.: The view from the left. J. Funct. Program. 14(01), 69–111 (2004)MathSciNetCrossRefGoogle Scholar
  18. 18.
    Milner, R.: Logic for Computable Functions: description of a machine implementation. Artificial Intelligence (1972)Google Scholar
  19. 19.
    Norell, U.: Towards a practical programming language based on dependent type theory. PhD thesis, Chalmers Tekniska Högskola (2007)Google Scholar
  20. 20.
    Paulin-Mohring, C.: Extracting Fω’s programs from proofs in the calculus of constructions. In: POPL 1989, pp. 89–104. ACM, New York (1989)Google Scholar
  21. 21.
    Paulin-Mohring, C.: Extraction de programmes dans le Calcul des Constructions. PhD thesis, Université Paris 7 (1989)Google Scholar
  22. 22.
    Plotkin, G., Abadi, M.: A logic for parametric polymorphism. In: Bezem, M., Groote, J.F. (eds.) TLCA 1993. LNCS, vol. 664, pp. 361–375. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  23. 23.
    Reynolds, J.C.: Types, abstraction and parametric polymorphism. Information processing 83(1), 513–523 (1983)Google Scholar
  24. 24.
    Staples, J.: Combinator realizability of constructive finite type analysis. Cambridge Summer School in Mathematical Logic, pp. 253–273 (1973)CrossRefGoogle Scholar
  25. 25.
    The Coq development team. The Coq proof assistant (2010)Google Scholar
  26. 26.
    Troelstra, A.: Realizability. In: Handbook of proof theory. Elsevier, Amsterdam (1998)Google Scholar
  27. 27.
    Van Oosten, J.: Realizability: a historical essay. Mathematical Structures in Comp. Sci. 12(03), 239–263 (2002)MathSciNetzbMATHGoogle Scholar
  28. 28.
    Wadler, P.: Theorems for free. In: Proc. of FPCA 1989, pp. 347–359. ACM, New York (1989)Google Scholar
  29. 29.
    Wadler, P.: The Girard–Reynolds isomorphism. Theor. Comp. Sci. 375(1–3), 201–226 (2007)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Jean-Philippe Bernardy
    • 1
    • 2
  • Marc Lasson
    • 3
  1. 1.Chalmers University of TechnologySweden
  2. 2.University of GothenburgSweden
  3. 3.LIP (UMR 5668 CNRS ENS Lyon UCBL INRIA)ENS Lyon, Université de LyonFrance

Personalised recommendations