1,234 research outputs found
Algorithmic Verification of Asynchronous Programs
Asynchronous programming is a ubiquitous systems programming idiom to manage
concurrent interactions with the environment. In this style, instead of waiting
for time-consuming operations to complete, the programmer makes a non-blocking
call to the operation and posts a callback task to a task buffer that is
executed later when the time-consuming operation completes. A co-operative
scheduler mediates the interaction by picking and executing callback tasks from
the task buffer to completion (and these callbacks can post further callbacks
to be executed later). Writing correct asynchronous programs is hard because
the use of callbacks, while efficient, obscures program control flow.
We provide a formal model underlying asynchronous programs and study
verification problems for this model. We show that the safety verification
problem for finite-data asynchronous programs is expspace-complete. We show
that liveness verification for finite-data asynchronous programs is decidable
and polynomial-time equivalent to Petri Net reachability. Decidability is not
obvious, since even if the data is finite-state, asynchronous programs
constitute infinite-state transition systems: both the program stack and the
task buffer of pending asynchronous calls can be potentially unbounded.
Our main technical construction is a polynomial-time semantics-preserving
reduction from asynchronous programs to Petri Nets and conversely. The
reduction allows the use of algorithmic techniques on Petri Nets to the
verification of asynchronous programs.
We also study several extensions to the basic models of asynchronous programs
that are inspired by additional capabilities provided by implementations of
asynchronous libraries, and classify the decidability and undecidability of
verification questions on these extensions.Comment: 46 pages, 9 figure
Unary Pushdown Automata and Straight-Line Programs
We consider decision problems for deterministic pushdown automata over a
unary alphabet (udpda, for short). Udpda are a simple computation model that
accept exactly the unary regular languages, but can be exponentially more
succinct than finite-state automata. We complete the complexity landscape for
udpda by showing that emptiness (and thus universality) is P-hard, equivalence
and compressed membership problems are P-complete, and inclusion is
coNP-complete. Our upper bounds are based on a translation theorem between
udpda and straight-line programs over the binary alphabet (SLPs). We show that
the characteristic sequence of any udpda can be represented as a pair of
SLPs---one for the prefix, one for the lasso---that have size linear in the
size of the udpda and can be computed in polynomial time. Hence, decision
problems on udpda are reduced to decision problems on SLPs. Conversely, any SLP
can be converted in logarithmic space into a udpda, and this forms the basis
for our lower bound proofs. We show coNP-hardness of the ordered matching
problem for SLPs, from which we derive coNP-hardness for inclusion. In
addition, we complete the complexity landscape for unary nondeterministic
pushdown automata by showing that the universality problem is -hard, using a new class of integer expressions. Our techniques have
applications beyond udpda. We show that our results imply -completeness for a natural fragment of Presburger arithmetic and coNP lower
bounds for compressed matching problems with one-character wildcards
Eliminating Recursion from Monadic Datalog Programs on Trees
We study the problem of eliminating recursion from monadic datalog programs
on trees with an infinite set of labels. We show that the boundedness problem,
i.e., determining whether a datalog program is equivalent to some nonrecursive
one is undecidable but the decidability is regained if the descendant relation
is disallowed. Under similar restrictions we obtain decidability of the problem
of equivalence to a given nonrecursive program. We investigate the connection
between these two problems in more detail
Implementability Among Predicates
Much work has been done to understand when given predicates (relations) on discrete variables can be conjoined to implement other predicates. Indeed, the lattice of "co-clones" (sets of predicates closed under conjunction, variable renaming, and existential quantification of variables) has been investigated steadily from the 1960's to the present. Here, we investigate a more general model, where duplicatability of values is not taken for granted. This model is motivated in part by large scale neural models, where duplicating a value is similar in cost to computing a function, and by quantum mechanics, where values cannot be duplicated. Implementations in this case are naturally given by a graph fragment in which vertices are predicates, internal edges are existentially quantified variables, and "dangling edges" (edges emanating from a vertex but not yet connected to another vertex) are the free variables of the implemented predicate. We examine questions of implementability among predicates in this scenario, and
we present the solution to all implementability problems for single predicates on up to three boolean values. However, we find that a variety of proof methods are required, and the question of implementability indeed becomes undecidable for larger predicates, although this is tricky to prove. We find that most predicates cannot implement the 3-way equality predicate, which reaffirms the view that duplicatability of values should not be assumed a priori
Asymptotic Proportion of Hard Instances of the Halting Problem
Although the halting problem is undecidable, imperfect testers that fail on
some instances are possible. Such instances are called hard for the tester. One
variant of imperfect testers replies "I don't know" on hard instances, another
variant fails to halt, and yet another replies incorrectly "yes" or "no". Also
the halting problem has three variants: does a given program halt on the empty
input, does a given program halt when given itself as its input, or does a
given program halt on a given input. The failure rate of a tester for some size
is the proportion of hard instances among all instances of that size. This
publication investigates the behaviour of the failure rate as the size grows
without limit. Earlier results are surveyed and new results are proven. Some of
them use C++ on Linux as the computational model. It turns out that the
behaviour is sensitive to the details of the programming language or
computational model, but in many cases it is possible to prove that the
proportion of hard instances does not vanish.Comment: 18 pages. The differences between this version and arXiv:1307.7066v1
are significant. They have been listed in the last paragraph of Section 1.
Excluding layout, this arXiv version is essentially identical to the Acta
Cybernetica versio
More Than 1700 Years of Word Equations
Geometry and Diophantine equations have been ever-present in mathematics.
Diophantus of Alexandria was born in the 3rd century (as far as we know), but a
systematic mathematical study of word equations began only in the 20th century.
So, the title of the present article does not seem to be justified at all.
However, a linear Diophantine equation can be viewed as a special case of a
system of word equations over a unary alphabet, and, more importantly, a word
equation can be viewed as a special case of a Diophantine equation. Hence, the
problem WordEquations: "Is a given word equation solvable?" is intimately
related to Hilbert's 10th problem on the solvability of Diophantine equations.
This became clear to the Russian school of mathematics at the latest in the mid
1960s, after which a systematic study of that relation began.
Here, we review some recent developments which led to an amazingly simple
decision procedure for WordEquations, and to the description of the set of all
solutions as an EDT0L language.Comment: The paper will appear as an invited address in the LNCS proceedings
of CAI 2015, Stuttgart, Germany, September 1 - 4, 201
Foundations of Declarative Data Analysis Using Limit Datalog Programs
Motivated by applications in declarative data analysis, we study
---an extension of positive Datalog with
arithmetic functions over integers. This language is known to be undecidable,
so we propose two fragments. In
predicates are axiomatised to keep minimal/maximal numeric values, allowing us
to show that fact entailment is coNExpTime-complete in combined, and
coNP-complete in data complexity. Moreover, an additional
requirement causes the complexity to drop to ExpTime and PTime, respectively.
Finally, we show that stable can express many
useful data analysis tasks, and so our results provide a sound foundation for
the development of advanced information systems.Comment: 23 pages; full version of a paper accepted at IJCAI-17; v2 fixes some
typos and improves the acknowledgment
Unboundedness Problems for Languages of Vector Addition Systems
A vector addition system (VAS) with an initial and a final marking and transition labels induces a language. In part because the reachability problem in VAS remains far from being well-understood, it is difficult to devise decision procedures for such languages. This is especially true for checking properties that state the existence of infinitely many words of a particular shape. Informally, we call these unboundedness properties.
We present a simple set of axioms for predicates that can express unboundedness properties. Our main result is that such a predicate is decidable for VAS languages as soon as it is decidable for regular languages. Among other results, this allows us to show decidability of (i) separability by bounded regular languages, (ii) unboundedness of occurring factors from a language K with mild conditions on K, and (iii) universality of the set of factors
Lower Bounds on Complexity of Lyapunov Functions for Switched Linear Systems
We show that for any positive integer , there are families of switched
linear systems---in fixed dimension and defined by two matrices only---that are
stable under arbitrary switching but do not admit (i) a polynomial Lyapunov
function of degree , or (ii) a polytopic Lyapunov function with facets, or (iii) a piecewise quadratic Lyapunov function with
pieces. This implies that there cannot be an upper bound on the size of the
linear and semidefinite programs that search for such stability certificates.
Several constructive and non-constructive arguments are presented which connect
our problem to known (and rather classical) results in the literature regarding
the finiteness conjecture, undecidability, and non-algebraicity of the joint
spectral radius. In particular, we show that existence of an extremal piecewise
algebraic Lyapunov function implies the finiteness property of the optimal
product, generalizing a result of Lagarias and Wang. As a corollary, we prove
that the finiteness property holds for sets of matrices with an extremal
Lyapunov function belonging to some of the most popular function classes in
controls
- …