A Modular Type-Checking Algorithm for Type Theory with Singleton Types and Proof Irrelevance

  • Andreas Abel
  • Thierry Coquand
  • Miguel Pagano
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5608)


We define a logical framework with singleton types and one universe of small types. We give the semantics using a PER model; it is used for constructing a normalisation-by-evaluation algorithm. We prove completeness and soundness of the algorithm; and get as a corollary the injectivity of type constructors. Then we give the definition of a correct and complete type-checking algorithm for terms in normal form. We extend the results to proof-irrelevant propositions.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abel, A., Aehlig, K., Dybjer, P.: Normalization by evaluation for Martin-Löf type theory with one universe. In: Fiore, M. (ed.) Proc. of the 23rd Conf. on the Mathematical Foundations of Programming Semantics (MFPS XXIII). Electr. Notes in Theor. Comp. Sci, vol. 173, pp. 17–39. Elsevier, Amsterdam (2007)Google Scholar
  2. 2.
    Abel, A., Coquand, T., Dybjer, P.: Normalization by evaluation for Martin-Löf Type Theory with typed equality judgements. In: Proc. of the 22nd IEEE Symp. on Logic in Computer Science (LICS 2007), pp. 3–12. IEEE Computer Soc. Press, Los Alamitos (2007)Google Scholar
  3. 3.
    Abel, A., Coquand, T., Dybjer, P.: On the algebraic foundation of proof assistants for intuitionistic type theory. In: Garrigue, J., Hermenegildo, M.V. (eds.) FLOPS 2008. LNCS, vol. 4989, pp. 3–13. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Abel, A., Coquand, T., Dybjer, P.: Verifying a semantic βη-conversion test for Martin-Löf type theory. In: Audebaud, P., Paulin-Mohring, C. (eds.) MPC 2008. LNCS, vol. 5133, pp. 29–56. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  5. 5.
    Abel, A., Coquand, T., Pagano, M.: A modular type-checking algorithm for type theory with singleton types and proof irrelevance (full version) (2009),
  6. 6.
    Abramsky, S., Jung, A.: Domain Theory. In: Handbook of Logic in Computer Science, pp. 1–168. Oxford University Press, Oxford (1994)Google Scholar
  7. 7.
    Aehlig, K., Joachimski, F.: Operational aspects of untyped normalization by evaluation. Math. Struct. in Comput. Sci. 14, 587–611 (2004)CrossRefzbMATHGoogle Scholar
  8. 8.
    Aspinall, D.: Subtyping with singleton types. In: Pacholski, L., Tiuryn, J. (eds.) CSL 1994. LNCS, vol. 933, pp. 1–15. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  9. 9.
    Awodey, S., Bauer, A.: Propositions as [Types]. J. Log. Comput. 14, 447–471 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Berger, U., Schwichtenberg, H.: An inverse to the evaluation functional for typed λ-calculus. In: Proc. of the 6th IEEE Symp. on Logic in Computer Science (LICS 1991), pp. 203–211. IEEE Computer Soc. Press, Los Alamitos (1991)Google Scholar
  11. 11.
    Bruijn, N.G.d.: Some extensions of Automath: the AUT-4 family (1994)Google Scholar
  12. 12.
    Cartmell, J.: Generalised algebraic theories and contextual categories. Annals of Pure and Applied Logic, 32–209 (1986)Google Scholar
  13. 13.
    Coquand, T.: An algorithm for type-checking dependent types. Science of Computer Programming 26, 167–177 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Coquand, T., Pollack, R., Takeyama, M.: A logical framework with dependently typed records. Fundam. Inform. 65, 113–134 (2005)MathSciNetzbMATHGoogle Scholar
  15. 15.
    Dybjer, P.: A general formulation of simultaneous inductive-recursive definitions in type theory. The Journal of Symbolic Logic 65, 525–549 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Grégoire, B., Leroy, X.: A compiled implementation of strong reduction. In: Proc. of the 7th ACM SIGPLAN Int. Conf. on Functional Programming (ICFP 2002). SIGPLAN Notices, vol. 37, pp. 235–246. ACM Press, New York (2002)Google Scholar
  17. 17.
    Harper, R., Honsell, F., Plotkin, G.: A Framework for Defining Logics. Journal of the Association of Computing Machinery 40, 143–184 (1993)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    INRIA: The Coq Proof Assistant, Version 8.1. INRIA (2007),
  19. 19.
    Lee, D.K., Crary, K., Harper, R.: Towards a mechanized metatheory of Standard ML. In: Hofmann, M., Felleisen, M. (eds.) Proc. of the 34th ACM Symp. on Principles of Programming Languages, POPL 2007, pp. 173–184. ACM Press, New York (2007)Google Scholar
  20. 20.
    Maillard, O.-A.: Proof-irrelevance, strong-normalisation in Type-Theory and PER. Technical report, Chalmers Institute of Technology (2006)Google Scholar
  21. 21.
    Martin-Löf, P.: Intuitionistic Type Theory. Bibliopolis (1984)Google Scholar
  22. 22.
    Martin-Löf, P.: Normalization by evaluation and by the method of computability, Talk at JAIST. Japan Advanced Institute of Science and Technology, Kanazawa (2004)Google Scholar
  23. 23.
    McBride, C.: Epigram: Practical programming with dependent types. In: Vene, V., Uustalu, T. (eds.) AFP 2004. LNCS, vol. 3622, pp. 130–170. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  24. 24.
    Mitchell, J.C., Moggi, E.: Kripke-Style models for typed lambda calculus. In: LICS, pp. 303–314 (1987)Google Scholar
  25. 25.
    Nordström, B., Petersson, K., Smith, J.M.: Programming in Martin Löf’s Type Theory: An Introduction. Clarendon Press, Oxford (1990)zbMATHGoogle Scholar
  26. 26.
    Norell, U.: Towards a practical programming language based on dependent type theory. Ph.D. thesis, Department of Computer Science and Engineering, Chalmers University of Technology, Göteborg, Sweden (2007)Google Scholar
  27. 27.
    Shankar, N., Owre, S.: Principles and Pragmatics of Subtyping in PVS. In: Bert, D., Choppy, C., Mosses, P.D. (eds.) WADT 1999. LNCS, vol. 1827, pp. 37–52. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  28. 28.
    Sozeau, M.: Subset coercions in Coq. In: Altenkirch, T., McBride, C. (eds.) TYPES 2006. LNCS, vol. 4502, pp. 237–252. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  29. 29.
    Stone, C.A., Harper, R.: Extensional equivalence and singleton types. ACM Trans. Comput. Logic 7, 676–722 (2006)MathSciNetCrossRefGoogle Scholar
  30. 30.
    Werner, B.: On the strength of proof-irrelevant type theories. Logical Meth. in Comput. Sci. 4 (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Andreas Abel
    • 1
  • Thierry Coquand
    • 2
  • Miguel Pagano
    • 3
  1. 1.Ludwig-Maximilians-Universität MünchenGermany
  2. 2.Göteborg UniversitySweden
  3. 3.Universidad Nacional de CórdobaArgentina

Personalised recommendations