681 research outputs found
On Deciding Local Theory Extensions via E-matching
Satisfiability Modulo Theories (SMT) solvers incorporate decision procedures
for theories of data types that commonly occur in software. This makes them
important tools for automating verification problems. A limitation frequently
encountered is that verification problems are often not fully expressible in
the theories supported natively by the solvers. Many solvers allow the
specification of application-specific theories as quantified axioms, but their
handling is incomplete outside of narrow special cases.
In this work, we show how SMT solvers can be used to obtain complete decision
procedures for local theory extensions, an important class of theories that are
decidable using finite instantiation of axioms. We present an algorithm that
uses E-matching to generate instances incrementally during the search,
significantly reducing the number of generated instances compared to eager
instantiation strategies. We have used two SMT solvers to implement this
algorithm and conducted an extensive experimental evaluation on benchmarks
derived from verification conditions for heap-manipulating programs. We believe
that our results are of interest to both the users of SMT solvers as well as
their developers
Hierarchic Superposition Revisited
Many applications of automated deduction require reasoning in first-order
logic modulo background theories, in particular some form of integer
arithmetic. A major unsolved research challenge is to design theorem provers
that are "reasonably complete" even in the presence of free function symbols
ranging into a background theory sort. The hierarchic superposition calculus of
Bachmair, Ganzinger, and Waldmann already supports such symbols, but, as we
demonstrate, not optimally. This paper aims to rectify the situation by
introducing a novel form of clause abstraction, a core component in the
hierarchic superposition calculus for transforming clauses into a form needed
for internal operation. We argue for the benefits of the resulting calculus and
provide two new completeness results: one for the fragment where all
background-sorted terms are ground and another one for a special case of linear
(integer or rational) arithmetic as a background theory
Integrated Reasoning and Proof Choice Point Selection in the Jahob System – Mechanisms for Program Survival
In recent years researchers have developed a wide range of powerful automated reasoning systems. We have leveraged these systems to build Jahob, a program specification, analysis, and verification system. In contrast to many such systems, which use a monolithic reasoning approach, Jahob provides a general integrated reasoning framework, which enables multiple automated reasoning systems to work together to prove the desired program correctness properties.
We have used Jahob to prove the full functional correctness of a collection of linked data structure implementations. The automated reasoning systems are able to automatically perform the vast majority of the reasoning steps required for this verification. But there are some complex verification conditions that they fail to prove. We have therefore developed a proof language, integrated into the underlying imperative Java programming language, that developers can use to control key choice points in the proof search space. Once the developer has resolved these choice points, the automated reasoning systems are able to complete the verification. This approach appropriately leverages both the developer’s insight into the high-level structure of the proof and the ability of the automated reasoning systems to perform the mechanical steps required to prove the verification conditions.
Building on Jahob’s success with this challenging program verification problem, we contemplate the possibility of verifying the complete absence of fatal errors in large software systems. We envision combining simple techniques that analyze the vast majority of the program with heavyweight techniques that analyze those more sophisticated parts of the program that may require arbitrarily sophisticated reasoning. Modularity mechanisms such as abstract data types enable the sound division of the program for this purpose. The goal is not a completely correct program, but a program that can survive any remaining errors to continue to provide acceptable service
Invariant Synthesis for Incomplete Verification Engines
We propose a framework for synthesizing inductive invariants for incomplete
verification engines, which soundly reduce logical problems in undecidable
theories to decidable theories. Our framework is based on the counter-example
guided inductive synthesis principle (CEGIS) and allows verification engines to
communicate non-provability information to guide invariant synthesis. We show
precisely how the verification engine can compute such non-provability
information and how to build effective learning algorithms when invariants are
expressed as Boolean combinations of a fixed set of predicates. Moreover, we
evaluate our framework in two verification settings, one in which verification
engines need to handle quantified formulas and one in which verification
engines have to reason about heap properties expressed in an expressive but
undecidable separation logic. Our experiments show that our invariant synthesis
framework based on non-provability information can both effectively synthesize
inductive invariants and adequately strengthen contracts across a large suite
of programs
Stochastic association of neighboring replicons creates replication factories in budding yeast
Peer reviewedPublisher PD
A CDCL-style calculus for solving non-linear constraints
In this paper we propose a novel approach for checking satisfiability of
non-linear constraints over the reals, called ksmt. The procedure is based on
conflict resolution in CDCL style calculus, using a composition of symbolical
and numerical methods. To deal with the non-linear components in case of
conflicts we use numerically constructed restricted linearisations. This
approach covers a large number of computable non-linear real functions such as
polynomials, rational or trigonometrical functions and beyond. A prototypical
implementation has been evaluated on several non-linear SMT-LIB examples and
the results have been compared with state-of-the-art SMT solvers.Comment: 17 pages, 3 figures; accepted at FroCoS 2019; software available at
<http://informatik.uni-trier.de/~brausse/ksmt/
Delta-Decision Procedures for Exists-Forall Problems over the Reals
Solving nonlinear SMT problems over real numbers has wide applications in
robotics and AI. While significant progress is made in solving quantifier-free
SMT formulas in the domain, quantified formulas have been much less
investigated. We propose the first delta-complete algorithm for solving
satisfiability of nonlinear SMT over real numbers with universal quantification
and a wide range of nonlinear functions. Our methods combine ideas from
counterexample-guided synthesis, interval constraint propagation, and local
optimization. In particular, we show how special care is required in handling
the interleaving of numerical and symbolic reasoning to ensure
delta-completeness. In experiments, we show that the proposed algorithms can
handle many new problems beyond the reach of existing SMT solvers
A Survey of Satisfiability Modulo Theory
Satisfiability modulo theory (SMT) consists in testing the satisfiability of
first-order formulas over linear integer or real arithmetic, or other theories.
In this survey, we explain the combination of propositional satisfiability and
decision procedures for conjunctions known as DPLL(T), and the alternative
"natural domain" approaches. We also cover quantifiers, Craig interpolants,
polynomial arithmetic, and how SMT solvers are used in automated software
analysis.Comment: Computer Algebra in Scientific Computing, Sep 2016, Bucharest,
Romania. 201
Shear Viscosity to Entropy Density Ratio in Six Derivative Gravity
We calculate shear viscosity to entropy density ratio in presence of four
derivative (with coefficient ) and six derivative (with coefficient
) terms in bulk action. In general, there can be three possible four
derivative terms and ten possible six derivative terms in the Lagrangian. Among
them two four derivative and eight six derivative terms are ambiguous, i.e.,
these terms can be removed from the action by suitable field redefinitions.
Rest are unambiguous. According to the AdS/CFT correspondence all the
unambiguous coefficients (coefficients of unambiguous terms) can be fixed in
terms of field theory parameters. Therefore, any measurable quantities of
boundary theory, for example shear viscosity to entropy density ratio, when
calculated holographically can be expressed in terms of unambiguous
coefficients in the bulk theory (or equivalently in terms of boundary
parameters). We calculate for generic six derivative gravity and find
that apparently it depends on few ambiguous coefficients at order .
We calculate six derivative corrections to central charges and and
express in terms of these central charges and unambiguous coefficients
in the bulk theory.Comment: 29 pages, no figure, V2, results and typos correcte
- …