1,756 research outputs found
Decision Procedure for Entailment of Symbolic Heaps with Arrays
This paper gives a decision procedure for the validity of en- tailment of
symbolic heaps in separation logic with Presburger arithmetic and arrays. The
correctness of the decision procedure is proved under the condition that sizes
of arrays in the succedent are not existentially bound. This condition is
independent of the condition proposed by the CADE-2017 paper by Brotherston et
al, namely, one of them does not imply the other. For improving efficiency of
the decision procedure, some techniques are also presented. The main idea of
the decision procedure is a novel translation of an entailment of symbolic
heaps into a formula in Presburger arithmetic, and to combine it with an
external SMT solver. This paper also gives experimental results by an
implementation, which shows that the decision procedure works efficiently
enough to use
A functional quantum programming language
We introduce the language QML, a functional language for quantum computations
on finite types. Its design is guided by its categorical semantics: QML
programs are interpreted by morphisms in the category FQC of finite quantum
computations, which provides a constructive semantics of irreversible quantum
computations realisable as quantum gates. QML integrates reversible and
irreversible quantum computations in one language, using first order strict
linear logic to make weakenings explicit. Strict programs are free from
decoherence and hence preserve superpositions and entanglement - which is
essential for quantum parallelism.Comment: 15 pages. Final version, to appear in Logic in Computer Science 200
Inference in credal networks: branch-and-bound methods and the A/R+ algorithm
AbstractA credal network is a graphical representation for a set of joint probability distributions. In this paper we discuss algorithms for exact and approximate inferences in credal networks. We propose a branch-and-bound framework for inference, and focus on inferences for polytree-shaped networks. We also propose a new algorithm, A/R+, for outer approximations in polytree-shaped credal networks
Synthesizing Short-Circuiting Validation of Data Structure Invariants
This paper presents incremental verification-validation, a novel approach for
checking rich data structure invariants expressed as separation logic
assertions. Incremental verification-validation combines static verification of
separation properties with efficient, short-circuiting dynamic validation of
arbitrarily rich data constraints. A data structure invariant checker is an
inductive predicate in separation logic with an executable interpretation; a
short-circuiting checker is an invariant checker that stops checking whenever
it detects at run time that an assertion for some sub-structure has been fully
proven statically. At a high level, our approach does two things: it statically
proves the separation properties of data structure invariants using a static
shape analysis in a standard way but then leverages this proof in a novel
manner to synthesize short-circuiting dynamic validation of the data
properties. As a consequence, we enable dynamic validation to make up for
imprecision in sound static analysis while simultaneously leveraging the static
verification to make the remaining dynamic validation efficient. We show
empirically that short-circuiting can yield asymptotic improvements in dynamic
validation, with low overhead over no validation, even in cases where static
verification is incomplete
Programming with a Differentiable Forth Interpreter
Given that in practice training data is scarce for all but a small set of
problems, a core question is how to incorporate prior knowledge into a model.
In this paper, we consider the case of prior procedural knowledge for neural
networks, such as knowing how a program should traverse a sequence, but not
what local actions should be performed at each step. To this end, we present an
end-to-end differentiable interpreter for the programming language Forth which
enables programmers to write program sketches with slots that can be filled
with behaviour trained from program input-output data. We can optimise this
behaviour directly through gradient descent techniques on user-specified
objectives, and also integrate the program into any larger neural computation
graph. We show empirically that our interpreter is able to effectively leverage
different levels of prior program structure and learn complex behaviours such
as sequence sorting and addition. When connected to outputs of an LSTM and
trained jointly, our interpreter achieves state-of-the-art accuracy for
end-to-end reasoning about quantities expressed in natural language stories.Comment: 34th International Conference on Machine Learning (ICML 2017
A Study of Lagrangean Decompositions and Dual Ascent Solvers for Graph Matching
We study the quadratic assignment problem, in computer vision also known as
graph matching. Two leading solvers for this problem optimize the Lagrange
decomposition duals with sub-gradient and dual ascent (also known as message
passing) updates. We explore s direction further and propose several additional
Lagrangean relaxations of the graph matching problem along with corresponding
algorithms, which are all based on a common dual ascent framework. Our
extensive empirical evaluation gives several theoretical insights and suggests
a new state-of-the-art any-time solver for the considered problem. Our
improvement over state-of-the-art is particularly visible on a new dataset with
large-scale sparse problem instances containing more than 500 graph nodes each.Comment: Added acknowledgment
Modular Construction of Shape-Numeric Analyzers
The aim of static analysis is to infer invariants about programs that are
precise enough to establish semantic properties, such as the absence of
run-time errors. Broadly speaking, there are two major branches of static
analysis for imperative programs. Pointer and shape analyses focus on inferring
properties of pointers, dynamically-allocated memory, and recursive data
structures, while numeric analyses seek to derive invariants on numeric values.
Although simultaneous inference of shape-numeric invariants is often needed,
this case is especially challenging and is not particularly well explored.
Notably, simultaneous shape-numeric inference raises complex issues in the
design of the static analyzer itself.
In this paper, we study the construction of such shape-numeric, static
analyzers. We set up an abstract interpretation framework that allows us to
reason about simultaneous shape-numeric properties by combining shape and
numeric abstractions into a modular, expressive abstract domain. Such a modular
structure is highly desirable to make its formalization and implementation
easier to do and get correct. To achieve this, we choose a concrete semantics
that can be abstracted step-by-step, while preserving a high level of
expressiveness. The structure of abstract operations (i.e., transfer, join, and
comparison) follows the structure of this semantics. The advantage of this
construction is to divide the analyzer in modules and functors that implement
abstractions of distinct features.Comment: In Proceedings Festschrift for Dave Schmidt, arXiv:1309.455
- …