b

DiscoverSearch
About
My stuff
Solving Satisfiability of Polynomial Formulas By Sample-Cell Projection
2020·arXiv
Abstract
Abstract

A new algorithm for deciding the satisfiability of polynomial formulas over the reals is proposed. The key point of the algorithm is a new projection operator, called sample-cell projection operator, custom-made for Conflict-Driven Clause Learning (CDCL)-style search. Although the new operator is also a CAD (Cylindrical Algebraic Decomposition)-like projection operator which computes the cell (not necessarily cylindrical) containing a given sample such that each polynomial from the problem is sign-invariant on the cell, it is of singly exponential time complexity. The sample-cell projection operator can efficiently guide CDCL-style search away from conflicting states. Experiments show the effectiveness of the new algorithm.

Keywords: SMT  ·satisfiability  ·nonlinear arithmetic  ·CAD  ·polynomial.

The research on SMT (Satisfiability Modulo Theories) [18,20,2] in recent years brings us many popular solvers such as Z3 [19], CVC4 [1], Yices [7], MathSAT5 [5], etc. Nevertheless, in theory and practice, it is important to design efficient SMT algorithms and develop tools (or improve existing ones) for many other theories, e.g. string [15], linear arithmetic [8,13] and non-linear arithmetic [3,14] over the reals. A straightforward idea is to integrate Conflict-Driven Clause Learning (CDCL)-style search with theory solvers [2]. For example, integrating CDCL-style search with a theory solver for determining whether a basic semialgebraic set is empty can solve satisfiability in the theory of non-linear arithmetic over the reals.

It is well-known that the problem whether a basic semialgebraic set is empty is decidable due to Tarski’s decision procedure [21]. Tarski’s algorithm cannot be a theory solver in practice because of its very high complexity. Cylindrical algebraic decomposition (CAD) algorithm [6] is a widely used theory solver in practice though it is of doubly exponential time complexity. The idea of CAD algorithm is to decompose  Rninto cells such that each polynomial from the problem is sign-invariant in every cell. A key concept in CAD algorithm is the projection operator. Although many improved projection operators have been proposed [11,16,17,4,10,9,22], the CAD method is still of doubly exponential time complexity. The main reason is that in order to carry enough information, projection of variables causes the number of polynomials grows rapidly. So the cost of simply using CAD as a theory solver is unacceptable.

Jovanovic and de Moura [13] eased the burden of using CAD as a theory solver by modifying the CDCL-style search framework. They changed the sequence of search states by adding variable assignments to the sequence. The benefit of this is that they can use real-root isolation, which is of polynomial time complexity, to check consistency of literals for there will be only one unassigned variable in the literals of the current state. When a conflict of literals is detected, they explain the conflict by applying CAD to a polynomial set called conflicting core to find the cell where the sample of assignments belongs. But even using CAD only when explaining conflicts is a huge computational cost, as CAD is of doubly exponential time complexity. Furthermore, CAD will produce all cells in  Rnother than the only one we need, making computation waste.

In this paper, we propose a new custom-made CAD-like projection operator, called sample-cell projection operator. It only processes the cell containing a given sample, which is exactly what conflict explanation needs. The idea of our operator is trying to project polynomials related to the target cell and ignore irrelevant polynomials. We integrate our sample-cell projection operator with Jovanovic’s improved CDCL-style search framework. The new operator can effi-ciently guide CDCL-style search away from conflicting states. It is proved that the new algorithm is of singly exponential time complexity. We have implemented a prototype solver LiMbS which is base on Mathematica 12. Experiments show the effectiveness of the new algorithm.

The rest of this paper is structured as follows: Section 2 introduces the background knowledge and notation. Section 3 defines sample-cell projection and presents the details of our approach. Section 4 describes the CDCL-style search framework which we adopt. We evaluate our approach on many well-known examples and analyze its performance in Section 5. The paper is concluded in Section 6.

