Results 1  10
of
12
Productivity of Stream Definitions
, 2008
"... We give an algorithm for deciding productivity of a large and natural class of recursive stream definitions. A stream definition is called ‘productive’ if it can be evaluated continually in such a way that a uniquely determined stream in constructor normal form is obtained as the limit. Whereas prod ..."
Abstract

Cited by 22 (4 self)
 Add to MetaCart
(Show Context)
We give an algorithm for deciding productivity of a large and natural class of recursive stream definitions. A stream definition is called ‘productive’ if it can be evaluated continually in such a way that a uniquely determined stream in constructor normal form is obtained as the limit. Whereas productivity is undecidable for stream definitions in general, we show that it can be decided for ‘pure’ stream definitions. For every pure stream definition the process of its evaluation can be modelled by the dataflow of abstract stream elements, called ‘pebbles’, in a finite ‘pebbleflow net(work)’. And the production of a pebbleflow net associated with a pure stream definition, that is, the amount of pebbles the net is able to produce at its output port, can be calculated by reducing nets to trivial nets.
Inductive and coinductive components of corecursive functions
 in Coq. ENTSC 203
, 2008
"... ar ..."
(Show Context)
R.: Upper bounds on stream I/O using semantic interpretations
 In: CSL 2009. LNCS
, 2009
"... Abstract. This paper extends for the first time semantic interpretation tools to infinite data in order to ensure Input/Output upper bounds on first order Haskell like programs on streams. By I/O upper bounds, we mean temporal relations between the number of reads performed on the input stream eleme ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
(Show Context)
Abstract. This paper extends for the first time semantic interpretation tools to infinite data in order to ensure Input/Output upper bounds on first order Haskell like programs on streams. By I/O upper bounds, we mean temporal relations between the number of reads performed on the input stream elements and the number of output elements produced. We study several I/O upper bounds properties that are of both theoretical and practical interest in order to avoid memory overflows. 1
Coinductive Field of Exact Real Numbers and General Corecursion
, 2006
"... In this article we present a method to define algebraic structure (field operations) on a representation of real numbers by coinductive streams. The field operations will be given in two algorithms (homographic and quadratic algorithm) that operate on streams of Möbius maps. The algorithms can be se ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
In this article we present a method to define algebraic structure (field operations) on a representation of real numbers by coinductive streams. The field operations will be given in two algorithms (homographic and quadratic algorithm) that operate on streams of Möbius maps. The algorithms can be seen as coalgebra maps on the coalgebra of streams and hence they will be formalised as general corecursive functions. We use the machinery of Coq proof assistant for coinductive types to present the formalisation.
Representing Contractive Functions on Streams
 UNDER CONSIDERATION FOR PUBLICATION IN THE JOURNAL OF FUNCTIONAL PROGRAMMING
, 2011
"... Streams, or infinite lists, have many applications in functional programming, and are naturally defined using recursive equations. But how do we ensure that such equations make sense, i.e. that they actually produce welldefined streams? In this article we present a new approach to this problem, bas ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Streams, or infinite lists, have many applications in functional programming, and are naturally defined using recursive equations. But how do we ensure that such equations make sense, i.e. that they actually produce welldefined streams? In this article we present a new approach to this problem, based upon the topological notion of contractive functions on streams. In particular, we give a sound and complete representation theorem for contractive functions on streams, illustrate the use of this theorem as a practical means to produce welldefined streams, and show how the efficiency of the resulting definitions can be improved using another representation of contractive functions.
Global and local space properties of stream programs
 in "First International Workshop on Foundational and Practical Aspects of Resource Analysis  FOPARA 2009", Eindhoven PaysBas, M. VAN EEKELEN, O. SHKARAVSKA (editors), Lecture notes in computer science
"... Abstract. In this paper, we push forward the approach proposed in [1] aiming at studying semantic interpretation criteria for the purpose of ensuring safety and complexity properties of programs working on streams. The paper improves the previous results by considering global and local upper bounds ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Abstract. In this paper, we push forward the approach proposed in [1] aiming at studying semantic interpretation criteria for the purpose of ensuring safety and complexity properties of programs working on streams. The paper improves the previous results by considering global and local upper bounds properties of both theoretical and practical interests guaranteeing that the size of each output stream element is bounded by a function in the maximal size of the input stream elements. Moreover, in contrast to previous studies, these properties also apply to a wide class of stream definitions, that is functions that do not have streams in the input but produce an output stream. 1
Productive functions as Termcoalgebra anamorphisms in
, 2010
"... We present a method for implementing a class of productive functions in Coq. The method is based on the construction of a term language out of the specification and enforce a suitable coalgebra structure on it. By finality we obtain an interpretation map; the original definition is then shown to be ..."
Abstract
 Add to MetaCart
We present a method for implementing a class of productive functions in Coq. The method is based on the construction of a term language out of the specification and enforce a suitable coalgebra structure on it. By finality we obtain an interpretation map; the original definition is then shown to be bisimilar to the image of this interpretation. In this respect we study the unique existence of solutions to the original specification. We describe a class of functions to which this method is applicable. 1
TuringCompleteness of Polymorphic Stream Equation Systems
"... Polymorphic stream functions operate on the structure of streams, infinite sequences of elements, without inspection of the contained data, having to work on all streams over all signatures uniformly. A natural, yet restrictive class of polymorphic stream functions comprises those definable by a sys ..."
Abstract
 Add to MetaCart
Polymorphic stream functions operate on the structure of streams, infinite sequences of elements, without inspection of the contained data, having to work on all streams over all signatures uniformly. A natural, yet restrictive class of polymorphic stream functions comprises those definable by a system of equations using only stream constructors and destructors and recursive calls. Using methods reminiscent of prior results in the field, we first show this class consists of exactly the computable polymorphic stream functions. Using much more intricate techniques, our main result states this holds true even for unary equations free of mutual recursion, yielding an elegant model of Turingcompleteness in a severely restricted environment and allowing us to recover previous complexity results in a much more restricted setting.
Representing Contractive Functions on Streams (Extended Version)
 UNDER CONSIDERATION FOR PUBLICATION IN THE JOURNAL OF FUNCTIONAL PROGRAMMING
, 2011
"... Streams, or infinite lists, have many applications in functional programming, and are naturally defined using recursive equations. But how do we ensure that such equations make sense, i.e. that they actually produce welldefined streams? In this article we present a new approach to this problem, bas ..."
Abstract
 Add to MetaCart
Streams, or infinite lists, have many applications in functional programming, and are naturally defined using recursive equations. But how do we ensure that such equations make sense, i.e. that they actually produce welldefined streams? In this article we present a new approach to this problem, based upon the topological notion of contractive functions on streams. In particular, we give a sound and complete representation theorem for contractive functions on streams, illustrate the use of this theorem as a practical means to produce welldefined streams, and show how the efficiency of the resulting definitions can be improved using another representation of contractive functions.
found at the ENTCS Macro Home Page. Inductive and Coinductive Components of Corecursive Functions in Coq
"... Replace this file with prentcsmacro.sty for your meeting, ..."
(Show Context)