Using Structural Recursion for Corecursion
Résumé
We address the problem of constructing stream values de- fined by recursive equations that do not respect directly the “guarded- ness” condition, and we concentrate in particular on equations where recursive call appear under functions. We use a correspondence between streams and functions over natural numbers to show that some classes of non-guarded definitions can still be modelled through the encoding as structural recursive functions. In practice, this work extends the class of stream values that can be defined in a constructive type theory-based theorem prover with inductive and coinductive types, structural recursion and guarded corecursion.
Origine : Fichiers produits par l'(les) auteur(s)