Results 1  10
of
17
Representations of stream processors using nested fixed points
 Logical Methods in Computer Science
"... Abstract. We define representations of continuous functions on infinite streams of discrete values, both in the case of discretevalued functions, and in the case of streamvalued functions. We define also an operation on the representations of two continuous functions between streams that yields a ..."
Abstract

Cited by 16 (2 self)
 Add to MetaCart
Abstract. We define representations of continuous functions on infinite streams of discrete values, both in the case of discretevalued functions, and in the case of streamvalued functions. We define also an operation on the representations of two continuous functions between streams that yields a representation of their composite. In the case of discretevalued functions, the representatives are wellfounded (finitepath) trees of a certain kind. The underlying idea can be traced back to Brouwer’s justification of barinduction, or to Kreisel and Troelstra’s elimination of choicesequences. In the case of streamvalued functions, the representatives are nonwellfounded trees pieced together in a coinductive fashion from wellfounded trees. The definition requires an alternating fixpoint construction of some ubiquity.
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
foetus – Termination Checker for Simple Functional Programs
, 1998
"... We introduce a simple functional language foetus (lambda calculus with tuples, constructors and pattern matching) supplied with a termination checker. This checker tries to find a wellfounded structural order on the parameters on the given function to prove termination. The components of the check ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
We introduce a simple functional language foetus (lambda calculus with tuples, constructors and pattern matching) supplied with a termination checker. This checker tries to find a wellfounded structural order on the parameters on the given function to prove termination. The components of the check algorithm are: function call extraction out of the program text, call graph completion and finding a lexical order for the function parameters. The HTML version of this paper contains many readytorun Webbased examples.
Beating the Productivity Checker Using Embedded Languages
"... Abstract. Some total languages, like Agda and Coq, allow the use of guarded corecursion to construct infinite values and proofs. Guarded corecursion is a form of recursion in which arbitrary recursive calls are allowed, as long as they are guarded by a coinductive constructor. Guardedness ensures th ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
Abstract. Some total languages, like Agda and Coq, allow the use of guarded corecursion to construct infinite values and proofs. Guarded corecursion is a form of recursion in which arbitrary recursive calls are allowed, as long as they are guarded by a coinductive constructor. Guardedness ensures that programs are productive, i.e. that every finite prefix of an infinite value can be computed in finite time. However, many productive programs are not guarded, and it can be nontrivial to put them in guarded form. This paper gives a method for turning a productive program into a guarded program. The method amounts to defining a problemspecific language as a data type, writing the program in the problemspecific language, and writing a guarded interpreter for this language. 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
Confluence of the Coinductive LambdaCalculus
, 2001
"... The coinductive calculus co arises by a coinductive interpretation of the grammar of the standard calculus and contains nonwellfounded terms. An appropriate notion of reduction is analyzed and proven to be conuent by means of a detailed analysis of the usual Tait/MartinL of style developme ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
The coinductive calculus co arises by a coinductive interpretation of the grammar of the standard calculus and contains nonwellfounded terms. An appropriate notion of reduction is analyzed and proven to be conuent by means of a detailed analysis of the usual Tait/MartinL of style development argument. This yields bounds for the lengths of those joining reduction sequences that are guaranteed to exist by conuence. These bounds also apply to the wellfounded calculus.
A Hierarchy of Languages with Strong Termination Properties
, 2000
"... In previous papers we have proposed an elementary discipline of strong functional programming (ESFP), in which all computations terminate. A key feature of the discipline is that we introduce a type distinction between data which is known to be finite, and codata which is (potentially) infinite. To ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
In previous papers we have proposed an elementary discipline of strong functional programming (ESFP), in which all computations terminate. A key feature of the discipline is that we introduce a type distinction between data which is known to be finite, and codata which is (potentially) infinite. To ensure termination, recursion over data must be wellfounded, and corecursion (the definition schema for codata) must be productive, and both of these restrictions must be enforced automatically by the compiler. In our previous work we used abstract interpretation to establish the productivity of corecursive definitions in an elementary strong functional language. We show here that similar ideas can be applied in the dual case to check whether recursive function definitions are strongly normalising. We thus exhibit a powerful termination analysis technique which we demonstrate can be extended to partial functions.
REPRESENTATIONS OF STREAM PROCESSORS USING NESTED FIXED POINTS
, 2008
"... Vol. 5 (3:9) 2009, pp. 1–17 www.lmcsonline.org ..."
Confluence of the Coinductive LambdaCalculus
, 2003
"... Abstract The coinductive *calculus \Lambda co arises by a coinductive interpretation of the grammar of the standard *calculus \Lambda and contains nonwellfounded *terms. An appropriate notion of reduction is analyzed and proven to be confluent by means of a detailed analysis of the usual Tait/Ma ..."
Abstract
 Add to MetaCart
Abstract The coinductive *calculus \Lambda co arises by a coinductive interpretation of the grammar of the standard *calculus \Lambda and contains nonwellfounded *terms. An appropriate notion of reduction is analyzed and proven to be confluent by means of a detailed analysis of the usual Tait/MartinL&quot;of style development argument. This yields bounds for the lengths of those joining reduction sequences that are guaranteed to exist by confluence. These bounds also apply to the wellfounded *calculus, thus adding quantitative information to the classic result. Introduction Coinductive structures provide a natural environment for the semantics of infinite objects such as streams, or runs of an automaton. Here, we apply some of the methods established in coalgebra to the structure \Lambda co, arising through a coinductive interpretation of the grammar of the *calculus \Lambda. This system of possibly nonwellfounded terms gives rise to interesting phenomena, e.g., allows a direct definition of the recursion operator Yr: = r(Yr).1 We study a (parallel) notion of reduction that permits reduction steps of the form2
Confluence of the Coinductive
, 2003
"... The coinductive λcalculus Λ co arises by a coinductive interpretation of the grammar of the standard λcalculus Λ and contains nonwellfounded λterms. An appropriate notion of reduction is analyzed and proven to be confluent by means of a detailed analysis of the usual Tait/MartinLöf style develo ..."
Abstract
 Add to MetaCart
The coinductive λcalculus Λ co arises by a coinductive interpretation of the grammar of the standard λcalculus Λ and contains nonwellfounded λterms. An appropriate notion of reduction is analyzed and proven to be confluent by means of a detailed analysis of the usual Tait/MartinLöf style development argument. This yields bounds for the lengths of those joining reduction sequences that are guaranteed to exist by confluence. These bounds also apply to the wellfounded λcalculus, thus adding quantitative information to the classic result.