Formalized Metatheory with Terms Represented by an Indexed Family of Types

  • Robin Adams
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3839)


It is possible to represent the terms of a syntax with binding constructors by a family of types, indexed by the free variables that may occur. This approach has been used several times for the study of syntax and substitution, but never for the formalization of the metatheory of a typing system. We describe a recent formalization of the metatheory of Pure Type Systems in Coq as an example of such a formalization. In general, careful thought is required as to how each definition and theorem should be stated, usually in an unfamiliar ‘big-step’ form; but, once the correct form has been found, the proofs are very elegant and direct.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bellegarde, F., Hook, J.: Subsitution: A formal methods case study using monads and transformations. Sci. Comput. Program. 23, 287–311 (1994)zbMATHCrossRefGoogle Scholar
  2. 2.
    Altenkirch, T., Reus, B.: Monadic presentations of lambda terms using generalized inductive types. In: Flum, J., Rodríguez-Artalejo, M. (eds.) CSL 1999. LNCS, vol. 1683, pp. 453–468. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  3. 3.
    Bird, R.S., Paterson, R.: de Bruijn notation as a nested datatype. J. Functional Programming 9, 77–91 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Barendregt, H.: Lambda calculi with types. In: Abramsky, S., Gabbay, D.M., Maibaum, T.S.E. (eds.) Handbook of Logic in Computer Science, vol. II. Oxford University Press, Oxford (1992)Google Scholar
  5. 5.
    van Benthem Jutting, L.S.: Typing in pure type systems. Information and Computation 105, 30–41 (1993)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    McKinna, J., Pollack, R.: Some lambda calculus and type theory formalized. J. Autom. Reasoning 23, 373–409 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Barras, B.: Auto-validation d’un sysème de preuves avec familles inductives. PhD thesis, Université Paris 7 (1999)Google Scholar
  8. 8.
    Letouzey, P.: Vectors. Message to Coq-Club mailing list (2004),
  9. 9.
    Adams, R.: A formalization of the theory of PTSs in Coq (2005), Available online at,
  10. 10.
    Adams, R.: Pure type systems with judgemental equality. Accepted for publication in the Journal of Functional ProgrammingGoogle Scholar
  11. 11.
    Barras, B.: A formalization of the calculus of constructions, Web page,
  12. 12.
    Pfenning, F., Elliot, C.: Higher-order abstract syntax. In: PLDI 1988: Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation, pp. 199–208. ACM Press, New York (1988)CrossRefGoogle Scholar
  13. 13.
    Gabbay, M.J., Pitts, A.M.: A new approach to abstract syntax with variable binding. Formal Aspects of Computing 13, 341–363 (2002)zbMATHCrossRefGoogle Scholar
  14. 14.
    Stehr, M.O.: CINNI: A generic calculus of explicit substitutions and its application to lambda-, sigma- and pi-calculi. In: Third International Workshop on Rewriting Logic and its Applications (WRLA 2000). Electronic Notes in Theoretical Computer Science, vol. 36, Kanazawa, Japan, September 18-20. Elsevier, Amsterdam (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Robin Adams
    • 1
  1. 1.Royal HollowayUniversity of London 

Personalised recommendations