Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2012, Lecture Notes in Computer Science
…
7 pages
1 file
We present SMT-RAT, a C++ toolbox offering theory solver modules for the development of SMT solvers for nonlinear real arithmetic (NRA). NRA is an important but hard-to-solve theory and only fragments of it can be handled by some of the currently available SMT solvers. Our toolbox contains modules implementing the virtual substitution method, the cylindrical algebraic decomposition method, a Gröbner bases simplifier and a general simplifier. These modules can be combined according to a user-defined strategy in order to exploit their advantages.
Lecture Notes in Computer Science, 2011
We present the growing C++ library GiNaCRA, which provides efficient and easy-to-integrate data structures and methods for real algebra. It is based on the C++ library GiNaC, supporting the symbolic representation and manipulation of polynomials. In contrast to other similar tools, our open source library aids exact, real algebraic computations based on an appropriate data type representing real zeros of polynomials. The only non-standard library GiNaCRA depends on is GiNaC, which makes the installation and usage of our library simple. Our longterm goal is to integrate decision procedures for real algebra within the Satisfiability-Modulo-Theories (SMT) context and thereby provide tool support for many applied formal methods. R · + < G GiNaCRA -GiNaC Real Algebra package http://ginacra.sourceforge.net/
Electronic Proceedings in Theoretical Computer Science
In this paper we introduce a novel quantifier elimination method for conjunctions of linear real arithmetic constraints. Our algorithm is based on the Fourier-Motzkin variable elimination procedure, but by case splitting we are able to reduce the worst-case complexity from doubly to singly exponential. The adaption of the procedure for SMT solving has strong correspondence to the simplex algorithm, therefore we name it FMplex. Besides the theoretical foundations, we provide an experimental evaluation in the context of SMT solving.
Applied Mathematics and Computation, 2014
A multi-step self-validated iterative method for solving nonlinear equations is constructed. The main advantages of this method are the feasibility to provide global convergence and to produce automatic computation of rigorous error bound of approximations, given by the radius of the resulting inclusion interval. The convergence analysis and numerical examples are included to demonstrate convergence properties of the presented method. A special attention is devoted to two-step and three-step methods for their high computational efficiency. In particular, extended interval arithmetic is used for the construction of neverfailing variant of the proposed method.
2010 Second International Conference on Knowledge and Systems Engineering, 2010
Generating the test inputs, that have high code coverage while minimizing the number of test inputs, is a practical but difficult problem. The application of symbolic execution in combination with SMT solvers gives a promising way to solve it. Recently, there have been several tools that help generating the test inputs for C programs, but their abilities are still limited, depending on the particular chosen SMT solver and most of them currently do not support real arithmetic. We propose an approach to overcome the limitation of unique solver's ability by using multiple SMT solvers and combining their results to get the best solution. We also propose a method of reasoning real arithmetic for symbolic testing. We have implemented this approach in an open source symbolic testing tool called realCREST. Our experimental results are very positive.
Theory and Applications of Satisfiability Testing – SAT 2018, 2018
Incremental linearization is a conceptually simple, yet effective, technique that we have recently proposed for solving SMT problems over nonlinear real arithmetic constraints. In this paper, we show how the same approach can be applied successfully also to the harder case of nonlinear integer arithmetic problems. We describe in detail our implementation of the basic ideas inside the MathSAT SMT solver, and evaluate its effectiveness with an extensive experimental analysis over all nonlinear integer benchmarks in SMT-LIB. Our results show that Math-SAT is very competitive with (and often outperforms) state-of-the-art SMT solvers based on alternative techniques. This work was funded in part by the H2020-FETOPEN-2016-2017-CSA project SC 2 (712689). 3 In the following, we only consider quantifier-free theories, and we abuse the accepted notation by omitting the "QF " prefix in the names of the theories.
Lecture Notes in Computer Science, 2013
We present a novel decision procedure for non-linear real arithmetic: a combination of iSAT, an incomplete SMT solver based on interval constraint propagation (ICP), and an implementation of the complete cylindrical algebraic decomposition (CAD) method in the library GiNaCRA. While iSAT is efficient in finding unsatisfiability, on satisfiable instances it often terminates with an interval box whose satisfiability status is unknown to iSAT. The CAD method, in turn, always terminates with a satisfiability result. However, it has to traverse a double-exponentially large search space. A symbiosis of iSAT and CAD combines the advantages of both methods resulting in a fast and complete solver. In particular, the interval box determined by iSAT provides precious extra information to guide the CAD-method search routine: We use the interval box to prune the CAD search space in both phases, the projection and the construction phase, forming a search "tube" rather than a search tree. This proves to be particularly beneficial for a CAD implementation designed to search a satisfying assignment pointedly, as opposed to search and exclude conflicting regions.
Journal of Logical and Algebraic Methods in Programming, 2021
We present a new algorithm for determining the satisfiability of conjunctions of non-linear polynomial constraints over the reals, which can be used as a theory solver for satisfiability modulo theory (SMT) solving for non-linear real arithmetic. The algorithm is a variant of Cylindrical Algebraic Decomposition (CAD) adapted for satisfiability, where solution candidates (sample points) are constructed incrementally, either until a satisfying sample is found or sufficient samples have been sampled to conclude unsatisfiability. The choice of samples is guided by the input constraints and previous conflicts. The key idea behind our new approach is to start with a partial sample; demonstrate that it cannot be extended to a full sample; and from the reasons for that rule out a larger space around the partial sample, which build up incrementally into a cylindrical algebraic covering of the space. There are similarities with the incremental variant of CAD, the NLSAT method of Jovanović and de Moura, and the NuCAD algorithm of Brown; but we present worked examples and experimental results on a preliminary implementation to demonstrate the differences to these, and the benefits of the new approach.
Proceedings - SPM 2009: SIAM/ACM Joint Conference on Geometric and Physical Modeling, 2009
This paper presents a new solver for systems of nonlinear equations. Such systems occur in Geometric Constraint Solving, e.g., when dimensioning parts in CAD-CAM, or when computing the topology of sets defined by nonlinear inequalities. The paper does not consider the problem of decomposing the system and assembling solutions of subsystems. It focuses on the numerical resolution of wellconstrained systems. Instead of computing an exponential number of coefficients in the tensorial Bernstein basis, we resort to linear programming for computing range bounds of system equations or domain reductions of system variables. Linear programming is performed on a so called Bernstein polytope: though, it has an exponential number of vertices (each vertex corresponds to a Bernstein polynomial in the tensorial Bernstein basis), its number of hyperplanes is polynomial: O(n 2 ) for a system in n unknowns and equations, and total degree at most two. An advantage of our solver is that it can be extended to non-algebraic equations. In this paper, we present the Bernstein and LP polytope construction, and how to cope with floating point inaccuracy so that a standard LP code can be used. The solver has been implemented with a primal-dual simplex LP code, and some implementation variants have been analyzed. Furthermore, we show geometric-constraint-solving applications, as well as numerical intersection and distance computation examples.
Algebraic Informatics, 2011
This paper connects research in computer science in the field of SAT-modulo-theories (SMT) solving and research in mathematics on decision procedures for real algebra. We consider a real algebraic decision procedure computing all realizable sign conditions of a set of polynomials. We modify this procedure so that it satisfies certain requirements needed for the embedding into an SMT-solver.
Proceedings of the 2009 conference on Symbolic numeric computation - SNC '09, 2009
Real solving of univariate polynomials is a fundamental problem with several important applications. This paper focuses on the efficient and generic black-box implementations of state-of-the-art algorithms for isolating all real roots of polynomials with integer coefficients, motivated by geometric applications and the recent need to develop software that handles exactly complex geometric objects, particularly in the case of the CGAL library. We summarize a large set of experimental results from cross-benchmarking three univariate algebraic kernels developed at the GALAAD group at INRIA, MPI-Saarbrücken, and the VEGAS group at LORIA. We have tested 6 solvers from the INRIA kernel, which are based on Sturm sequences, symbolic-numeric methods, and Continued Fractions (CF); two solvers from the MPI kernel, namely Descartes and Bitstream Descartes; and one solver from the LORIA kernel, relying on the Descartes-based RS solver developed at the SALSA group of INRIA. We used a total of 5000 polynomials of 5 types and various degrees and bitsizes, distributed in 150 datasets. The CF family of solvers, Descartes, Bitstream Descartes, and RS are numerically and combinatorially robust, i.e. they always provide the correct results. With respect to speed, the results are not decisive in most cases; overall, two CF methods seem faster, even though currently they do not use symbolic-numeric techniques, while for very large bitsizes Bitstream Descartes and RS seem more efficient, provided the degree is not very high. For polynomials of degree up to 4 and moderate bitsize, special algorithms give better results. It is important to note that the implementations of the theoretically exact methods are complete, efficient and they always provided correct results throughout this extensive benchmarking process. Lastly, we comment on the different Partially supported by contract ANR-06-BLAN-0074 "Decotes".
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
2017
Fundamentals of Computation Theory, 2011
Lecture Notes in Computer Science, 2015
ACM Transactions on Computational Logic
Journal of Symbolic Computation, 2020
2021 23rd International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC)
Verification over discrete-continuous boundaries}