Inductive and coinductive components of corecursive functions in Coq

Yves Bertot, Ekaterina Komendantskaya

    Research output: Contribution to journalArticlepeer-review

    18 Citations (Scopus)


    In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrictions which guarantee termination for recursive functions and productivity for corecursive functions. However, many terminating and productive functions do not pass the syntactic tests. Bove proposed in her thesis an elegant reformulation of the method of accessibility predicates that widens the range of terminative recursive functions formalisable in Constructive Type Theory. In this paper, we pursue the same goal for productive corecursive functions. Notably, our method of formalisation of coinductive definitions of productive functions in Coq requires not only the use of ad-hoc predicates, but also a systematic algorithm that separates the inductive and coinductive parts of functions.
    Original languageEnglish
    Pages (from-to)25-47
    Number of pages23
    JournalElectronic Notes in Theoretical Computer Science
    Issue number5
    Publication statusPublished - 12 Jun 2008


    • Coq
    • Induction
    • Coinduction
    • Productiveness
    • Guardedness
    • Accessibility predicates


    Dive into the research topics of 'Inductive and coinductive components of corecursive functions in Coq'. Together they form a unique fingerprint.

    Cite this