Let R denote the field of real numbers, Z denote the ring of integers and Q denote the field of rational numbers. Unless stated otherwise, we assume that all polynomials in this paper are in  Z[¯x], the ring of multivariate polynomials in variables ¯x with integer coefficients.

For a polynomial  f ∈ Z[¯y, x]:

image

where  am ̸= 0 and  ai ∈ Z[¯y] for i = 0, ..., m, the degree of f with respect to (w.r.t.) x is m, denoted by deg(f, x). The leading coefficient of f w.r.t. x is  am, denoted by lc(f, x) and the leading term of f w.r.t. x is  amxm, denoted by lt(f, x). Let

image

image

where  bn ̸= 0 and  bi ∈ Z[¯y] for i = 0, ..., n . Let res(f, g, x) denote the Sylvester resultant of f and g w.r.t. x, i.e. the determinant of the following matrix

image

which has n rows of  aiand m rows of  bj. The discriminant of f w.r.t. x is

image

An atomic polynomial constraint is  f ⊲0 where f is a polynomial and  ⊲ ∈{≥, >, =}. A polynomial literal (simply literal) is an atomic polynomial constraint or its negation. For a literal l, poly(l) denotes the polynomial in l and var(l) = var(poly(l)). A polynomial clause is a disjunction  l1 ∨ · · · ∨ lsof literals. Sometimes, we write a clause as  ¬(�i li) ∨ �j lj. A polynomial formula is a conjunction of clauses. An extended polynomial constraint l is  x ⊲ Root(f, k) where  ⊲ ∈ {≥, >, =}, f ∈ Z[¯y, u] with  x ̸∈ var(f) and  k(0 ≤ k ≤ deg(f, u)) is a given integer. Notice the variable u is an exclusive free variable that cannot be used outside the Root object.

For a formula  φ, φ[a/x] denote the resulting formula via substituting a for x in  φ. For variables ¯x = (x1, . . . , xr) and ¯a = (a1, . . . , ar) ∈ Rr, a mapping  αwhich maps  xito  aifor i = 1, ..., r is called a variable assignment of ¯x and ¯a is called a sample of  αor a sample of ¯x in  Rr. We denote  φ[a1/x1, . . . , ar/xr] by  α(φ). If  α(φ) = 0, we say  φvanishes under  αor vanishes under ¯a. Suppose an extended polynomial constraint l is of the form  x ⊲ Root(f, k) and  αis a variable assignment of (¯y, x). If  βkis the kth real root of  α(f), α(l) is defined to be  α(x) ⊲ βk. If  α(f) has less than k real roots,  α(l) is defined to be False.

In this section, we first introduce some well-known concepts and results concerning CAD and then define the so-called sample-cell projection operator.

Let f be an analytic function defined in some open set U of  Knwhere K is a field. For a point  p ∈ U, if f or some partial derivative (pure and mixed) of f of some order does not vanish at p, then we say that f has order r where r is the least non-negative integer such that some partial derivative of total order r does not vanish at p. Otherwise, we say f has infinite order at p. The order of f at p is denoted by  orderpf. We say f is order-invariant in a subset  S ⊂ Uif orderp1f = orderp2ffor any  p1, p2 ∈ S. Obviously, if K = R and the analytic function f is order-invariant in S, then f is sign-invariant in S.

An r-variable polynomial  f(¯x, xr) where ¯x = (x1, . . . , xr−1) is said to be analytic delineable on a connected s-dimensional submanifold  S ⊂ Rr−1if

1. The number k of different real roots of  f(a, xr) is invariant for any point a ∈ S. And the trace of the real roots are the graphs of some pairwise disjoint analytic functions  θ1 < . . . < θkfrom S into R (i.e. the order of real roots of  f(a, xr) is invariant for all point  a ∈ S);

2. There exist positive integers  m1, . . . , mksuch that for every point  a ∈ S, the multiplicity of the real root  θi(a) of  f(a, xr) is  mifor i = 1, ..., k.

