Using Structural Recursion for Corecursion - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2008

Using Structural Recursion for Corecursion

Yves Bertot


We propose a (limited) solution to the problem of constructing stream values defined by recursive equations that do not respect the guardedness condition. The guardedness condition is imposed on definitions of corecursive functions in Coq, AGDA, and other higher-order proof assistants. In this paper, we concentrate in particular on those non-guarded equations where recursive calls appear under functions. We use a correspondence between streams and functions over natural numbers to show that some classes of non-guarded definitions can 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
Fichier principal
Vignette du fichier
fibonacci.pdf (188.58 Ko) Télécharger le fichier
modcorec.v (14.04 Ko) Télécharger le fichier
Origin : Files produced by the author(s)
Format : Other

Dates and versions

inria-00322331 , version 1 (17-09-2008)
inria-00322331 , version 2 (18-09-2008)
inria-00322331 , version 3 (22-09-2008)
inria-00322331 , version 4 (23-03-2009)


  • HAL Id : inria-00322331 , version 4
  • ARXIV : 0903.3850


Yves Bertot, Ekaterina Komendantskaya. Using Structural Recursion for Corecursion. Types 2008, 2008, Torino, Italy. pp.220-236. ⟨inria-00322331v4⟩


299 View
598 Download



Gmail Facebook X LinkedIn More