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 inductiv...
AbstractGuarded recursion is a form of recursion where recursive calls are guarded by delay modaliti...
In total functional (co)programming valid programs are guaranteed to always produce (part of) their ...
We propose a simple calculus for processing data streams (infinite flows of data series), represente...
We propose a (limited) solution to the problem of constructing stream values defined by recursive eq...
International audienceWe propose a (limited) solution to the problem of constructing stream values d...
Bove and Capretta’s popular method for justifying function definitions by general recursive equation...
Programmers happily use induction to prove properties of recursive programs. To show properties of c...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
AbstractIn Constructive Type Theory, recursive and corecursive definitions are subject to syntactic ...
We propose a practical method for defining and proving properties of general (i.e., not necessarily ...
This paper shows how to reason about streams concisely and precisely. Streams, infinite sequences of...
Guarded recursion is a form of recursion where recursive calls are guarded by delay modalities. Prev...
In type theory based logical frameworks, recursive and corecursive definitions are subject to syntac...
This paper describes a formalization of the weakest precondition, wp, for general recursive progra...
AbstractGuarded recursion is a form of recursion where recursive calls are guarded by delay modaliti...
In total functional (co)programming valid programs are guaranteed to always produce (part of) their ...
We propose a simple calculus for processing data streams (infinite flows of data series), represente...
We propose a (limited) solution to the problem of constructing stream values defined by recursive eq...
International audienceWe propose a (limited) solution to the problem of constructing stream values d...
Bove and Capretta’s popular method for justifying function definitions by general recursive equation...
Programmers happily use induction to prove properties of recursive programs. To show properties of c...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
AbstractIn Constructive Type Theory, recursive and corecursive definitions are subject to syntactic ...
We propose a practical method for defining and proving properties of general (i.e., not necessarily ...
This paper shows how to reason about streams concisely and precisely. Streams, infinite sequences of...
Guarded recursion is a form of recursion where recursive calls are guarded by delay modalities. Prev...
In type theory based logical frameworks, recursive and corecursive definitions are subject to syntac...
This paper describes a formalization of the weakest precondition, wp, for general recursive progra...
AbstractGuarded recursion is a form of recursion where recursive calls are guarded by delay modaliti...
In total functional (co)programming valid programs are guaranteed to always produce (part of) their ...
We propose a simple calculus for processing data streams (infinite flows of data series), represente...