Especially, if f has no zeros in  S × R, then f is delineable on S with k = 0. The analytic functions  θi’s are called the real root functions of f on S, the graphs of the  θi’s are called the f-sections over S, and the connected regions between two consecutive f-sections (for convenience, let  θ0 = −∞and  θk+1= +∞) are called f-sectors over S. Each f-section over S is a connected s-dimensional submanifold in  Rrand each f-sector over S is a connected (s + 1)-dimensional submanifold in  Rr.

Theorem 1 ([17], Theorem 2). Let  r ≥2 and  f(¯x, xr) be a polynomial in R[¯x, xr] of positive degree where ¯x = (x1, ..., xr−1). Let S be a connect submanifold of  Rr−1where f is degree-invariant and does not vanish identically. Suppose that  disc(f, xr) is a nonzero polynomial and is order-invariant in S. Then f is analytic delineable on S and is order-invariant in each f-section over S.

Suppose a = (¯a, an) = (a1, . . . , an) is a sample of (¯x, xn) in  Rnand F = {f1(¯x, xn) , . . . , fr(¯x, xn)}is a polynomial set in  Z[¯x, xn] where ¯x = (x1, . . . , xn−1). Consider the real roots of polynomials in  {f1(¯a, xn), . . . , fr(¯a, xn)}\{0}. Denote the kth real root of  fi(¯a, xn) by  θi,k. We define two concepts: the sample polynomials set of a in F (denoted by  spoly(F, xn, a)) and the sample interval of a in F (denoted by  sinterval(F, xn, a)) as follows. If there exists  θi,ksuch that  θi,k = anthen

image

If there exist two consecutive real roots  θi1,k1and  θi2,k2such that  θi1,k1 <an < θi2,k2then

image

If there exists  θi′,k′such that  an > θi′,k′and for all  θi,k θi′,k′ ≥ θi,kthen

image

If there exists  θi′,k′such that  an < θi′,k′and for all  θi,k θi′,k′ ≤ θi,kthen

image

Specially, if every polynomial in  {f1(¯a, xn), . . . , fr(¯a, xn)} \ {0}does not have any real roots, define

image

Example 1. Let  F = {f1, f2, f3}where  f1 = y+0.5x−10,  f2 = y+0.01(x−9)2−7, f3 = y − 0.03x2 −1 and A = (4, 9), B = (4, 6.75), C = (4, 4), D = (4, 1). We have (see Figure 1)

poly(F, y, A) =  {f1}, sinterval(F, y, A) = y > Root(f1(x, u), 1), spoly(F, y, B) =  {f2}, s

image

Fig. 1. Example 1

Additionally, for a polynomial

image

where  dm > dm−1 > · · · > d0, ci ∈ R[¯x] and  ci ̸= 0 for i = 0, ..., m. If there exists  j ≥0 such that  cj(¯a) ̸= 0 and  ci(¯a) = 0 for any i > j, then the sample coefficients of h at (¯a, an) is defined to be  {cm, cm−1, . . . , cj}, denoted by scoeff(h, xn,a, an)). Otherwise s

Definition 1. Suppose ¯a is a sample of ¯x in  Rnand  F = {f1, . . . , fr}is a polynomial set in  Z[¯x] where ¯x = (x1, . . . , xn). The sample-cell projection of F on  xnat ¯a is

image

If  f ∈ Fand  xn ̸∈ var(f), fis obviously an element of  Projsc(F, xn, ¯a).

Computing  Projsc(F, xn, ¯a) will produce O(rn + 3r) elements, so the time complexity of projecting all the variables by recursively using  Projscis O((n + 3)nr).

Now we prove the property of the new projection operator. A set of polynomials in  Z[¯x] is said to be a squarefree basis if the elements of the set have positive degrees, and are primitive, squarefree and pairwise relatively prime. For a connected submanifold S of  Rn−1, we denote by  S × sinterval(F, xn, ¯a) �(α1, . . . , αn) ∈ Rn | (α1, . . . , αn−1) ∈ S∧ sinterval(F, xn, ¯a)[α1/x1, . . . , αn/xn]

