3,675 research outputs found
Complexity of Acyclic Term Graph Rewriting
Term rewriting has been used as a formal model to reason about the
complexity of logic, functional, and imperative programs. In contrast
to term rewriting, term graph rewriting permits sharing of
common sub-expressions, and consequently is able to capture more
closely reasonable implementations of rule based languages. However,
the automated complexity analysis of term graph rewriting has received
little to no attention.
With this work, we provide first steps towards overcoming this
situation. We present adaptions of two prominent complexity techniques
from term rewriting, viz, the interpretation method and
dependency tuples. Our adaptions are non-trivial, in the sense
that they can observe not only term but also graph structures, i.e.
take sharing into account. In turn, the developed methods allow us to
more precisely estimate the runtime complexity of programs where
sharing of sub-expressions is essential
Kruskal's Tree Theorem for Acyclic Term Graphs
In this paper we study termination of term graph rewriting, where we restrict
our attention to acyclic term graphs. Motivated by earlier work by Plump we aim
at a definition of the notion of simplification order for acyclic term graphs.
For this we adapt the homeomorphic embedding relation to term graphs. In
contrast to earlier extensions, our notion is inspired by morphisms. Based on
this, we establish a variant of Kruskal's Tree Theorem formulated for acyclic
term graphs. In proof, we rely on the new notion of embedding and follow
Nash-Williams' minimal bad sequence argument. Finally, we propose a variant of
the lexicographic path order for acyclic term graphs.Comment: In Proceedings TERMGRAPH 2016, arXiv:1609.0301
Exchange-Repairs: Managing Inconsistency in Data Exchange
In a data exchange setting with target constraints, it is often the case that
a given source instance has no solutions. In such cases, the semantics of
target queries trivialize. The aim of this paper is to introduce and explore a
new framework that gives meaningful semantics in such cases by using the notion
of exchange-repairs. Informally, an exchange-repair of a source instance is
another source instance that differs minimally from the first, but has a
solution. Exchange-repairs give rise to a natural notion of exchange-repair
certain answers (XR-certain answers) for target queries. We show that for
schema mappings specified by source-to-target GAV dependencies and target
equality-generating dependencies (egds), the XR-certain answers of a target
conjunctive query can be rewritten as the consistent answers (in the sense of
standard database repairs) of a union of conjunctive queries over the source
schema with respect to a set of egds over the source schema, making it possible
to use a consistent query-answering system to compute XR-certain answers in
data exchange. We then examine the general case of schema mappings specified by
source-to-target GLAV constraints, a weakly acyclic set of target tgds and a
set of target egds. The main result asserts that, for such settings, the
XR-certain answers of conjunctive queries can be rewritten as the certain
answers of a union of conjunctive queries with respect to the stable models of
a disjunctive logic program over a suitable expansion of the source schema.Comment: 29 pages, 13 figures, submitted to the Journal on Data Semantic
The data-exchange chase under the microscope
In this paper we take closer look at recent developments for the chase
procedure, and provide additional results. Our analysis allows us create a
taxonomy of the chase variations and the properties they satisfy. Two of the
most central problems regarding the chase is termination, and discovery of
restricted classes of sets of dependencies that guarantee termination of the
chase. The search for the restricted classes has been motivated by a fairly
recent result that shows that it is undecidable to determine whether the chase
with a given dependency set will terminate on a given instance. There is a
small dissonance here, since the quest has been for classes of sets of
dependencies guaranteeing termination of the chase on all instances, even
though the latter problem was not known to be undecidable. We resolve the
dissonance in this paper by showing that determining whether the chase with a
given set of dependencies terminates on all instances is coRE-complete. For the
hardness proof we use a reduction from word rewriting systems, thereby also
showing the close connection between the chase and word rewriting. The same
reduction also gives us the aforementioned instance-dependent RE-completeness
result as a byproduct. For one of the restricted classes guaranteeing
termination on all instances, the stratified sets dependencies, we provide new
complexity results for the problem of testing whether a given set of
dependencies belongs to it. These results rectify some previous claims that
have occurred in the literature.Comment: arXiv admin note: substantial text overlap with arXiv:1303.668
General Ramified Recurrence is Sound for Polynomial Time
Leivant's ramified recurrence is one of the earliest examples of an implicit
characterization of the polytime functions as a subalgebra of the primitive
recursive functions. Leivant's result, however, is originally stated and proved
only for word algebras, i.e. free algebras whose constructors take at most one
argument. This paper presents an extension of these results to ramified
functions on any free algebras, provided the underlying terms are represented
as graphs rather than trees, so that sharing of identical subterms can be
exploited
Structure and Properties of Traces for Functional Programs
The tracer Hat records in a detailed trace the computation of a program written in the lazy functional language Haskell. The trace can then be viewed in various ways to support program comprehension and debugging. The trace was named the augmented redex trail. Its structure was inspired by standard graph rewriting implementations of functional languages. Here we describe a model of the trace that captures its essential properties and allows formal reasoning. The trace is a graph constructed by graph rewriting but goes beyond simple term graphs. Although the trace is a graph whose structure is independent of any rewriting strategy, we define the trace inductively, thus giving us a powerful method for proving its properties
- ā¦