30,377 research outputs found
The equational theory of the natural join and inner union is decidable
The natural join and the inner union operations combine relations of a
database. Tropashko and Spight [24] realized that these two operations are the
meet and join operations in a class of lattices, known by now as the relational
lattices. They proposed then lattice theory as an algebraic approach to the
theory of databases, alternative to the relational algebra. Previous works [17,
22] proved that the quasiequational theory of these lattices-that is, the set
of definite Horn sentences valid in all the relational lattices-is undecidable,
even when the signature is restricted to the pure lattice signature. We prove
here that the equational theory of relational lattices is decidable. That, is
we provide an algorithm to decide if two lattice theoretic terms t, s are made
equal under all intepretations in some relational lattice. We achieve this goal
by showing that if an inclusion t s fails in any of these lattices, then
it fails in a relational lattice whose size is bound by a triple exponential
function of the sizes of t and s.Comment: arXiv admin note: text overlap with arXiv:1607.0298
Datalog as a parallel general purpose programming language
The increasing available parallelism of computers demands new programming languages that make parallel programming dramatically easier and less error prone. It is proposed that datalog with negation and timestamps is a suitable basis for a general purpose programming language for sequential, parallel and distributed computers.
This paper develops a fully incremental bottom-up interpreter for datalog that supports a wide range of execution strategies, with trade-offs affecting efficiency, parallelism and control of resource usage. Examples show how the language can accept real-time external inputs and outputs, and mimic assignment, all without departing from its pure logical semantics
Specifying and Executing Optimizations for Parallel Programs
Compiler optimizations, usually expressed as rewrites on program graphs, are
a core part of all modern compilers. However, even production compilers have
bugs, and these bugs are difficult to detect and resolve. The problem only
becomes more complex when compiling parallel programs; from the choice of graph
representation to the possibility of race conditions, optimization designers
have a range of factors to consider that do not appear when dealing with
single-threaded programs. In this paper we present PTRANS, a domain-specific
language for formal specification of compiler transformations, and describe its
executable semantics. The fundamental approach of PTRANS is to describe program
transformations as rewrites on control flow graphs with temporal logic side
conditions. The syntax of PTRANS allows cleaner, more comprehensible
specification of program optimizations; its executable semantics allows these
specifications to act as prototypes for the optimizations themselves, so that
candidate optimizations can be tested and refined before going on to include
them in a compiler. We demonstrate the use of PTRANS to state, test, and refine
the specification of a redundant store elimination optimization on parallel
programs.Comment: In Proceedings GRAPHITE 2014, arXiv:1407.767
A Faster Parameterized Algorithm for Treedepth
The width measure \emph{treedepth}, also known as vertex ranking, centered
coloring and elimination tree height, is a well-established notion which has
recently seen a resurgence of interest. We present an algorithm which---given
as input an -vertex graph, a tree decomposition of the graph of width ,
and an integer ---decides Treedepth, i.e. whether the treedepth of the graph
is at most , in time . If necessary, a witness structure
for the treedepth can be constructed in the same running time. In conjunction
with previous results we provide a simple algorithm and a fast algorithm which
decide treedepth in time and ,
respectively, which do not require a tree decomposition as part of their input.
The former answers an open question posed by Ossona de Mendez and Nesetril as
to whether deciding Treedepth admits an algorithm with a linear running time
(for every fixed ) that does not rely on Courcelle's Theorem or other heavy
machinery. For chordal graphs we can prove a running time of for the same algorithm.Comment: An extended abstract was published in ICALP 2014, Track
- …