Results 1  10
of
12
DataOblivious Stream Productivity
 Utrecht University
"... Abstract. We are concerned with demonstrating productivity of specifications of infinite streams of data, based on orthogonal rewrite rules. In general, this property is undecidable, but for restricted formats computable sufficient conditions can be obtained. The usual analysis, also adopted here, d ..."
Abstract

Cited by 14 (3 self)
 Add to MetaCart
Abstract. We are concerned with demonstrating productivity of specifications of infinite streams of data, based on orthogonal rewrite rules. In general, this property is undecidable, but for restricted formats computable sufficient conditions can be obtained. The usual analysis, also adopted here, disregards the identity of data, thus leading to approaches that we call dataoblivious. We present a method that is provably optimal among all such dataoblivious approaches. This means that in order to improve on our algorithm one has to proceed in a dataaware fashion. 3 1
Complexity of Fractran and productivity
 In Proceedings of the 22th Conference on Automated Deduction (CADE’09
, 2009
"... Abstract. In functional programming languages the use of infinite structures is common practice. For total correctness of programs dealing with infinite structures one must guarantee that every finite part of the result can be evaluated in finitely many steps. This is known as productivity. For prog ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
Abstract. In functional programming languages the use of infinite structures is common practice. For total correctness of programs dealing with infinite structures one must guarantee that every finite part of the result can be evaluated in finitely many steps. This is known as productivity. For programming with infinite structures, productivity is what termination in welldefined results is for programming with finite structures. Fractran is a simple Turingcomplete programming language invented by Conway. We prove that the question whether a Fractran program halts on all positive integers is Π 0 2complete. In functional programming, productivity typically is a property of individual terms with respect to the inbuilt evaluation strategy. By encoding Fractran programs as specifications of infinite lists, we establish that this notion of productivity is Π 0 2complete even for some of the most simple specifications. Therefore it is harder than termination of individual terms. In addition, we explore generalisations of the notion of productivity, and prove that their computational complexity is in the analytical hierarchy, thus exceeding the expressive power of firstorder logic. 1
The Π0 2Completeness of Most of the Properties of Rewriting Systems You Care About (and Productivity)
"... Abstract. Most of the standard pleasant properties of term rewriting systems are undecidable; to wit: local confluence, confluence, normalization, termination, and completeness. Mere undecidability is insufficient to rule out a number of possibly useful properties: For instance, if the set of normal ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Abstract. Most of the standard pleasant properties of term rewriting systems are undecidable; to wit: local confluence, confluence, normalization, termination, and completeness. Mere undecidability is insufficient to rule out a number of possibly useful properties: For instance, if the set of normalizing term rewriting systems were recursively enumerable, there would be a program yielding “yes ” in finite time if applied to any normalizing term rewriting system. The contribution of this paper is to show (the uniform version of) each member of the list of properties above (as well as the property of being a productive specification of a stream) complete for the class Π 0 2. Thus, there is neither a program that can enumerate the set of rewriting systems enjoying any one of the properties, nor is there a program enumerating the set of systems that do not. For normalization and termination we show both the ordinary version and the ground versions (where rules may contain variables, but only
Pure type systems with corecursion on streams From finite to infinitary normalisation
 IN ICFP
, 2012
"... In this paper, we use types for ensuring that programs involving streams are wellbehaved. We extend pure type systems with a type constructor for streams, a modal operator next and a fixed point operator for expressing corecursion. This extension is called Pure Type Systems with Corecursion (CoPTS) ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
In this paper, we use types for ensuring that programs involving streams are wellbehaved. We extend pure type systems with a type constructor for streams, a modal operator next and a fixed point operator for expressing corecursion. This extension is called Pure Type Systems with Corecursion (CoPTS). The typed lambda calculus for reactive programs defined by Krishnaswami and Benton can be obtained as a CoPTS. CoPTS’s allow us to study a wide range of typed lambda calculi extended with corecursion using only one framework. In particular, we study this extension for the calculus of constructions which is the underlying formal language of Coq. We use the machinery of infinitary rewriting and formalize the idea of wellbehaved programs using the concept of infinitary normalization. We study the properties of infinitary weak and strong normalization for CoPTS’s. The set of finite and infinite terms is defined as a metric completion. We shed new light on the meaning of the modal operator by connecting the modality with the depth used to define the metric. This connection is the key to the proofs of infinitary weak and strong normalization.
Using structural recursion for corecursion
 In Types for Proofs and Programs, International Conference, TYPES 2008, volume 5497 of LNCS
, 2009
"... Abstract. 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 higherorder proof assistants. In ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Abstract. 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 higherorder proof assistants. In this paper, we concentrate in particular on those nonguarded equations where recursive calls appear under functions. We use a correspondence between streams and functions over natural numbers to show that some classes of nonguarded 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 theorybased theorem prover with inductive and coinductive types, structural recursion and guarded corecursion.
Observational Coalgebras and Complete Sets of Cooperations
, 2008
"... In this paper we introduce the notion of an observational coalgebra structure and of a complete set of cooperations. We demonstrate in various example the usefulness of these notions, in particular, we show how they give rise to coalgebraic proof and definition principles. ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
In this paper we introduce the notion of an observational coalgebra structure and of a complete set of cooperations. We demonstrate in various example the usefulness of these notions, in particular, we show how they give rise to coalgebraic proof and definition principles.
PROVING PRODUCTIVITY IN INFINITE DATA STRUCTURES
"... Abstract. For a general class of infinite data structures including streams, binary trees, and the combination of finite and infinite lists, we investigate the notion of productivity. This generalizes stream productivity. We develop a general technique to prove productivity based on proving context ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. For a general class of infinite data structures including streams, binary trees, and the combination of finite and infinite lists, we investigate the notion of productivity. This generalizes stream productivity. We develop a general technique to prove productivity based on proving contextsensitive termination, by which the power of present termination tools can be exploited. In order to treat cases where the approach does not apply directly, we develop transformations extending the power of the basic approach. We present a tool combining these ingredients that can prove productivity of a wide range of examples fully automatically. 1.
London, United Kingdom
"... The structure map turning a set into the carrier of a final coalgebra is not unique. This fact is wellknown but commonly elided. In this paper we argue that any such concrete representation of a set as a final coalgebra is potentially interesting on its own. We discuss several examples, in particul ..."
Abstract
 Add to MetaCart
The structure map turning a set into the carrier of a final coalgebra is not unique. This fact is wellknown but commonly elided. In this paper we argue that any such concrete representation of a set as a final coalgebra is potentially interesting on its own. We discuss several examples, in particular, we consider different coalgebra structures that turn the set of infinite streams into the carrier of a final coalgebra. After that we focus on coalgebra structures that are made up using socalled cooperations. We say that a collection of cooperations is complete for a given set X if it gives rise to a coalgebra structure that turns X into the carrier set of a subcoalgebra of a final coalgebra. Any complete set of cooperations yields a coalgebraic proof and definition principle. We exploit this fact and devise a general definition scheme for constants and functions on a set X that is parametrically in the choice of the complete set of cooperations for X. Key words: Coalgebra, coinduction, infinite data structures, hidden algebra. 1
Stream Differential Equations: concrete formats for coinductive definitions
, 2011
"... In this article we give an accessible introduction to stream differential equations, ie., equations that take the shape of differential equations from analysis and that are used to define infinite streams. Furthermore we discuss a syntactic format for stream differential equations that ensures that ..."
Abstract
 Add to MetaCart
In this article we give an accessible introduction to stream differential equations, ie., equations that take the shape of differential equations from analysis and that are used to define infinite streams. Furthermore we discuss a syntactic format for stream differential equations that ensures that any system of equations that fits into the format has a unique solution. It turns out that the stream functions that can be defined using our format are precisely the causal stream functions. Finally, we are going to discuss nonstandard stream calculus that uses basic (co)operations different from the usual head and tail operations in order to define and to reason about streams and stream functions. 1