Theorem 2. Let F be a finite squarefree basis in  Z[¯x] where ¯x = (x1, . . . , xn) and  n ≥2. Let ¯a = (a1, . . . , an) be a sample of ¯x in  Rnand S be a connected submanifold of  Rn−1such that (a1, . . . , an−1) ∈ S. Suppose that each element of Projsc(F, xn, ¯a) is order-invariant in S. Then each element in F either vanishes identically on S or is analytic delineable on S, each section over S of the element of F which do not vanish identically on S is either equal to or disjoint with S × sinterval(F, xn, ¯a), and each element of F either vanishes identically on S or is order-invariant in  S × sinterval(F, xn, ¯a).

Proof. For any  f ∈ F, if f vanishes identically on S, there is nothing to prove. So we may assume that any element in F does not vanish identically on S. For any  f ∈ Fsuch that  f ̸∈ spoly(F, xn, ¯a), let  f ′=  f · �g∈spoly(F,xn,¯a) g.Notice that  f ′is degree-invariant on S (each element of  scoeff(f, xn, ¯a) is

order-invariant, hence sign-invariant in S). And we have

image

It follows from this equality that  disc(f ′, xn) ̸= 0 (because  fi’s are squarefree and pairwise relatively prime). Obviously, each factor of  disc(f ′, xn) is a factor of  Projsc(F, xn, ¯a), so  disc(f ′, xn) is order-invariant in S. By Theorem 1,  f ′is analytic delineable on S and is order-invariant in each  f ′-section over S. So f and  g ∈ spoly(F, xn, ¯a) are order-invariant in each  f ′-section over S. It follows that the sections over S of f and g are pairwise disjoint. Therefore, f and  g ∈ spoly(F, xn, ¯a) are analytic delineable on S, every section of them is either equal to or disjoint with  S × sinterval(F, xn, ¯a), and f and g are order-invariant in  S × sinterval(F, xn, ¯a). ■

Remark 2. Notice that when f vanishes identically on S, f isn’t always order-invariant in  S × sinterval(F, xn, ¯a). This is avoidable by changing the ordering of variables and is negligible when the satisfiability set of formulas is full-dimensional. We find a way to handle this rare case: either to determine whether the coefficients of f have finitely many common zeros, or to enlarge F by adding partial derivatives of f whose order is less than order(f) and one non-zero partial derivative whose order is exactly equal to order(f).

When integrating the new projection operator with the CDCL-type search (see Section 4), we need a traditional CAD projection operator [16,17].

Definition 2 ([16]). Suppose  F = {f1, . . . , fr}is a polynomial set in  Z[¯x] where ¯x = (x1, . . . , xn). The McCallum projection of F on  xnis

image

Remark 3. Notice that coeff can be replaced by scoeff when we have a sample of  n −1 dimension.

Theorem 3 ([17], Theorem 1). Let F be a finite squarefree basis in  Z[¯x] where ¯x = (x1, . . . , xn) and  n ≥2 and S be a connected submanifold of  Rn−1such that each element of  Projmc(F, xn) is order-invariant in S. Then each element in F either vanishes identically on S or is analytic delineable on S, the sections over S of the elements of F which do not vanish identically on S are pairwise disjoint, and each element of F which does not vanish identically on S is order-invariant in every such section.

Now, let us use the following definition to describe the procedure of calculating sample cells. We denote by factor(A) the set of irreducible factors of all polynomials in A.

image

and  F = {f1, . . . , fr}is a polynomial set in  Z[¯x] where ¯x = (x1, . . . , xn). The sample cell of F at a is

image

where αn−1= a, Fn−1 = factor(Projmc(factor(F))), αi= (a1, . . . , ai), andFi = factor(Projsc(Fi+1, xi+1, αi+1)) fori = 1, . . . , n  − 2.

image

It is a standard way to use factor to ensure that every  Fiis a finite squarefree basis.

