Skip to main content

Codifying guarded definitions with recursive schemes

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 996))

Abstract

We formalize an extension of the Calculus of Constructions with inductive and coinductive types which allows a more direct description of recursive definitions. The approach we follow is close to the one proposed for Martin-Löf's type theory in [5]. Recursive objects can be defined by fixed-point definitions as in functional programming languages, and a syntactical checking of these definitions avoids the introduction of non-normalizable terms. We show that the conditions for accepting a recursive definition proposed in [5] are not sufficient for the Calculus of Constructions, and we modify them. As a way of justifying our conditions, we develop a general method to codify a fix point definition satisfying them using well-known recursive schemes, like primitive recursion and co-recursion. We also propose different reduction rules from the ones used in [5] in order to obtain a decidable conversion relation for the system.

This research was partially supported by ESPRIT Basic Research Action “Types for Proofs and Programs” and by Programme de Recherches Coordonnées and CNRS Groupement de Recherche “Programmation”.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Peter Aczel. Non-Well-Founded Sets, volume 14 of CLSI Lecture Notes. 1988.

    Google Scholar 

  2. H. Barendregt. Lambda Calculi with types. Technical Report 91-19, Catholic University of Nijmegen, 1991.

    Google Scholar 

  3. T. Coquand. Metamathematical Investigations of a Calculus of Constructions. In P. Odifreddi, editor, Logic and Computer Science, volume 31 of The APIC series, pages 91–122. Academic Press, 1990.

    Google Scholar 

  4. Thierry Coquand. Pattern-Matching in type theory. In Bengt Nordström, Kent Petersson, Gordon Plotkin, editor, Informal Proceedings of the 1992 Workshop on Types for Proofs and Programs, pages 71–84, 1992.

    Google Scholar 

  5. Thierry Coquand. Infinite objects in Type Theory. In Henk Barendregt, Tobias Nipkow, editor, Types for Proofs and Programs, pages 62–78. LNCS 806, 1993.

    Google Scholar 

  6. G. Dowek et al. The Coq Proof assistant user's guide — Version 5.8. Technical Report 154, INRIA Roquencourt, 1993.

    Google Scholar 

  7. Herman Geuvers. Inductive and Coinductive types with iteration and recursion. In Bengt Nordström, Kent Petersson, Gordon Plotkin, editor, Informal Proceedings of the 1992 Workshop on Types for Proofs and Programs, pages 193–217, 1992.

    Google Scholar 

  8. E. Giménez. Codifying guarded definitions with recursive schemes. Technical report, Laboratoire de l'Informatique du Parallélisme, ENS-Lyon, 1994.

    Google Scholar 

  9. Francois Leclerc and Christine Paulin-Mohring. Programming with streams in Coq. A case study: the Sieve of Eratosthenes. In Henk Barendregt, Tobias Nipkow, editor, Types for Proofs and Programs, pages 191–212. LNCS 806, 1993.

    Google Scholar 

  10. F.P. Mendier. Inductive Definitions in Type Theory. PhD thesis, Cornell University, 1987.

    Google Scholar 

  11. Christine Paulin-Mohring. Extraction de programmes dans le Calcul des Constructions. PhD thesis, Université Paris VII, 1989.

    Google Scholar 

  12. Christine Paulin-Mohring. Inductive definitions in the system Coq: Rules and Properties. In M. Bezem, J.F. Groote, editor, Proceedings of the TLCA, 1993.

    Google Scholar 

  13. Lawrence Paulson. Co-induction and Co-recursion in Higher-order Logic. Technical report, Computer Laboratory, University of Cambridge, 1993.

    Google Scholar 

  14. Andrew M. Pitts. A co-induction principle for recursively defined domains. Technical Report 252, Computer Laboratory, University of Cambridge, April 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Peter Dybjer Bengt Nordström Jan Smith

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Giménez, E. (1995). Codifying guarded definitions with recursive schemes. In: Dybjer, P., Nordström, B., Smith, J. (eds) Types for Proofs and Programs. TYPES 1994. Lecture Notes in Computer Science, vol 996. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60579-7_3

Download citation

  • DOI: https://doi.org/10.1007/3-540-60579-7_3

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-47770-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics