Pure type systems formalized

  • James McKinna
  • Robert Pollack
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 664)


In doing this work of formalizing a well known body of mathematics, we spent a large amount of time solving mathematical problems, e.g. the Thinning Lemma. Another big problem was maintaining and organizing the formal knowledge, e.g. allowing two people to extend different parts of the data base at the same time, and finding the right lemma in the mass of checked material. We feel that better understanding of mathematical issues of formalization (e.g. names/namefree, intentional/extentional), and organization of formal development are the most useful areas to work on now for the long-term goal of formal mathematics.

Finally, it is not so easy to understand the relationship between some informal mathematics and a claimed formalization of it. Are you satisfied with our definition of reduction? It might be more satisfying if we also defined de Bruijn terms and their reduction, and proved a correspondence between the two representations, but this only changes the degree of the problem, not its nature. What about the choice between the typing rules Lda and Lda'? There may be no “right” answer, as we may have different ideas in mind informally. There is no such thing as certain truth, and formalization does not change this state of affairs.


Type Theory Typing Rule Inductive Type Structural Induction Lambda Calculus 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Alt93]
    Thorsten Altenkirch. A formalization of the strong normalization proof for System F in LEGO. In Proceedings of the International Conference on Typed Lambda Calculi and Applications, TLCA'93, March 1993.Google Scholar
  2. [Bar91]
    Henk Barendregt. Introduction to generalised type systems. J. Functional Programming, 1(2):124–154, April 1991.Google Scholar
  3. [Bar92]
    Henk Barendregt. Lambda calculi with types. In Gabbai Abramsky and Maibaum, editors, Handbook of Logic in Computer Science, volume II. Oxford University Press, 1992.Google Scholar
  4. [Ber90]
    Stefano Berardi. Type Dependence and Constructive Mathematics. PhD thesis, Dipartimento di Informatica, Torino, Italy, 1990.Google Scholar
  5. [Coq91]
    Thierry Coquand. An algorithm for testing conversion in type theory. In G. Huet and G. D. Plotkin, editors, Logical Frameworks. Cambridge University Press, 1991.Google Scholar
  6. [GN91]
    Herman Geuvers and Mark-Jan Nederhof. A modular proof of strong normalization for the calculus of constructions. Journal of Functional Programming, 1(2):155–189, April 1991.Google Scholar
  7. [Hue89]
    Gérard Huet. The constructive engine. In The Calculus of Constructions; Documentation and users' guide. INRIA-Rocquencourt, Aug 1989. Technical Report 110.Google Scholar
  8. [Jon91]
    Claire Jones. Completing the rationals and metric spaces in LEGO. In 2nd Workshop of Logical Frameworks, Edinburgh, pages 209–222, May 1991. available by ftp.Google Scholar
  9. [LP92]
    Zhaohui Luo and Robert Pollack. LEGO proof development system: User's manual. Technical Report ECS-LFCS-92-211, LFCS, Computer Science Dept., University of Edinburgh, The King's Buildings, Edinburgh EII9 3JZ, May 1992. Updated version.Google Scholar
  10. [Luo91]
    Zhaohui Luo. Program specification and data refinement in type theory. In TAPSOFT '91 (Volume 1), number 493 in Lecture Notes in Computer Science, pages 143–168. Springer-Verlag, 1991.Google Scholar
  11. [McK92]
    James McKinna. Deliverables: a Categorical Approach to Program Development in Type Theory. PhD thesis, University of Edinburgh, 1992.Google Scholar
  12. [Pol92]
    R. Pollack. Typechecking in pure type systems. In 1992 Workshop on Types for Proofs and Programs, Båstad, Sweden, pages 271–288, June 1992. available by ftp.Google Scholar
  13. [Sha85]
    N. Shankar. A mechanical proof of the church-rosser theorem. Technical Report 45, Institute for Computing Science, University of Texas at Austin, March 1985.Google Scholar
  14. [SNP90]
    Jan Smith, Bengt Nordström, and Kent Petersson. Programming in Martin-Löf's Type Theory. An Introduction. Oxford University Press, 1990.Google Scholar
  15. [vBJ92]
    L.S. van Benthem Jutting. Typing in pure type systems. Information and Computation, 1992. To appear.Google Scholar
  16. [vBJMP92]
    L. van Benthem Jutting, James McKinna, and Robert Pollack. Typechecking in pure type systems. in preparation, 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • James McKinna
    • 1
  • Robert Pollack
    • 1
  1. 1.Laboratory for Foundations of Computer ScienceUniversity of EdinburghUK

Personalised recommendations