Notice that the complexity of computing sample cell scell depends on �n−1i=1 |Fi|where  |Fi|means the number of polynomials in  Fi. From the recursive relationship  |Fn−1| = O(r2+  rn), |Fi| <(3 + i + 1)|Fi+1|, i= 1, . . . , n−2, it is not hard to know that the complexity of computing scell is  O((r2+ rn)(2 +  n)n−1).

Corollary 1. Let  F = {f1(¯x, xn), . . . , fr(¯x, xn)}be a polynomial set and  a ∈Rn−1, where ¯x = (x1, . . . , xn−1). If

image

Proof. It is a direct corollary of Theorem 3 and Theorem 2.

Example 2. Suppose  f = ax2+ bx + c and  α= (1, 1, 1) is a sample of (a, b, c). Then

image

F2= factor(Projsc({b2 − 4ac, a}, c)) = factor({1, a, −4a}) = {a}, F1= factor(Projsc({a}, b)) = {a}.

image

and after simplification

image

In this section, we introduce a search framework combined with the new projection operator proposed in the previous section. The main notation and concepts about the search framework are taken from Section 3 of [13] and Section 26.4.4 of [2]. Let ¯x = (x1, . . . , xn) and  level(xi) = i. For a polynomial f, a literal l and a clause c, we define level(f) = max({level(a)|a ∈ var(f))}, level(l) = level(poly(l)) and level(c) = max({level(l)|l ∈ c}). We describe the search framework by transition relations between search states as in [13]. The search states are indexed pairs of the form  M∥ζ, where  ζis a finite set of polynomial clauses and M is a sequence of literals and variable assignments. Every literal is marked as a decision or a propagation literal. We denote a propagation literal l by  c → lif l is propagated from c and denote a decision literal l by l•. We denote by  xi �→ aia variable assignment. Let  level(xi �→ ai) =  level(xi) and v[M] =  {xi �→ ai|(xi �→ ai) ∈ M}. For a set L of literals, v[M](L) means the resulting set of L after applying the assignments of v[M]. Next, we introduce transition relations between search states. Transition relations are specified by a set of transition rules. In the following, we use simple juxtaposition to denote the concatenation of sequences (e.g., M, M ′). We treat a literal or a variable assignment as one-element sequence and denote the empty sequence as  ∅. We say the sequence M is ordered when the sequence is of the form M = [N1, x1 �→ a1, . . . , Nk−1, xk−1 �→ ak−1, Nk]

where  Njis a sequence of literals and each literal  l ∈ Njsatisfies level(l) = j. Notice that  Njmight be  ∅. We define level(M) = k even if  Nk = ∅. We use sample(M) to denote the sample (a1, . . . , ak−1) of (x1, . . . , xk−1) in M and feasible(M) to denote the feasible set of  v[M](Nk). For a new literal l with xk ∈ var(l), we say l is consistent with M if  feasible([M, l]) ̸= ∅. If l is not consistent with M, we define core(l, M) to be a minimal set of literals L in M such that  v[M](L ∪ {l}) does not have a solution for  xk.

Remark 5. Since there is only one unassigned variable  xkin the polynomials in Nk, so feasible(M) can be easily calculated by real-root isolation.

Definition 4. Suppose l is a literal and M is an ordered sequence which satisfies level(M) = level(l) and  ¬lis not consistent with M. Define the explain clause of l with M as

image

Meanwhile, we define the state value of a literal l as

image

And for a clause c,

image

Specially,  value(∅, M) = False.

Definition 5. A set of rules for transition relations between search states are defined as follows where c is a clause and l is a literal.

image

image

Remark 6. Note that in this framework we rely on the rule lemma-propagation to guide the search away from conflicting states. When applying lemma-propagation, the most important thing is the explain clause. We cannot simply use the con-flicting core as the explain clause, as this will cause explain to be an incorrect lemma because it ignores assignments. Using full CAD to calculate explain is also costly. Thanks to the sample cell calculated by the novel sample-cell projection operator, we can now efficiently calculate an effective explain to achieve our purpose.

