Irrelevance in Type Theory with a Heterogeneous Equality Judgement

  • Andreas Abel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6604)

Abstract

Dependently typed programs contain an excessive amount of static terms which are necessary to please the type checker but irrelevant for computation. To obtain reasonable performance of not only the compiled program but also the type checker such static terms need to be erased as early as possible, preferably immediately after type checking. To this end, Pfenning’s type theory with irrelevant quantification, that models a distinction between static and dynamic code, is extended to universes and large eliminations. Novel is a heterogeneously typed implementation of equality which allows the smooth construction of a universal Kripke model that proves normalization, consistency and decidability.

Keywords

dependent types proof irrelevance heterogeneously typed equality algorithmic equality logical relation universal Kripke model 

References

  1. 1.
    Abel, A.: Extensional normalization in the logical framework with proof irrelevant equality. In: Danvy, O. (ed.) 2009 Wksh. on Normalization by Evaluation (2009)Google Scholar
  2. 2.
    Abel, A.: MiniAgda: Integrating sized and dependent types. In: Bove, A., Komendantskaya, E., Niqui, M. (eds.) Wksh. on Partiality And Recursion in Interactive Theorem Provers (PAR 2010) (2010)Google Scholar
  3. 3.
    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
  4. 4.
    Abel, A., Coquand, T., Pagano, M.: A modular type-checking algorithm for type theory with singleton types and proof irrelevance. In: Curien, P.-L. (ed.) TLCA 2009. LNCS, vol. 5608, pp. 5–19. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  5. 5.
    Amadio, R.M. (ed.): FOSSACS 2008. LNCS, vol. 4962. Springer, Heidelberg (2008)MATHGoogle Scholar
  6. 6.
    Augustsson, L.: Cayenne - a language with dependent types. In: Proc. of the 3rd ACM SIGPLAN Int. Conf. on Functional Programming (ICFP 1998). SIGPLAN Notices, vol. 34, pp. 239–250. ACM Press, New York (1999)Google Scholar
  7. 7.
    Awodey, S., Bauer, A.: Propositions as [Types]. J. Log. Comput. 14(4), 447–471 (2004)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Barras, B., Bernardo, B.: The implicit calculus of constructions as a programming language with dependent types. In: Amadio [5], pp. 365–379Google Scholar
  9. 9.
    Bove, A., Dybjer, P., Norell, U.: A Brief Overview of Agda – A Functional Language with Dependent Types. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 73–78. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  10. 10.
    Coquand, T.: An algorithm for type-checking dependent types. In: Proc. of the 3rd Int. Conf. on Mathematics of Program Construction, MPC 1995. Sci. Comput. Program., vol. 26, pp. 167–177. Elsevier, Amsterdam (1996)Google Scholar
  11. 11.
    Goguen, H.: A Typed Operational Semantics for Type Theory. PhD thesis, University of Edinburgh, Available as LFCS Report ECS-LFCS-94-304 (August 1994)Google Scholar
  12. 12.
    Harper, R., Pfenning, F.: On equivalence and canonical forms in the LF type theory. ACM Transactions on Computational Logic 6(1), 61–101 (2005)MathSciNetCrossRefGoogle Scholar
  13. 13.
    INRIA. The Coq Proof Assistant Reference Manual. INRIA, version 8.2 edition (2008), http://coq.inria.fr/
  14. 14.
    Letouzey, P.: A new extraction for coq. In: Geuvers, H., Wiedijk, F. (eds.) TYPES 2002. LNCS, vol. 2646, pp. 200–219. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
    McBride, C., McKinna, J.: The view from the left. J. Func. Program (2004)Google Scholar
  16. 16.
    Miquel, A.: A model for impredicative type systems, universes, intersection types and subtyping. In: Proc. of the 15th IEEE Symp. on Logic in Computer Science (LICS 2000), pp. 18–29 (2000)Google Scholar
  17. 17.
    Miquel, A.: The Implicit Calculus of Constructions. In: Abramsky, S. (ed.) TLCA 2001. LNCS, vol. 2044, pp. 344–359. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  18. 18.
    Miquel, A.: Le Calcul des Constructions implicite: syntaxe et sémantique. PhD thesis, Université Paris 7 (December 2001)Google Scholar
  19. 19.
    Mishra-Linger, N., Sheard, T.: Erasure and polymorphism in pure type systems. In: Amadio [5], pp. 350–364Google Scholar
  20. 20.
    Mishra-Linger, R.N.: Irrelevance, Polymorphism, and Erasure in Type Theory. PhD thesis, Portland State University (2008)Google Scholar
  21. 21.
    Paulin-Mohring, C., Werner, B.: Synthesis of ML programs in the system Coq. J. Symb. Comput. 15(5/6), 607–640 (1993)MathSciNetCrossRefGoogle Scholar
  22. 22.
    Pfenning, F.: Intensionality, extensionality, and proof irrelevance in modal type theory. In: LICS 2001: IEEE Symposium on Logic in Computer Science (June 2001)Google Scholar
  23. 23.
    Reed, J.: Proof irrelevance and strict definitions in a logical framework, Senior Thesis, published as Carnegie-Mellon University technical report CMU-CS-02-153 (2002)Google Scholar
  24. 24.
    Reed, J.: Extending Higher-Order Unification to Support Proof Irrelevance. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 238–252. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  25. 25.
    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 2011

Authors and Affiliations

  • Andreas Abel
    • 1
  1. 1.Department of Computer ScienceLudwig-Maximilians-UniversityMunichGermany

Personalised recommendations