Results 1 -
7 of
7
The Π0 2-Completeness 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 2 (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
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 2 (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 well-defined results is for programming with finite structures. Fractran is a simple Turing-complete programming language invented by Conway. We prove that the question whether a Fractran program halts on all positive integers is Π 0 2-complete. 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 2-complete 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 first-order logic. 1
Productivity of Stream Definitions ✩
"... 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 pro ..."
Abstract
- Add to MetaCart
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. Key words: recursive stream definitions, productivity, functional programming, dataflow networks 1.
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
- 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 context-sensitive 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 well-known 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 well-known 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 so-called 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
www.elsevier.com/locate/entcs Observational Coalgebras and Complete Sets of Co-operations
"... In this paper we introduce the notion of an observational coalgebra structure and of a complete set of co-operations. We demonstrate in various example the usefulness of these notions, in particular, we show how they give rise to coalgebraic proof and definition principles. Keywords: Coalgebra, Coin ..."
Abstract
- Add to MetaCart
In this paper we introduce the notion of an observational coalgebra structure and of a complete set of co-operations. We demonstrate in various example the usefulness of these notions, in particular, we show how they give rise to coalgebraic proof and definition principles. Keywords: Coalgebra, Coinduction, infinite data structures, Hidden Algebra.
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 non-standard 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