Theorem 4. Given a polynomial formula  ζwith finitely many clauses, any transition starting from the initial state  ∅∥ζwill terminate either in a state (sat, v), where the assignment v satisfies the formula  ζ, or in the unsat state. In the later case,  ζis unsatisfiable in R.

Proof. By Theorem 1 in [13], if there is a finite set such that all the literals returned every time by calling explain are always contained in the set, then the above theorem holds. On the other hand, it is not hard to see that all literals that may be generated by scell are determined by finitely many polynomials and their real roots and thus finite. That completes the proof. ■

In order to better demonstrate the effectiveness of our algorithm, we have implemented a prototype solver LiMbS2which is base on Mathematica 12. The solver is a clean translation of the algorithm in this paper. Our solver is compared to the following solvers that have been popular in SMT nonlinear competition: Z3 (4.8.7-1), CVC4 (1.6-2), Yices (2.6.1) and MathSAT5 (5.6.0).

All tests were conducted on 6-Core Intel Core i7-8750H@2.20GHz with 32GB of memory and ARCH LINUX SYSTEM (5.5.4-arch1-1). The timeout is set to be 5 hours.

The examples listed below, which we collect from several related papers, are either special or cannot be well-solved by existing SMT solvers. All results are listed in Table 1.

image

where  xn+1 = x1.

image

∃a, ∃b, ∃c, ∃d, ∃e, ∃f(a2b2e2+a2b2f 2+a2b2−a2bcde−a2bdf +a2c4f 4+2a2c4f 2+ a2c4−3a2c3ef 3−3a2c3ef +3a2c2e2f 2+a2c2e2+a2c2f 2+a2c2−a2ce3f −a2cef  −ab2de −2abc3f 4 −4abc3f 2 −2abc3+ 4abc2ef 3+ 4abc2ef + abcd2 −2abce2f 2+ abcf 2+ abc−abef + 2ac3df 3+ 2ac3df −4ac2def 2 −2ac2de+ 2acde2f + b2c2f 4+ 2b2c2f 2+ b2c2 − b2cef 3 − b2cef  −2bc2df 3 −2bc2df + 2bcdef 2+ c2d2f 2+ c2d2+ c2f 2+ c2 −cd2ef −cef < 0)

image

nr) Whether the distance between the ball  Br(¯x) and the complement of  B8(¯x) is less than 11000?

image

Our solver LiMbs solves all the 21 examples shown in Table 1. LiMbs is faster than the other solvers on 15 examples. Only LiMbs can solve 9 of the examples within a reasonable time while other solvers either run time out or return unknown state. From this we can see that our algorithm has great potential in solving satisfiability of polynomial formulas, especially considering that our prototype solver is a small program with less than 1000 lines of codes. For Hongn and Hong2n, though our solver is much faster than Z3, CVC4 is the one that performs best. We note that the examples of Hongn and Hong2n are all symmetric. This reminds us it is worth exploiting symmetry to optimize our solver’s performance.

image

Table 1. Comparison with other solvers on 21 examples

A new algorithm for deciding the satisfiability of polynomial formulas over the reals is proposed. The key point is that we design a new projection operator, the sample-cell projection operator, which can efficiently guide CDCL-style search away from conflicting states. Preliminary evaluation of the prototype solver LiMbS shows the effectiveness of the new algorithm.

We will further develop our algorithm, looking into problems with symmetry, equations or other special structures. We also hope to develop an easy-to-use, robust and concise open-source algorithm framework based on our prototype solver to achieve a wider range of applications.

This work was supported partly by NSFC under grants 61732001 and 61532019.

1. Barrett, C., Conway, C.L., Deters, M., Hadarean, L., Jovanovi’c, D., King, T., Reynolds, A., Tinelli, C.: CVC4. In: Proceedings of the 23rd International Conference on Computer Aided Verification (CAV ’11). pp. 171–177 (2011)

