Advertisement

A Type-Checking Algorithm for Martin-Löf Type Theory with Subtyping Based on Normalisation by Evaluation

  • Daniel Fridlender
  • Miguel Pagano
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7941)

Abstract

We present a core Martin-Löf type theory with subtyping; it has a cumulative hierarchy of universes and the contravariant rule for subtyping between dependent product types. We extend to this calculus the normalisation by evaluation technique defined for a variant of MLTT without subtyping. This normalisation function makes the subtyping relation and type-checking decidable. To our knowledge, this is the first time that the normalisation by evaluation technique has been considered in the context of subtypes, which introduce some subtleties in the proof of correctness of NbE; an important result to prove correctness and completeness of type-checking.

Keywords

Normal Form Type Theory Logical Relation Equality Rule Proof Assistant 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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
  2. 2.
    Abel, A., Coquand, T., Pagano, M.: A modular type-checking algorithm for type theory with singleton types and proof irrelevance. Logical Methods in Computer Science 7(2) (2011)Google Scholar
  3. 3.
    Abramsky, S., Jung, A.: Domain Theory. In: Handbook of Logic in Computer Science, pp. 1–168. Oxford University Press (1994)Google Scholar
  4. 4.
    Adams, R.: Pure type systems with judgemental equality. Journal of Functional Programming 16(2), 219–246 (2006)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Aspinall, D., Compagnoni, A.B.: Subtyping dependent types. Theor. Comput. Sci. 266(1-2), 273–309 (2001)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Betarte, G., Tasistro, A.: Extension of Martin-Löf type theory with record types and subtyping. Oxford Logic Guides, pp. 20–42. Oxford University Press, USA (1998)Google Scholar
  7. 7.
    Coquand, T.: An algorithm for type-checking dependent types. Science of Computer Programming 26, 167–177 (1996)MathSciNetzbMATHCrossRefGoogle Scholar
  8. 8.
    Coquand, T., Pollack, R., Takeyama, M.: A logical framework with dependently typed records. Fundamenta Informaticæ 65(1-2), 113–134 (2005)MathSciNetzbMATHGoogle Scholar
  9. 9.
    Dybjer, P.: A general formulation of simultaneous inductive-recursive definitions in type theory. Journal of Symbolic Logic 65 (2000)MathSciNetCrossRefGoogle Scholar
  10. 10.
    Fiore, M.: Semantic analysis of normalisation by evaluation for typed lambda calculus. In: Proceedings of the 4th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming, PPDP 2002, pp. 26–37. ACM, New York (2002)CrossRefGoogle Scholar
  11. 11.
    Luo, Z.: Computation and reasoning: a type theory for computer science. International series of monographs on computer science. Clarendon Press (1994)Google Scholar
  12. 12.
    Luo, Z., Soloviev, S., Xue, T.: Coercive subtyping: Theory and implementation. Inf. Comput. 223, 18–42 (2013)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Martin-Löf, P.: An Intuitonistic Theory of Types: Predicative Part. In: Logic colloquium 1973: Proceedings of the Logic Colloquium, Bristol, pp. 73–118 (1975)Google Scholar
  14. 14.
    Scherer, G.: Universe subtyping in Martin-Löf type theory. Technical report, Ludwig-Maximilians-Universität München (2011)Google Scholar
  15. 15.
    Siles, V., Herbelin, H.: Pure type system conversion is always typable. J. Funct. Program. 22(2), 153–180 (2012)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Stone, C.A., Harper, R.: Extensional equivalence and singleton types. ACM Trans. Comput. Logic 7(4), 676–722 (2006)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Zwanenburg, J.: Pure type systems with subtyping. In: Girard, J.-Y. (ed.) TLCA 1999. LNCS, vol. 1581, pp. 381–396. Springer, Heidelberg (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Daniel Fridlender
    • 1
  • Miguel Pagano
    • 1
  1. 1.Universidad Nacional de CórdobaArgentina

Personalised recommendations