Inductive and Coinductive Components of Corecursive Functions in Coq

Yves Bertot, Ekaterina Komendantskaya
2008 Electronical Notes in Theoretical Computer Science  
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
more » ... sue 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.
doi:10.1016/j.entcs.2008.05.018 fatcat:qrgv6n7f2re23cacun2fcs3r5i