2. Biere, A., Heule, M., van Maaren, H., Walsh, T. (eds.): Handbook of Satisfiability, Frontiers in Artificial Intelligence and Applications, vol. 185. IOS Press (2009)

3. Brauße, F., Korovin, K., Korovina, M.V., M¨uller, N.T.: A cdcl-style calculus for solving non-linear constraints (2019), http://arxiv.org/abs/1905.09227

4. Brown, C.W.: Improved Projection for Cylindrical Algebraic Decomposition. Jour- nal of Symbolic Computation 32(5), 447–465 (2001)

5. Cimatti, A., Griggio, A., Schaafsma, B., Sebastiani, R.: The MathSAT5 SMT Solver. In: Piterman, N., Smolka, S. (eds.) Proceedings of TACAS. LNCS, vol. 7795, pp. 93–107. Springer (2013)

6. Collins, G.E.: Quantifier elimination for real closed fields by cylindrical algebraic decomposition. In: Automata Theory and Formal Languages, LNCS 33. pp. 134– 183 (1975)

7. Dutertre, B.: Yices 2.2. In: Biere, A., Bloem, R. (eds.) Computer-Aided Verification (CAV’2014). LNCS, vol. 8559, pp. 737–744. Springer (2014)

8. Dutertre, B., de Moura, L.M.: A fast linear-arithmetic solver for DPLL(T). In: Proceedings of CAV 2006. pp. 81–94 (2006)

9. Han, J., Dai, L., Hong, H., Xia, B.: Open weak cad and its applications. Journal of Symbolic Computation 80, 785–816 (2017)

10. Han, J., Dai, L., Xia, B.: Constructing fewer open cells by gcd computation in cad projection. In: Proceedings of ISSAC’14. pp. 240–247 (2014)

11. Hong, H.: An improvement of the projection operator in cylindrical algebraic decomposition. In: Proceedings of ISSAC ’90, 1990. pp. 261–264 (1990)

12. Hong, H.: Comparison of several decision algorithms for the existential theory of the reals. Tech. rep. (1991)

13. Jovanovic, D., de Moura, L.M.: Solving non-linear arithmetic. In: Automated Reasoning - 6th International Joint Conference, IJCAR 2012. pp. 339–354 (2012)

14. Korovin, K., Kosta, M., Sturm, T.: Towards conflict-driven learning for virtual substitution. In: Proceedings of SMT 2014. p. 71 (2014)

15. Liang, T., Reynolds, A., Tinelli, C., Barrett, C.W., Deters, M.: A DPLL(T) theory solver for a theory of strings and regular expressions. In: Proceedings of CAV 2014. pp. 646–662 (2014)

16. McCallum, S.: An improved projection operation for cylindrical algebraic decomposition of three-dimensional space. J. Symb. Comput. 5(1/2), 141–161 (1988)

17. McCallum, S.: An improved projection operation for cylindrical algebraic decomposition. In: Caviness, B.F., Johnson, J.R. (eds.) Quantifier Elimination and Cylindrical Algebraic Decomposition. pp. 242–268. Springer Vienna, Vienna (1998)

18. de Moura, L., Dutertre, B., Shankar, N.: A tutorial on satisfiability modulo theo- ries. In: Proceedings of CAV’2007. LNCS, vol. 4590, pp. 20–36 (2007)

19. de Moura, L.M., Bjørner, N.: Z3: an efficient SMT solver. In: Tools and Algorithms for the Construction and Analysis of Systems, 14th International Conference, TACAS 2008. pp. 337–340 (2008)

20. de Moura, L.M., Bjørner, N.: Satisfiability modulo theories: introduction and applications. Commun. ACM 54(9), 69–77 (2011)

21. Tarski, A.: A Decision Method for Elementary Algebra and Geometry. University of California Press (1951)

22. Xia, B., Yang, L.: Automated Inequality Proving and Discovering. WORLD SCI- ENTIFIC (Aug 2016)


Designed for Accessibility and to further Open Science