Results 1  10
of
10
CIRC : A Circular Coinductive Prover
 In CALCO, LNCS 4624
, 2007
"... Abstract. CIRC is an automated circular coinductive prover implemented as an extension of Maude. The circular coinductive technique that forms the core of CIRC is discussed, together with a highlevel implementation using metalevel capabilities of rewriting logic. To reflect the strength of CIRC i ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
(Show Context)
Abstract. CIRC is an automated circular coinductive prover implemented as an extension of Maude. The circular coinductive technique that forms the core of CIRC is discussed, together with a highlevel implementation using metalevel capabilities of rewriting logic. To reflect the strength of CIRC in automatically proving behavioral properties, an example defining and proving properties about infinite streams of infinite binary trees is shown. CIRC also provides limited support for automated inductive proving, which can be used in combination with coinduction. 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
(Show Context)
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
Levels of Undecidability in Rewriting
, 2011
"... Undecidability of various properties of first order term rewriting systems is wellknown. An undecidable property can be classified by the complexity of the formula defining it. This classification gives rise to a hierarchy of distinct levels of undecidability, starting from the arithmetical hierarc ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Undecidability of various properties of first order term rewriting systems is wellknown. An undecidable property can be classified by the complexity of the formula defining it. This classification gives rise to a hierarchy of distinct levels of undecidability, starting from the arithmetical hierarchy classifying properties using first order arithmetical formulas, and continuing into the analytic hierarchy, where quantification over function variables is allowed. In this paper we give an overview of how the main properties of first order term rewriting systems are classified in these hierarchies. We consider properties related to normalization (strong normalization, weak normalization and dependency problems) and properties related to confluence (confluence, local confluence and the unique normal form property). For all of these we distinguish between the single term version and the uniform version. Where appropriate, we also distinguish between ground and open terms. Most uniform properties are Π 0 2complete. The particular problem of local confluence turns out to be Π 0 2complete for ground terms, but only Σ 0 1complete (and thereby recursively enumerable) for open terms. The most surprising result concerns dependency pair problems without minimality flag: we prove this problem to be Π 1 1complete, hence not in the arithmetical hierarchy, but properly in the analytic hierarchy. Some of our results are new or have appeared in our earlier publications [35, 7]. Others are based on folklore constructions, and are included for completeness as their precise classifications have hardly been noticed previously.
The Exact Hardness of Deciding Derivational and Runtime Complexity ∗
"... For any class C of computable total functions satisfying some mild conditions, we prove that the following decision problems are complete for level Σ0 2 of the arithmetical hierarchy: (A) Deciding whether a term rewriting system (TRS for short) has runtime complexity bounded by a function in C. (B) ..."
Abstract
 Add to MetaCart
For any class C of computable total functions satisfying some mild conditions, we prove that the following decision problems are complete for level Σ0 2 of the arithmetical hierarchy: (A) Deciding whether a term rewriting system (TRS for short) has runtime complexity bounded by a function in C. (B) Deciding whether a TRS has derivational complexity bounded by a function in C. In particular, the problems of deciding whether a TRS has polynomially (exponentially) bounded runtime complexity (respectively derivational complexity) are Σ0 2complete. This places deciding polynomial derivational or runtime complexity of TRSs at the same level in the arithmetical hierarchy as deciding nontermination or nonconfluence of TRSs. We proceed to show that the related problem of deciding for a single computable function f whether a TRS has runtimecomplete. We further prove that analysing the implicomplexity bounded from above by f is Π0 1 cit complexity of TRSs is even more difficult: The problem of deciding whether a TRS accepts a language of terms accepted by some TRS with runtime complexity bounded by a function in C is Σ0 3complete. All of our results are easily extended to the notion of minimal complexity (where the length of shortest reductions to normal form is considered) and remain valid under any computable reduction strategy. Finally, all results hold both for unrestricted TRSs and for the class of orthogonal TRSs.
Second assessor:
"... How do you prove equality of infinite objects? We consider two basic types: streams and trees. Streams are infinite lists of data elements. We discuss two specific methods of comparing streams, bisimulation and circular coinduction. Next we describe infinite binary trees and make new definitions for ..."
Abstract
 Add to MetaCart
(Show Context)
How do you prove equality of infinite objects? We consider two basic types: streams and trees. Streams are infinite lists of data elements. We discuss two specific methods of comparing streams, bisimulation and circular coinduction. Next we describe infinite binary trees and make new definitions for bisimulation and circular coinduction in order to compare binary trees. We conclude with a transformation function between streams and trees. Contents
Coinductive Pearl: Modular FirstOrder Logic Completeness
"... Codatatypes are regrettably absent from many programming languages and proof assistants. We make a case for their usefulness by revisiting a classic result: the completeness theorem for firstorder logic established through a Gentzen system. Codatatypes help capture the essence of the proof, which e ..."
Abstract
 Add to MetaCart
(Show Context)
Codatatypes are regrettably absent from many programming languages and proof assistants. We make a case for their usefulness by revisiting a classic result: the completeness theorem for firstorder logic established through a Gentzen system. Codatatypes help capture the essence of the proof, which establishes an abstract property of derivation trees independently of the concrete syntax or inference rules. This separation of concerns simplifies the presentation, especially for readers acquainted with lazy data structures. The proof is formalized in Isabelle/HOL and demonstrates the recently introduced definitional package for codatatypes and its integration with Isabelle’s Haskell code generator.
On the Complexity of Equivalence of Specifications of Infinite Objects
"... We study the complexity of deciding the equality of infinite objects specified by systems of equations, and of infinite objects specified by λterms. For equational specifications there are several natural notions of equality: equality in all models, equality of the sets of solutions, and equality o ..."
Abstract
 Add to MetaCart
(Show Context)
We study the complexity of deciding the equality of infinite objects specified by systems of equations, and of infinite objects specified by λterms. For equational specifications there are several natural notions of equality: equality in all models, equality of the sets of solutions, and equality of normal forms for productive specifications. For λterms we investigate Böhmtree equality and various notions of observational equality. We pinpoint the complexity of each of these notions in the arithmetical or analytical hierarchy. We show that the complexity of deciding equality in all models subsumes the entire analytical hierarchy. This holds already for the most simple infinite objects, viz. streams over {0, 1}, and stands in sharp contrast to the low arithmetical Π 0 2completeness of equality of equationally specified streams derived in [17] employing a different notion of equality.