30 research outputs found
Satisfiability Modulo Transcendental Functions via Incremental Linearization
In this paper we present an abstraction-refinement approach to Satisfiability
Modulo the theory of transcendental functions, such as exponentiation and
trigonometric functions. The transcendental functions are represented as
uninterpreted in the abstract space, which is described in terms of the
combined theory of linear arithmetic on the rationals with uninterpreted
functions, and are incrementally axiomatized by means of upper- and
lower-bounding piecewise-linear functions. Suitable numerical techniques are
used to ensure that the abstractions of the transcendental functions are sound
even in presence of irrationals. Our experimental evaluation on benchmarks from
verification and mathematics demonstrates the potential of our approach,
showing that it compares favorably with delta-satisfiability /interval
propagation and methods based on theorem proving
Incomplete SMT techniques for solving non-linear formulas over the integers
We present new methods for solving the Satisfiability Modulo Theories problem over the theory of QuantifierFree Non-linear Integer Arithmetic, SMT(QF-NIA), which consists of deciding the satisfiability of ground formulas with integer polynomial constraints. Following previous work, we propose to solve SMT(QF-NIA)
instances by reducing them to linear arithmetic: non-linear monomials are linearized by abstracting them
with fresh variables and by performing case splitting on integer variables with finite domain. For variables
that do not have a finite domain, we can artificially introduce one by imposing a lower and an upper bound
and iteratively enlarge it until a solution is found (or the procedure times out).
The key for the success of the approach is to determine, at each iteration, which domains have to be
enlarged. Previously, unsatisfiable cores were used to identify the domains to be changed, but no clue was
obtained as to how large the new domains should be. Here, we explain two novel ways to guide this process by
analyzing solutions to optimization problems: (i) to minimize the number of violated artificial domain bounds,
solved via a Max-SMT solver, and (ii) to minimize the distance with respect to the artificial domains, solved
via an Optimization Modulo Theories (OMT) solver. Using this SMT-based optimization technology allows
smoothly extending the method to also solve Max-SMT problems over non-linear integer arithmetic. Finally,
we leverage the resulting Max-SMT(QF-NIA) techniques to solve ∃∀ formulas in a fragment of quantified
non-linear arithmetic that appears commonly in verification and synthesis applications.Peer ReviewedPostprint (author's final draft
SMT-Solving Induction Proofs of Inequalities
This paper accompanies a new dataset of non-linear real arithmetic problems
for the SMT-LIB benchmark collection. The problems come from an automated proof
procedure of Gerhold--Kauers, which is well suited for solution by SMT. The
problems of this type have not been tackled by SMT-solvers before. We describe
the proof technique and give one new such proof to illustrate it. We then
describe the dataset and the results of benchmarking. The benchmarks on the new
dataset are quite different to the existing ones. The benchmarking also brings
forward some interesting debate on the use/inclusion of rational functions and
algebraic numbers in the SMT-LIB.Comment: Presented at the 2022 SC-Square Worksho
Satisfiability of Non-Linear Transcendental Arithmetic as a Certificate Search Problem
For typical first-order logical theories, satisfying assignments have a
straightforward finite representation that can directly serve as a certificate
that a given assignment satisfies the given formula. For non-linear real
arithmetic with transcendental functions, however, no general finite
representation of satisfying assignments is available. Hence, in this paper, we
introduce a different form of satisfiability certificate for this theory,
formulate the satisfiability verification problem as the problem of searching
for such a certificate, and show how to perform this search in a systematic
fashion. This does not only ease the independent verification of results, but
also allows the systematic design of new, efficient search techniques.
Computational experiments document that the resulting method is able to prove
satisfiability of a substantially higher number of benchmark problems than
existing methods