Skip to main content

CIC\(\widehat{~}\): Type-Based Termination of Recursive Definitions in the Calculus of Inductive Constructions

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 4246))

Abstract

Sized types provides a type-based mechanism to enforce termination of recursive definitions in typed λ-calculi. Previous work has provided strong indications that type-based termination provides an appropriate foundation for proof assistants based on type theory; however, most work to date has been confined to non-dependent type systems. In this article, we introduce a variant of the Calculus of Inductive Constructions with sized types and study its meta theoretical properties: subject reduction, normalization, and thus consistency and decidability of type-checking and of size-inference. A prototype implementation has been developed alongside case studies.

More details on difficulties with Coq, case studies, remaining issues and proofs and an implementation are available from the second author’s web page.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abel, A.: Termination checking with types. RAIRO– Theoretical Informatics and Applications 38, 277–320 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  2. Abel, A.: A Polymorphic Lambda-Calculus with Sized Higher-Order Types. PhD thesis, Ludwig-Maximilians-Universität München (2006)

    Google Scholar 

  3. Barendregt, H.: Lambda calculi with types. In: Abramsky, S., Gabbay, D., Maibaum, T. (eds.) Handbook of Logic in Computer Science, vol. 2, pp. 117–309. Oxford Science Publications (1992)

    Google Scholar 

  4. Barras, B.: Auto-validation d’un système de preuves avec familles inductives. PhD thesis, Université Paris 7 (1999)

    Google Scholar 

  5. Barthe, G., Forest, J., Pichardie, D., Rusu, V.: Defining and Reasoning About Recursive Functions: A Practical Tool for the Coq Proof Assistant. In: Hagiya, M., Wadler, P. (eds.) FLOPS 2006. LNCS, vol. 3945, pp. 114–129. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  6. Barthe, G., Frade, M.J., Giménez, E., Pinto, L., Uustalu, T.: Type-based termination of recursive definitions. Mathematical Structures in Computer Science 14, 97–141 (2004)

    Article  MATH  Google Scholar 

  7. Barthe, G., Grégoire, B., Pastawski, F.: Practical inference for type-based termination in a polymorphic setting. In: Urzyczyn, P. (ed.) TLCA 2005. LNCS, vol. 3461, pp. 71–85. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  8. Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development— Coq’Art: The Calculus of Inductive Constructions. In: Texts in Theoretical Computer Science. Springer, Heidelberg (2004)

    Google Scholar 

  9. Blanqui, F.: Théorie des Types et Récriture. PhD thesis, Université Paris XI, Orsay, France (2001); Available in english as ”Type theory and Rewriting”

    Google Scholar 

  10. Blanqui, F.: A type-based termination criterion for dependently-typed higher-order rewrite systems. In: van Oostrom, V. (ed.) RTA 2004. LNCS, vol. 3091, pp. 24–39. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  11. Blanqui, F.: Decidability of type-checking in the calculus of algebraic constructions with size annotations. In: Ong, L. (ed.) CSL 2005. LNCS, vol. 3634, pp. 135–150. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  12. Blanqui, F., Riba, C.: Constraint based termination (manuscript, 2006)

    Google Scholar 

  13. Bove, A., Capretta, V.: Modelling general recursion in type theory. Mathematical Structures in Computer Science 15, 671–708 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  14. Chin, W.-N., Khoo, S.-C.: Calculating sized types. Higher-Order and Symbolic Computation 14(2–3), 261–300 (2001)

    Article  MATH  Google Scholar 

  15. Coquand, T., Paulin, C.: Inductively defined types. In: Martin-Löf, P., Mints, G. (eds.) COLOG 1988. LNCS, vol. 417, pp. 50–66. Springer, Heidelberg (1990)

    Google Scholar 

  16. Geuvers, H.: A short and flexible proof of strong normalisation for the Calculus of Constructions. In: Smith, J., Dybjer, P., Nordström, B. (eds.) TYPES 1994. LNCS, vol. 996, pp. 14–38. Springer, Heidelberg (1995)

    Google Scholar 

  17. Giménez, E.: Structural Recursive Definitions in Type Theory. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 397–408. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  18. Hughes, J., Pareto, L., Sabry, A.: Proving the correctness of reactive systems using sized types. In: Proceedings of POPL 1996, pp. 410–423. ACM Press, New York (1996)

    Chapter  Google Scholar 

  19. Jouannaud, J.-P., Okada, M.: Executable higher-order algebraic specification languages. In: Proceedings of LICS 1991, pp. 350–361. IEEE Computer Society Press, Los Alamitos (1991)

    Google Scholar 

  20. Lee, C.-S., Jones, N.D., Ben-Amram, A.M.: The size-change principle for program termination. In: Proceedings of POPL 2001, pp. 81–92. ACM Press, New York (2001)

    Google Scholar 

  21. Mendler, N.P.: Inductive types and type constraints in the second-order lambda calculus. Annals of Pure and Applied Logic 51(1-2), 159–172 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  22. Paulin-Mohring, C.: Définitions Inductives en Theorie des Types d’Ordre Superieur. Habilitation à diriger les recherches, Université Claude Bernard Lyon I (1996)

    Google Scholar 

  23. Wahlstedt, D.: Type theory with first-order data types and size-change termination. Technical report, Chalmers University of Technology, Licentiate thesis 2004, No. 36L (2004)

    Google Scholar 

  24. Werner, B.: Méta-théorie du Calcul des Constructions Inductives. PhD thesis, Université Paris 7 (1994)

    Google Scholar 

  25. Xi, H.: Dependent Types for Program Termination Verification. In: Proceedings of LICS 2001, pp. 231–242. IEEE Computer Society Press, Los Alamitos (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Barthe, G., Grégoire, B., Pastawski, F. (2006). CIC\(\widehat{~}\): Type-Based Termination of Recursive Definitions in the Calculus of Inductive Constructions. In: Hermann, M., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2006. Lecture Notes in Computer Science(), vol 4246. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11916277_18

Download citation

  • DOI: https://doi.org/10.1007/11916277_18

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-48281-9

  • Online ISBN: 978-3-540-48282-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics