133,079 research outputs found
The HOM problem is EXPTIME-complete
We define a new class of tree automata with constraints and prove decidability of the emptiness problem for this class in exponential time. As a consequence, we obtain several EXPTIME-completeness results for problems on images of regular tree languages under tree homomorphisms, like set inclusion, regularity (HOM problem), and finiteness of set difference. Our result also has implications in term rewriting, since the set of reducible terms of a term rewrite system can be described as the image of a tree homomorphism. In particular, we prove that inclusion of sets of normal forms of term rewrite systems can be decided in exponential time. Analogous consequences arise in the context of XML typechecking, since types are defined by tree automata and some type transformations are homomorphic.Peer ReviewedPostprint (published version
Automated Confluence Proof by Decreasing Diagrams based on Rule-Labelling
Decreasing diagrams technique (van Oostrom, 1994) is a technique that
can be widely applied to prove confluence of rewrite systems. To
directly apply the decreasing diagrams technique to prove confluence
of rewrite systems, rule-labelling heuristic has been proposed by van
Oostrom (2008). We show how constraints for ensuring confluence of
term rewriting systems constructed based on the rule-labelling
heuristic are encoded as linear arithmetic constraints suitable for
solving the satisfiability of them by external SMT solvers. We point
out an additional constraint omitted in (van Oostrom, 2008) that is
needed to guarantee the soundness of confluence proofs based on the
rule-labelling heuristic extended to deal with non-right-linear rules.
We also present several extensions of the rule-labelling heuristic by
which the applicability of the technique is enlarged
Efficient Pattern Matching in Python
Pattern matching is a powerful tool for symbolic computations. Applications
include term rewriting systems, as well as the manipulation of symbolic
expressions, abstract syntax trees, and XML and JSON data. It also allows for
an intuitive description of algorithms in the form of rewrite rules. We present
the open source Python module MatchPy, which offers functionality and
expressiveness similar to the pattern matching in Mathematica. In particular,
it includes syntactic pattern matching, as well as matching for commutative
and/or associative functions, sequence variables, and matching with
constraints. MatchPy uses new and improved algorithms to efficiently find
matches for large pattern sets by exploiting similarities between patterns. The
performance of MatchPy is investigated on several real-world problems
Open Graphs and Monoidal Theories
String diagrams are a powerful tool for reasoning about physical processes,
logic circuits, tensor networks, and many other compositional structures. The
distinguishing feature of these diagrams is that edges need not be connected to
vertices at both ends, and these unconnected ends can be interpreted as the
inputs and outputs of a diagram. In this paper, we give a concrete construction
for string diagrams using a special kind of typed graph called an open-graph.
While the category of open-graphs is not itself adhesive, we introduce the
notion of a selective adhesive functor, and show that such a functor embeds the
category of open-graphs into the ambient adhesive category of typed graphs.
Using this functor, the category of open-graphs inherits "enough adhesivity"
from the category of typed graphs to perform double-pushout (DPO) graph
rewriting. A salient feature of our theory is that it ensures rewrite systems
are "type-safe" in the sense that rewriting respects the inputs and outputs.
This formalism lets us safely encode the interesting structure of a
computational model, such as evaluation dynamics, with succinct, explicit
rewrite rules, while the graphical representation absorbs many of the tedious
details. Although topological formalisms exist for string diagrams, our
construction is discreet, finitary, and enjoys decidable algorithms for
composition and rewriting. We also show how open-graphs can be parametrised by
graphical signatures, similar to the monoidal signatures of Joyal and Street,
which define types for vertices in the diagrammatic language and constraints on
how they can be connected. Using typed open-graphs, we can construct free
symmetric monoidal categories, PROPs, and more general monoidal theories. Thus
open-graphs give us a handle for mechanised reasoning in monoidal categories.Comment: 31 pages, currently technical report, submitted to MSCS, waiting
review
- …