Abstract
Quantifierfree nonlinear arithmetic (QF_NRA) appears in many applications of satisfiability modulo theories solving (SMT). Accordingly, efficient reasoning for corresponding constraints in SMT theory solvers is highly relevant. We propose a new incomplete but efficient and terminating method to identify satisfiable instances. The method is derived from the subtropical method recently introduced in the context of symbolic computation for computing real zeros of single very large multivariate polynomials. Our method takes as input conjunctions of strict polynomial inequalities, which represent more than 40% of the QF_NRA section of the SMTLIB library of benchmarks. The method takes an abstraction of polynomials as exponent vectors over the natural numbers tagged with the signs of the corresponding coefficients. It then uses, in turn, SMT to solve linear problems over the reals to heuristically find suitable points that translate back to satisfying points for the original problem. Systematic experiments on the SMTLIB demonstrate that our method is not a sufficiently strong decision procedure by itself but a valuable heuristic to use within a portfolio of techniques.
The order of authors is strictly alphabetic.
You have full access to this open access chapter, Download conference paper PDF
Similar content being viewed by others
1 Introduction
Satisfiability Modulo Theories (SMT) has been blooming in recent years, and many applications rely on SMT solvers to check the satisfiability of numerous and large formulas [2, 3]. Many of those applications use arithmetic. In fact, linear arithmetic has been one of the first theories considered in SMT.
Several SMT solvers handle also nonlinear arithmetic theories. To be precise, some SMT solvers now support constraints of the form \(p \bowtie 0\), where \(\bowtie \ \in \{=,\le ,<\}\) and p is a polynomial over real or integer variables. Various techniques are used to solve these constraints over reals, e.g., cylindrical algebraic decomposition (RAHD [23, 24], Z3 4.3 [20]), virtual substitution (SMTRAT [9], Z3 3.1), interval constraint propagation [4] (HySATII [13], dReal [17, 18], RSolver [25], RealPaver [19], raSAT [28]), CORDIC (CORD [15]), and linearization (IC3NRAproves [8]). Bitblasting (MiniSmt [29]) and linearization (Barcelogic [5]) can be used for integers.
We present here an incomplete but efficient method to detect the satisfiability of large conjunctions of constraints of the form \(p > 0\) where p is a multivariate polynomial with strictly positive real variables. The method quickly states that the conjunction is satisfiable, or quickly returns unknown. Although seemingly restrictive, 40% of the quantifierfree nonlinear real arithmetic (QF_NRA) category of the SMTLIB is easily reducible to the considered fragment. Our method builds on a subtropical technique that has been found effective to find roots of very large polynomials stemming from chemistry and systems biology [12, 27]. Recall that a univariate polynomial with a positive head coefficient diverges positively as x increases to infinity. Intuitively, the subtropical approach generalizes this observation to the multivariate case and thus to higher dimensions.
In Sect. 2 we recall some basic definitions and facts. In Sect. 3 we provide a short presentation of the original method [27] and give some new insights for its foundations. In Sect. 4, we extend the method to multiple polynomial constraints. We then show in Sect. 5 that satisfiability modulo linear theory is particularly adequate to check for applicability of the method. In Sect. 6, we provide experimental evidence that the method is suited as a heuristic to be used in combination with other, complete, decision procedures for nonlinear arithmetic in SMT. It turns out that our method is quite fast at either detecting satisfiability or failing. In particular, it finds solutions for problems where stateoftheart nonlinear arithmetic SMT solvers time out. Finally, in Sect. 7, we summarize our contributions and results, and point at possible future research directions.
2 Basic Facts and Definitions
For \(a \in \mathbb {R}\), a vector \(\mathbf {x}= (x_1, \dots , x_d)\) of variables, and \(\mathbf {p}= (p_1, \dots , p_d) \in \mathbb {R}^d\) we use notations \(a^\mathbf {p}= (a^{p_1}, \dots , a^{p_d})\) and \(\mathbf {x}^\mathbf {p}= (x_1^{p_1}, \dots , x_d^{p_d})\). The frame F of a multivariate polynomial \(f\in \mathbb {Z}[x_1,\dots ,x_d]\) in sparse distributive representation
is uniquely determined, and written \({\text {frame}}(f)\). It can be partitioned into a positive and a negative frame, according to the sign of \(f_\mathbf {p}\):
For \(\mathbf {p}\), \(\mathbf {q}\in \mathbb {R}^d\) we define \(\overline{\mathbf {p}\mathbf {q}}=\{\,\lambda \mathbf {p}+(1\lambda )\mathbf {q}\in \mathbb {R}^n\mid \lambda \in [0,1]\,\}\). Recall that \(S\subseteq \mathbb {R}^d\) is convex if \(\overline{\mathbf {p}\mathbf {q}}\subseteq S\) for all \(\mathbf {p}\), \(\mathbf {q}\in S\). Furthermore, given any \(S\subseteq \mathbb {R}^d\), the convex hull \({\text {conv}}(S)\subseteq \mathbb {R}^d\) is the unique inclusionminimal convex set The Newton polytope of a polynomial f is the convex hull of its frame, \({\text {newton}}(f)={\text {conv}}({\text {frame}}(f))\). Figure 1a illustrates the Newton polytope of
which is the convex hull of its frame \(\{(0, 1), (1, 3),(2, 2), (3, 0), (4, 4)\}\subset \mathbb {N}^2\). As a convex hull of a finite set of points, the Newton polytope is bounded and thus indeed a polytope [26].
The face [26] of a polytope \(P\subseteq \mathbb {R}^d\) with respect to a vector \(\mathbf {n}\in \mathbb {R}^d\) is
Faces of dimension 0 are called vertices. We denote by \({\text {V}}(P)\) the set of all vertices of P. We have \(\mathbf {p}\in {\text {V}}(P)\) if and only if there exists \(\mathbf {n}\in \mathbb {R}^d\) such that \(\mathbf {n}^T\mathbf {p}> \mathbf {n}^T\mathbf {q}\) for all \(\mathbf {q}\in P\setminus \{\mathbf {p}\}\). In Fig. 1a, (4, 4) is a vertex of the Newton polytope with respect to (1, 1).
It is easy to see that for finite \(S\subset \mathbb {R}^d\) we have
The following lemma gives a characterization of \({\text {V}}({\text {conv}}(S))\):
Lemma 1
Let \(S\subset \mathbb {R}^d\) be finite, and let \(\mathbf {p}\in S\). The following are equivalent:

(i)
\(\mathbf {p}\) is a vertex of \({\text {conv}}(S)\) with respect to \(\mathbf {n}\).

(ii)
There exists a hyperplane \(H:\mathbf {n}^T\mathbf {x}+ c = 0\) that strictly separates \(\mathbf {p}\) from \(S \setminus \{\mathbf {p}\}\), and the normal vector \(\mathbf {n}\) is directed from H towards \(\mathbf {p}\).
Proof
Assume (i). Then there exists \(\mathbf {n}\in \mathbb {R}^d\) such that \(\mathbf {n}^T\mathbf {p}> \mathbf {n}^T\mathbf {q}\) for all \(\mathbf {q}\in S\setminus \{\mathbf {p}\}\subseteq {\text {conv}}(S)\setminus \{\mathbf {p}\}\). Choose \(\mathbf {q}_0\in S\setminus \{\mathbf {p}\}\) such that \(\mathbf {n}^T\mathbf {q}_0\) is maximal, and choose c such that \(\mathbf {n}^T\mathbf {p}>c>\mathbf {n}^T\mathbf {q}_0\). Then \(\mathbf {n}^T\mathbf {p}+c>0\) and \(\mathbf {n}^T\mathbf {q}+c\le \mathbf {n}^T\mathbf {q}_0+c<0\) for all \(\mathbf {q}\in S\setminus \{\mathbf {p}\}\). Hence \(H:\mathbf {n}^T\mathbf {p}+c=0\) is the desired hyperplane.
Assume (ii). It follows that \(\mathbf {n}^T\mathbf {p}+c>0>\mathbf {n}^T\mathbf {q}+c\) for all \(\mathbf {q}\in S\setminus \{\mathbf {p}\}\). If \(\mathbf {q}\in S\setminus \{\mathbf {p}\}\), then \(\mathbf {n}^T\mathbf {p}>\mathbf {n}^T\mathbf {q}\). If, in contrast, \(\mathbf {q}\in ({\text {conv}}(S)\setminus S)\setminus \{\mathbf {p}\}={\text {conv}}(S)\setminus S\), then \(\mathbf {q}=\sum _{\mathbf {s}\in S} t_\mathbf {s}\mathbf {s}\), where \(t_\mathbf {s}\in [0,1]\), \(\sum _{\mathbf {s}\in S}t_\mathbf {s}=1\), and at least two \(t_\mathbf {s}\) are greater than 0. It follows that
Let \(S_1\), ..., \(S_m \subseteq \mathbb {R}^d\), and let \(\mathbf {n}\in \mathbb {R}^d\). If there exist \(\mathbf {p}_1\in S_1\), ..., \(\mathbf {p}_n\in S_m\) such that each \(\mathbf {p}_i\) is a vertex of \({\text {conv}}(S_i)\) with respect to \(\mathbf {n}\), then the (unique) vertex cluster of \(\{S_i\}_{i\in \{1,\dots ,m\}}\) with respect to \(\mathbf {n}\) is defined as \((\mathbf {p}_1,\dots ,\mathbf {p}_m)\).
3 Subtropical Real Root Finding Revisited
This section improves on the original method described in [27]. It furthermore lays some theoretical foundations to better understand the limitations of the heuristic approach. The method finds real zeros with all positive coordinates of a multivariate polynomial f in three steps:

1.
Evaluate \(f(1,\dots ,1)\). If this is 0, we are done. If this is greater than 0, then consider \(f\) instead of f. We may now assume that we have found \(f(1,\dots ,1)<0\).

2.
Find \(\mathbf {p}\) with all positive coordinates such that \(f(\mathbf {p})>0\).

3.
Use the Intermediate Value Theorem (a continuous function with positive and negative values has a zero) to construct a root of f on the line segment \(\overline{\mathbf {1}\mathbf {p}}\).
We focus here on Step 2. Our technique builds on [27, Lemma 4], which we are going to restate now in a slightly generalized form. While the original lemma required that \(\mathbf {p}\in {\text {frame}}(f)\setminus \{\mathbf {0}\}\), inspection of the proof shows that this limitation is not necessary:
Lemma 2
Let f be a polynomial, and let \(\mathbf {p}\in {\text {frame}}(f)\) be a vertex of \({\text {newton}}(f)\) with respect to \(\mathbf {n}\in \mathbb {R}^d\). Then there exists \(a_0 \in \mathbb {R}^+\) such that for all \(a \in \mathbb {R}^+\) with \(a \ge a_0\) the following holds:

1.
\({\mid }{f_\mathbf {p}\ a^{\mathbf {n}^T\mathbf {p}}}{\mid }\,>\,{\mid }{\sum _{\mathbf {q}\in {\text {frame}}(f)\setminus \{\mathbf {p}\}}f_\mathbf {q}\ a^{\mathbf {n}^T\mathbf {q}}}{\mid }\),

2.
\({\text {sign}}(f(a^\mathbf {n})) = {\text {sign}}(f_\mathbf {p})\). \(\square \)
In order to find a point with all positive coordinates where \(f > 0\), the original method iteratively examines each \(\mathbf {p}\in {\text {frame}}^+(f) \setminus \{\mathbf {0}\}\) to check if it is a vertex of \({\text {newton}}(f)\) with respect to some \(\mathbf {n}\in \mathbb {R}^d\). In the positive case, Lemma 2 guarantees for large enough \(a \in \mathbb {R}^+\) that \({\text {sign}}(f(a^{\mathbf {n}})) = {\text {sign}}(f_\mathbf {p})=1\), in other words, \(f(a^{\mathbf {n}}) > 0\).
Example 3
Consider \(f = y +2xy^3 3x^2y^2  x^3  4x^4y^4\). Figure 1a illustrates the frame and the Newton polytope of f, of which (1, 3) is a vertex with respect to \((2, 3)\). Lemma 2 ensures that \(f(a^{2}, a^{3})\) is strictly positive for sufficiently large positive a. For example, \(f(2^{2}, 2^{3}) = \frac{51193}{256}\). Figure 1b shows how the moment curve \((a^{2}, a^{3})\) with \(a \ge 2\) will not leave the sign invariant region of f that contains \((2^{2}, 2^{3})\).
An exponent vector \(\mathbf {0}\in {\text {frame}}(f)\) corresponds to an absolute summand \(f_\mathbf {0}\) in f. Its abovementioned explicit exclusion in [27, Lemma 4] originated from the false intuition that one cannot achieve \({\text {sign}}(f(a^\mathbf {n}))={\text {sign}}(f_\mathbf {0})\) because the monomial \(f_\mathbf {0}\) is invariant under the choice of a. However, inclusion of \(\mathbf {0}\) can yield a normal vector \(\mathbf {n}\) which renders all other monomials small enough for \(f_\mathbf {0}\) to dominate.
Given a finite set \(S \subset \mathbb {R}^d\) and a point \(\mathbf {p}\in S\), the original method uses linear programming to determine if \(\mathbf {p}\) is a vertex of \({\text {conv}}(S)\) w.r.t. some vector \(\mathbf {n}\in \mathbb {R}^d\). Indeed, from Lemma 1, the problem can be reduced to finding a hyperplane \(H: \mathbf {n}^T\mathbf {x}+c = 0\) that strictly separates \(\mathbf {p}\) from \(S \setminus \{\mathbf {p}\}\) with the normal vector \(\mathbf {n}\) pointing from H to \(\mathbf {p}\). This is equivalent to solving the following linear problem with \(d + 1\) real variables \(\mathbf {n}\) and c:
Notice that with the occurrence of a nonzero absolute summand the corresponding point \(\mathbf {0}\) is generally a vertex of the Newton polytope with respect to \(\mathbf {1} = (1, \dots , 1)\). This raises the question whether there are other special points that are certainly vertices of the Newton polytope. In fact, \(\mathbf {0}\) is a lexicographic minimum in \({\text {frame}}(f)\), and it is not hard to see that minima and maxima with respect to lexicographic orderings are generally vertices of the Newton polytope.
We are now going to generalize that observation. A monotonic total preorder \({\preceq }\subseteq \mathbb {Z}^d\times \mathbb {Z}^d\) is defined as follows:

(i)
\(\mathbf {x}\preceq \mathbf {x}\) (reflexivity)

(ii)
\(\mathbf {x}\preceq \mathbf {y}\wedge \mathbf {y}\preceq \mathbf {z}\longrightarrow \mathbf {x}\preceq \mathbf {z}\) (transitivity)

(iii)
\(\mathbf {x}\preceq \mathbf {y}\longrightarrow \mathbf {x}+\mathbf {z}\preceq \mathbf {y}+\mathbf {z}\) (monotonicity)

(iv)
\(\mathbf {x}\preceq \mathbf {y}\vee \mathbf {y}\preceq \mathbf {x}\) (totality).
The difference to a total order is the missing antisymmetry. As an example in \(\mathbb {Z}^2\) consider \((x_1,x_2)\preceq (y_1,y_2)\) if and only if \(x_1+x_2\le y_1+y_2\). Then \(2\preceq 2\) and \(2\preceq 2\) but \(2\ne 2\). Our definition of \(\preceq \) on the extended domain \(\mathbb {Z}^d\) guarantees a cancellation law \(\mathbf {x}+\mathbf {z}\preceq \mathbf {y}+\mathbf {z}\longrightarrow \mathbf {x}\preceq \mathbf {y}\) also on \(\mathbb {N}^d\). The following lemma follows by induction using monotonicity and cancellation:
Lemma 4
For \(n\in \mathbb {N}\setminus \{0\}\) denote as usual the nfold addition of \(\mathbf {x}\) as \(n\odot \mathbf {x}\). Then \(\mathbf {x}\preceq \mathbf {y}\longleftrightarrow n\odot \mathbf {x}\preceq n\odot \mathbf {y}\). \(\square \)
Any monotonic preorder \(\preceq \) on \(\mathbb {Z}^d\) can be extended to \(\mathbb {Q}^d\): Using a suitable principle denominator \(n\in \mathbb {N}\setminus \{0\}\) define
This is welldefined.
Given \(\mathbf {x}\preceq \mathbf {y}\) we have either \(\mathbf {y}\npreceq \mathbf {x}\) or \(\mathbf {y}\preceq \mathbf {x}\). In the former case we say that \(\mathbf {x}\) and \(\mathbf {y}\) are strictly preordered and write \(\mathbf {x}\prec \mathbf {y}\). In the latter case they are not strictly preordered, i.e., \(\mathbf {x}\nprec \mathbf {y}\) although we might have \(\mathbf {x}\ne \mathbf {y}\). In particular, reflexivity yields \(\mathbf {x}\preceq \mathbf {x}\) and hence certainly \(\mathbf {x}\nprec \mathbf {x}\).
Example 5
Lexicographic orders are monotonic total orders and thus monotonic total preorders. Hence our notion covers our discussion of the absolute summand above. Here are some further examples: For \(i\in \{1,\dots ,d\}\) we define \(\mathbf {x}\preceq _i\mathbf {y}\) if and only if \(\pi _i(\mathbf {x})\le \pi _i(\mathbf {y})\), where \(\pi _i\) denotes the ith projection. Similarly, \(\mathbf {x}\succeq _{i}\mathbf {y}\) if and only if \(\pi _i(\mathbf {x})\ge \pi _i(\mathbf {y})\). Next, \(\mathbf {x}\preceq _\Sigma \mathbf {y}\) if and only if \(\sum _ix_i\le \sum _iy_i\). Our last example is going to be instrumental with the proof of the next theorem: Fix \(\mathbf {n}\in \mathbb {R}^d\), and define for \(\mathbf {p}\), \(\mathbf {p}'\in \mathbb {Z}^d\) that \(\mathbf {p}\preceq _\mathbf {n}\mathbf {p'}\) if and only if \(\mathbf {n}^T\mathbf {p}\le \mathbf {n}^T\mathbf {p'}\).
Theorem 6
Let \(f\in \mathbb {Z}[x_1,\dots ,x_d]\), and let \(\mathbf {p}\in {\text {frame}}(f)\). Then the following are equivalent:

(i)
\(\mathbf {p}\in {\text {V}}({\text {newton}}(f))\)

(ii)
There exists a monotonic total preorder \(\preceq \) on \(\mathbb {Z}^d\) such that
$$\begin{aligned} \mathbf {p}=\max \nolimits _\prec ({\text {frame}}(f)). \end{aligned}$$
Proof
Let \(\mathbf {p}\) be a vertex of \({\text {newton}}(f)\) specifically with respect to \(\mathbf {n}\). By our definition of a vertex in Sect. 2, \(\mathbf {p}\) is the maximum of \({\text {frame}}(f)\) with respect to \(\prec _\mathbf {n}\).
Let, vice versa, \(\preceq \) be a monotonic total preorder on \(\mathbb {Z}^d\), and let \(\mathbf {p}=\max _\prec ({\text {frame}}(f))\). Shortly denote \(V={\text {V}}({\text {newton}}(f))\), and assume for a contradiction that \(\mathbf {p}\notin V\). Since \(\mathbf {p}\in {\text {frame}}(f)\subseteq {\text {newton}}(f)\), we have
According to (1) in Sect. 2 we know that \(V\subseteq {\text {frame}}(f)\subseteq {\text {newton}}(f)\). It follows that \(\mathbf {s}\prec \mathbf {p}\) for all \(\mathbf {s}\in V\), and using monotony we obtain
On the other hand, we know that generally \(\mathbf {p}\nprec \mathbf {p}\), a contradiction. \(\square \)
In Fig. 1a we have \((0,1)=\max _{\succeq _1}({\text {frame}}(f))\), \((3,0)=\max _{\succeq _2}({\text {frame}}(f))\), and \((4,4)=\max _{\preceq _1}({\text {frame}}(f))=\max _{\preceq _2}({\text {frame}}(f))\). This shows that, besides contributing to our theoretical understanding, the theorem can be used to substantiate the efficient treatment of certain special cases in combination with other methods for identifying vertices of the Newton polytope.
Corollary 7
Let \(f\in \mathbb {Z}[x_1,\dots ,x_d]\), and let \(\mathbf {p}\in {\text {frame}}(f)\). If \(p=\max ({\text {frame}}(f))\) or \(p=\min ({\text {frame}}(f))\) with respect to an admissible term order in the sense of Gröbner Basis theory [7], then \(p\in {\text {V}}({\text {newton}}(f))\). \(\square \)
It is one of our research goals to identify and characterize those polynomials where the subtropical heuristic succeeds in finding positive points. We are now going to give a necessary criterion. Let \(f\in \mathbb {Z}[x_1,\dots ,x_d]\), define \({\varPi (f)=\{\,\mathbf {r}\in \mathopen ]0,\infty \mathclose [^d\mid f(\mathbf {r})>0\,\}}\), and denote by \(\overline{\varPi (f)}\) its closure with respect to the natural topology. In Lemma 2, when a tends to \(\infty \), \(a^{\mathbf {n}}\) will tend to some \(\mathbf {r}\in \{0, \infty \}^d\). If \(\mathbf {r}=\mathbf {0}\), then \(\mathbf {0}\in \overline{\varPi (f)}\). Otherwise, \(\varPi (f)\) is unbounded. Consequently, for the method to succeed, \(\varPi \) must have at least one of those two properties. Figure 2 illustrates four scenarios: the subtropical method succeeds in the first three cases while it fails to find a point in \(\varPi (f)\) in the last one. The first subfigure presents a case where \(\varPi (f)\) is unbounded. The second and third subfigures illustrate cases where the closure of \(\varPi (f)\) contains (0, 0). In the fourth subfigure where neither \(\varPi (f)\) is unbounded nor its closure contains (0, 0), the method cannot find any positive value of the variables for f to be positive.
4 Positive Values of Several Polynomials
The subtropical method as presented in [27] finds zeros with all positive coordinates of one single multivariate polynomial. This requires to find a corresponding point with a positive value of the polynomial. In the sequel we restrict ourselves to this subtask. This will allow us generalize from one polynomial to simultaneous positive values of finitely many polynomials.
4.1 A Sufficient Condition
With a single polynomial, the existence of a positive vertex of the Newton polytope guarantees the existence of positive real choices for the variables with a positive value of that polynomial. For several polynomials we introduce a more general notion: A sequence \((\mathbf {p}_1, \dots , \mathbf {p}_m)\) is a positive vertex cluster of \(\{f_i\}_{i\in \{1,\dots , m\}}\) with respect to \(\mathbf {n}\in \mathbb {R}^d\) if it is a vertex cluster of \(\{{\text {frame}}(f_i)\}_{i \in \{1,\dots ,m\}}\) with respect to \(\mathbf {n}\) and \(\mathbf {p}_i \in {\text {frame}}^+(f_i)\) for all \(i \in \{1, \dots , m\}\). The existence of a positive vertex cluster will guarantee the existence of positive real choices of the variables such that all polynomials \(f_1\), ..., \(f_m\) are simultaneously positive. The following lemma is a corresponding generalization of Lemma 2:
Lemma 8
If there exists a vertex cluster \((\mathbf {p}_1,\dots , \mathbf {p}_m)\) of \(\{{\text {frame}}(f_i)\}_{i \in \{1,\dots ,m\}}\) with respect to \(\mathbf {n}\in \mathbb {R}^n\), then there exists \(a_0 \in \mathbb {R^+}\) such that the following holds for all \(a \in \mathbb {R}^+\) with \(a \ge a_0\) and all \(i \in \{1, \dots , m\}\):

1.
\({\mid }{(f_i)_{\mathbf {p}_i}\ a^{\mathbf {n}^T\mathbf {p}_i}}{\mid }\,>\,{\mid }{\sum _{\mathbf {q}\in {\text {frame}}(f_i)\setminus \{\mathbf {p}_i\}}(f_i)_\mathbf {q}\ a^{\mathbf {n}^T\mathbf {q}}}{\mid }\),

2.
\({\text {sign}}(f_i(a^\mathbf {n})) = {\text {sign}}((f_i)_{\mathbf {p}_i})\).
Proof
From [27, Lemma 4], for each \(i\in \{1,\dots , m\}\), there exist \(a_{0,i} \in \mathbb {R}^+\) such that for all \(a \in \mathbb {R}^+\) with \(a \ge a_{0,i}\) the following holds:

1.
\({\mid }{(f_i)_{\mathbf {p}_i}\ a^{\mathbf {n}^T\mathbf {p}_i}}{\mid }\,>\, {\mid }{\sum _{\mathbf {q}\in {\text {frame}}(f_i)\setminus \{\mathbf {p}_i\}}(f_i)_{\mathbf {q}}\ a^{\mathbf {n}^T\mathbf {q}}}{\mid }\),

2.
\({\text {sign}}(f_i(a^n)) = {\text {sign}}((f_i)_{\mathbf {p}_i})\).
It now suffices to take \(a_0 = \max \{ a_{0,i}\ \ 1 \le i \le m \}\). \(\square \)
Similarly to the case of one polynomial, the following Proposition provides a sufficient condition for the existence of a common point with positive value for multiple polynomials.
Proposition 9
If there exists a positive vertex cluster \((\mathbf {p}_1,\dots , \mathbf {p}_m)\) of the polynomials \(\{f_i\}_{i\in \{1,\dots , m\}}\) with respect to a vector \(\mathbf {n}\in \mathbb {R}^d\), then there exists \(a_0 \in \mathbb {R}^+\) such that for all \(a \in \mathbb {R}^+\) with \(a \ge a_0\) the following holds:
Proof
For \(i\in \{1,\dots ,m\}\), since \(\mathbf {p}_i \in {\text {frame}}^+(f_i)\), Lemma 8 implies \(f_i(a^\mathbf {n}) > 0\). \(\square \)
Example 10
Consider \(f_1=2xy^2z+x^2yz^3, f_2=3xy^2z^4x^2zx^4y^3z^3,\) and \(f_3 = 4  z  y  x + 4\). The exponent vector \(\mathbf {0}\) is a vertex of \(\text {newton}(f_1)\), \({\text {newton}}(f_2)\), and \({\text {newton}}(f_3)\) with respect to \((1, 1, 1)\). Choose \(a_0=2 \in \mathbb {R}^+\). Then for all \(a \in \mathbb {R}\) with \(a \ge a_0\) we have \(f_1(a^{1},a^{1},a^{1})>0 \wedge f_2(a^{1},a^{1},a^{1})> 0 \wedge f_3(a^{1},a^{1},a^{1}) > 0\). \(\square \)
4.2 Existence of Positive Vertex Clusters
Given polynomials \(f_1\), ..., \(f_m\), Proposition 9 provides a sufficient condition, i.e. the existence of a positive vertex cluster of \(\{f_i\}_{i\in \{1,\dots , m\}}\), for the satisfiability of \(\bigwedge _{i=1}^{m}f_i>0\). A straightforward method to decide the existence of such a cluster is to verify whether each \((\mathbf {p}_1, \dots , \mathbf {p}_m) \in {\text {frame}}^+(f_1) \times \cdots \times {\text {frame}}^+(f_m)\) is a positive vertex cluster by checking the satisfiability of the formula
where \(\varphi \) is defined as in (2) on p.5. This is a linear problem with \(d+m\) variables \(\mathbf {n}\), \(c_1\), ..., \(c_m\). Since \({\text {frame}}(f_1)\), ..., \({\text {frame}}(f_m)\) are finite, checking all mtuples \((\mathbf {p}_1, \dots , \mathbf {p}_m)\) will terminate, provided we rely on a complete algorithm for linear programming, such as the Simplex algorithm [10], the ellipsoid method [22], or the interior point method [21]. This provides a decision procedure for the existence of a positive vertex cluster of \(\{f_i\}_{i\in \{1,\dots , m\}}\). However, this requires checking all candidates in \({\text {frame}}^+(f_1) \times \cdots \times {\text {frame}}^+(f_m)\).
We propose to use instead stateoftheart SMT solving techniques over linear real arithmetic to examine whether or not \(\{f_i\}_{i\in \{1,\dots , m\}}\) has a positive vertex cluster with respect to some \(\mathbf {n}\in \mathbb {R}^d\). In the positive case, a solution for \(\bigwedge _{i=1}^{m}f_i>0\) can be constructed as \(a^\mathbf {n}\) with a sufficiently large \(a \in \mathbb {R}^+\).
To start with, we provide a characterization for the positive frame of a single polynomial to contain a vertex of the Newton polytope.
Lemma 11
Let \(f\in \mathbb {Z}[\mathbf {x}]\). The following are equivalent:

(i)
There exists a vertex \(\mathbf {p}\in {\text {frame}}^+(f)\) of \({\text {newton}}(f)= {\text {conv}}({\text {frame}}(f))\) with respect to \(\mathbf {n}\in \mathbb {R}^d\).

(ii)
There exists \(\mathbf {p}' \in {\text {frame}}^+(f)\) such that \(\mathbf {p}'\) is also a vertex of \({{\text {conv}}({\text {frame}}^(f) \cup \{\mathbf {p}'\})}\) with respect to \(\mathbf {n'}\in \mathbb {R}^d\).
Proof
Assume (i). Take \(\mathbf {p}' = \mathbf {p}\) and \(\mathbf {n}' = \mathbf {n}\). Since \(\mathbf {p}\) is a vertex of \(\text {newton}(f)\) with respect to \(\mathbf {n}\), \(\mathbf {n}^T\mathbf {p}> \mathbf {n}^T\mathbf {p}_1\) for all \(\mathbf {p}_1 \in {\text {frame}}(f) \setminus \{\mathbf {p}\}\). This implies that \(\mathbf {n}^T\mathbf {p}> \mathbf {n}^T\mathbf {p}_1\) for all \(\mathbf {p}_1 \in {\text {frame}}^(f) \setminus \{\mathbf {p}\} = \left( {\text {frame}}^(f) \cup \{\mathbf {p}\}\right) \setminus \{\mathbf {p}\}\). In other words, \(\mathbf {p}\) is a vertex of \({\text {conv}}({\text {frame}}^(f) \cup \{\mathbf {p}\})\) with respect to \(\mathbf {n}\).
Assume (ii). Suppose \(V = {\text {V}}({\text {newton}}(f)) \subseteq {\text {frame}}^(f)\). Then, \(\mathbf {p}' = \sum _{\mathbf {s}\in V}t_\mathbf {s}\mathbf {s}\) where \(t_\mathbf {s}\in [0, 1]\), \(\sum _{\mathbf {s}\in V}t_\mathbf {s}=1\). It follows that
which is a contradiction. As a result, there must be some \(\mathbf {p}\in {\text {frame}}^+(f)\) which is a vertex of \({\text {newton}}(f)\) with respect to some \(\mathbf {n}\in \mathbb {R}^d\). \(\square \)
Thus some \(\mathbf {p}\in {\text {frame}}^+(f)\) is a vertex of the Newton polytope of a polynomial f if and only if the following formula is satisfiable:
For the case of several polynomials, the following theorem is a direct consequence of Lemma 11.
Theorem 12
Polynomials \(\{f_i\}_{i\in \{1,\dots ,m\}}\) have a positive vertex cluster with respect to \(\mathbf {n}\in \mathbb {R}^d\) if and only if \(\bigwedge _{i=1}^m\psi (f_i, \mathbf {n}, c_i)\) is satisfiable. \(\square \)
The formula \(\bigwedge _{i=1}^m\psi (f_i, \mathbf {n}, c_i)\) can be checked for satisfiability using combinations of linear programming techniques and DPLL(T) procedures [11, 16], i.e., satisfiability modulo linear arithmetic on reals. Any SMT solver supporting the QF_LRA logic is suitable. In the satisfiable case \(\{f_i\}_{i\in \{1,\dots ,m\}}\) has a positive vertex cluster and we can construct a solution for \(\bigwedge _{i=1}^mf_i>0\) as discussed earlier.
Example 13
Consider \(f_1 = 12 + 2x^{12}y^{25}z^{49}31x^{13}y^{22}z^{110}11x^{1000}y^{500}z^{89}\) and \(f_2 = 23+5xy^{22}z^{110}21x^{15}y^{20}z^{1000} + 2x^{100}y^{2}z^{49}\). With \(\mathbf {n}= (n_1, n_2, n_3)\) this yields
The conjunction \(\psi (f_1, \mathbf {n}, c_1)\wedge \psi (f_2, \mathbf {n}, c_2)\) is satisfiable. The SMT solver CVC4 computes \(\mathbf {n}=(\frac{238834}{120461}, \frac{2672460}{1325071},\frac{368561}{1325071})\) and \(c_1 = c_2 = 1\) as a model. Theorem 12 and Proposition 9 guarantee that there exists a large enough \(a \in \mathbb {R}^+\) such that \(f_1(a^\mathbf {n})> 0 \wedge f_2(a^\mathbf {n}) > 0\). Indeed, \(a=2\) already yields \(f_1(a^\mathbf {n}) \approx 16371.99\) and \(f_2(a^\mathbf {n}) \approx 17707.27\). \(\square \)
5 More General Solutions
So far all variables were assumed to be strictly positive, i.e., only solutions \(\mathbf {x}\in \mathopen ]0, \infty \mathclose [^d\) were considered. This section proposes a method for searching over \(\mathbb {R}^d\) by encoding sign conditions along with the condition in Theorem 12 as a quantifierfree formula over linear real arithmetic.
Let \(V = \{x_1, \dots , x_d\}\) be the set of variables. We define a sign variant of V as a function \(\tau : V \mapsto V \cup \{x \mid x \in V\}\) such that for each \(x \in V\), \(\tau (x) \in \{x, x\}\). We write \(\tau (f)\) to denote the substitution \(f(\tau (x_1), \dots , \tau (x_d))\) of \(\tau \) into a polynomial f. Furthermore, \(\tau (a)\) denotes \(\bigl (\frac{\tau (x_1)}{x_1}a,\dots , \frac{\tau (x_d)}{x_d}a\bigr )\) for \(a \in \mathbb {R}\). A sequence \((\mathbf {p}_1, \dots , \mathbf {p}_m)\) is a variant positive vertex cluster of \(\{f_i\}_{i\in \{1,\dots ,m\}}\) with respect to a vector \(\mathbf {n}\in \mathbb {R}^d\) and a sign variant \(\tau \) if \((\mathbf {p}_1, \dots , \mathbf {p}_m)\) is a positive vertex cluster of \(\{\tau (f_i)\}_{i\in \{1,\dots ,m\}}\). Note that the substitution of \(\tau \) into a polynomial f does not change the exponent vectors in f in terms of their exponents values, but only possibly changes signs of monomials. Given \(\mathbf {p}= (p_1, \dots , p_d) \in \mathbb {N}^d\) and a sign variant \(\tau \), we define a formula \(\vartheta (\mathbf {p}, \tau )\) such that it is true if and only if the sign of the monomial associated with \(\mathbf {p}\) is changed after applying the substitution defined by \(\tau \):
Note that this xor expression becomes true if and only if an odd number of its operands are true. Furthermore, a variable can change the sign of a monomial only when its exponent in that monomial is odd. As a result, if \(\vartheta (\mathbf {p}, \tau )\) is true, then applying the substitution defined by \(\tau \) will change the sign of the monomial associated with \(\mathbf {p}\). In conclusion, some \(\mathbf {p}\in {\text {frame}}(f)\) is in the positive frame of \(\tau (f)\) if and only if one of the following mutually exclusive conditions holds:

(i)
\(\mathbf {p}\in {\text {frame}}^+(f)\) and \(\vartheta (\mathbf {p}, \tau ) = \textsc {false}\)

(ii)
\(\mathbf {p}\in {\text {frame}}^(f)\) and \(\vartheta (\mathbf {p}, \tau ) = \textsc {true}\).
In other words, \(\mathbf {p}\) is in the positive frame of \(\tau (f)\) if and only if the formula \(\varTheta (\mathbf {p}, f, \tau ) \mathrel {\dot{=}}\big (f_\mathbf {p}>0 \wedge \lnot \vartheta (\mathbf {p}, \tau )\big ) \vee \big (f_\mathbf {p}< 0 \wedge \vartheta (\mathbf {p}, \tau )\big )\) holds. Then, the positive and negative frames of \(\tau (f)\) parameterized by \(\tau \) are defined as
respectively. The next lemma provides a sufficient condition for the existence of a solution in \(\mathbb {R}^d\) of \(\bigwedge _{i=1}^mf_i>0\).
Lemma 14
If there exists a variant positive vertex cluster of \(\{f_i\}_{i\in \{1,\dots ,m\}}\) with respect to \(\mathbf {n}\in \mathbb {R}^d\) and a sign variant \(\tau \), then there exists \(a_0 \in \mathbb {R}^+\) such that for all \(a \in \mathbb {R}^+\) with \(a \ge a_0\) the following holds:
Proof
Since \(\{\tau (f_i)\}_{i\in \{1,\dots ,m\}}\) has a positive vertex cluster with respect to \(\mathbf {n}\), Proposition 9 guarantees that there exists \(a_0 \in \mathbb {R}\) such that for all \(a \in \mathbb {R}\) with \(a \ge a_0\), we have \(\bigwedge _{i=1}^m\tau (f_i)(a^\mathbf {n})>0\), or \(\bigwedge _{i=1}^mf_i\big (\tau (a)^\mathbf {n}\big )>0\). \(\square \)
A variant positive vertex cluster exists if and only if there exist \(\mathbf {n}\in \mathbb {R}^d\), \(c_1, \dots , c_m \in \mathbb {R}\), and a sign variant \(\tau \) such that the following formula becomes true:
where for \(i\in \{1,\dots , m\}\):
The sign variant \(\tau \) can be encoded as d Boolean variables \(b_1\), ..., \(b_d\) such that \(b_i\) is true if and only if \(\tau (x_i) = x_i\) for all \(i \in \{1, \dots , d\}\). Then, the formula \(\varPsi (f_1,\dots ,f_m,\mathbf {n},c_1,\dots ,c_m,\tau )\) can be checked for satisfiability using an SMT solver for quantifierfree logic with linear real arithmetic.
6 Application to SMT Benchmarks
A library STROPSAT implementing Subtropical Satisfiability, is available on our web page^{Footnote 1}. It is integrated into veriT [6] as an incomplete theory solver for nonlinear arithmetic benchmarks. We experimented on the QF_NRA category of the SMTLIB on all benchmarks consisting of only inequalities, that is 4917 formulas out of 11601 in the whole category. The experiments thus focus on those 4917 benchmarks, comprising 3265 satannotated ones, 106 unknowns, and 1546 unsat benchmarks. We used the SMT solver CVC4 to handle the generated linear real arithmetic formulas \(\varPsi (f_1,\dots ,f_m,\mathbf {n},c_1,\dots ,c_m,\tau )\), and we ran veriT (with STROPSAT as the theory solver) against the clear winner of the SMTCOMP 2016 on the QF_NRA category, i.e., Z3 (implementing nlsat [20]), on a CX250 Cluster with Intel Xeon E52680v2 2.80 GHz CPUs. Each pair of benchmark and solver was run on one CPU with a timeout of 2500 s and 20 GB memory. The experimental data and the library are also available on Zenodo^{Footnote 2}.
Since our method focuses on showing satisfiability, only brief statistics on unsat benchmarks are provided. Among the 1546 unsat benchmarks, 200 benchmarks are found unsatisfiable already by the linear arithmetic theory reasoning in veriT. For each of the remaining ones, the method quickly returns unknown within 0.002 to 0.096 s, with a total cumulative time of 18.45 s (0.014 s on average). This clearly shows that the method can be applied with a very small overhead, upfront of another, complete or less incomplete procedure to check for unsatisfiability.
Table 1 provides the experimental results on benchmarks with sat or unknown status, and the cumulative times. The metitarski family consists of small benchmarks (most of them contain 3 to 4 variables and 1 to 23 polynomials with degrees between 1 and 4). Those are proof obligations extracted from the MetiTarski project [1], where the polynomials represent approximations of elementary real functions; all of them have defined statuses. The zankl family consists of large benchmarks (large numbers of variables and polynomials but small degrees) stemming from termination proofs for termrewriting systems [14].
Although Z3 clearly outperforms STROPSAT in the number of solved benchmarks, the results also clearly show that our method is a useful complementing heuristic with little drawback, to be used either upfront or in portfolio with other approaches. As already said, it returns unknown quickly on unsat benchmarks. In particular, on all benchmarks solved by Z3 only, STROPSAT returns unknown quickly (see Fig. 4).
When both solvers can solve the same benchmark, the running time of STROPSAT is comparable with Z3 (Fig. 3). There are 11 large benchmarks (9 of them have the unknown status) that are solved by STROPSAT but time out with Z3. STROPSAT times out for only 15 problems, on which Z3 times out as well. STROPSAT provides a model for 15 unknown benchmarks, whereas Z3 times out on 9 of them. The virtual best solver (i.e. running Z3 and STROPSAT in parallel and using the quickest answer) decreases the execution time for the metitarski problems to 54.43 s, solves all satisfiable zankl problems in 1120 s, and 24 of the unknown ones in 4502 s.
Since the exponents of the polynomials become coefficients in the linear formulas, high degrees do not hurt our method significantly. As the SMTLIB does not currently contain any inequality benchmarks with high degrees, our experimental results above do not demonstrate this claim. However, formulas like in Example 13 are totally within reach of our method (STROPSAT returned sat within a second) while Z3 runs out of memory (20 GB) after 30 s for the constraint \(f_1>0 \wedge f_2 > 0\).
7 Conclusion
We presented some extensions of a heuristic method to find simultaneous positive values of nonlinear multivariate polynomials. Our techniques turn out useful to handle SMT problems. In practice, our method is fast, either to succeed or to fail, and it succeeds where stateoftheart solvers do not. Therefore it establishes a valuable heuristic to apply either before or in parallel with other more complete methods to deal with nonlinear constraints. Since the heuristic translates a conjunction of nonlinear constraints one to one into a conjunction of linear constraints, it can easily be made incremental by using an incremental linear solver.
To improve the completeness of the method, it could be helpful to not only consider vertices of Newton polytopes, but also faces. Then, the value of the coefficients and not only their sign would matter. Consider \(\{\mathbf {p}_1, \mathbf {p}_2, \mathbf {p}_3\} = {\text {face}}(\mathbf {n}, {\text {newton}}(f))\), then we have \(\mathbf {n}^T\mathbf {p}_1 = \mathbf {n}^T\mathbf {p}_2 = \mathbf {n}^T\mathbf {p}_3\). It is easy to see that \(f_{\mathbf {p}_1}\mathbf {x}^{\mathbf {p}_1} + f_{\mathbf {p}_2}\mathbf {x}^{\mathbf {p}_2} + f_{\mathbf {p}_3}\mathbf {x}^{\mathbf {p}_3}\) will dominate the other monomials in the direction of \(\mathbf {n}\). In other words, there exists \(a_0 \in \mathbb {R}\) such that for all \(a \in \mathbb {R}\) with \(a \ge a_0\), \({\text {sign}}(f(a^\mathbf {n})) = {\text {sign}}(f_{\mathbf {p}_1}+f_{\mathbf {p}_2}+f_{\mathbf {p}_3})\). We leave for future work the encoding of the condition for the existence of such a face into linear formulas.
In the last paragraph of Sect. 3, we showed that, for the subtropical method to succeed, the set of values for which the considered polynomial is positive should either be unbounded, or should contain points arbitrarily near \(\mathbf {0}\). We believe there is a stronger, sufficient condition, that would bring another insight to the subtropical method.
We leave for further work two interesting questions suggested by a reviewer, both concerning the case when the method is not able to assert the satisfiability of a set of literals. First, the technique could indeed be used to select, using the convex hull of the frame, some constraints most likely to be part of an unsatisfiable set; this could be used to simplify the work of the decision procedure to check unsatisfiability afterwards. Second, a careful analysis of the frame can provide information to remove some constraints in order to have a provable satisfiable set of constraints; this could be of some use for in a context of maxSMT.
Finally, on a more practical side, we would like to investigate the use of the techniques presented here for the testing phase of the raSAT loop [28], an extension the interval constraint propagation with testing and the Intermediate Value Theorem. We believe that this could lead to significant improvements in the solver, where testing is currently random.
References
Akbarpour, B., Paulson, L.C.: MetiTarski: an automatic theorem prover for realvalued special functions. J. Autom. Reason. 44(3), 175–205 (2010)
Barrett, C., Kroening, D., Melham, T.: Problem solving for the 21st century: efficient solvers for satisfiability modulo theories. Technical Report 3, London Mathematical Society and Smith Institute for Industrial Mathematics and System Engineering Knowledge Transfer Report(2014)
Barrett, C., Sebastiani, R., Seshia, S.A., Tinelli, C.: Satisfiability modulo theories. In: Biere, A., Heule, M., Van Maaren, H., Walsh, T. (eds.) Handbook of Satisfiability. Frontiers in Artificial Intelligence and Applications, vol. 185, pp. 825–885. IOS Press, Amsterdam (2009)
Benhamou, F., Granvilliers, L.: Continuous and interval constraints. In: Rossi, F., van Beek, P., Walsh, T. (eds.) Handbook of Constraint Programming, pp. 571–604. Elsevier, New York (2006)
Bofill, M., Nieuwenhuis, R., Oliveras, A., RodríguezCarbonell, E., Rubio, A.: The barcelogic SMT solver. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 294–298. Springer, Heidelberg (2008). doi:10.1007/9783540705451_27
Bouton, T., Caminha B. de Oliveira, D., Déharbe, D., Fontaine, P.: veriT: an open, trustable and efficient SMTsolver. In: Schmidt, R.A. (ed.) CADE 2009. LNCS (LNAI), vol. 5663, pp. 151–156. Springer, Heidelberg (2009). doi:10.1007/9783642029592_12
Buchberger, B.: Ein Algorithmus zum Auffinden der Basiselemente des Restklassenringes nach einem nulldimensionalen Polynomideal. Doctoral dissertation, University of Innsbruck, Austria (1965)
Cimatti, A., Griggio, A., Irfan, A., Roveri, M., Sebastiani, R.: Invariant checking of NRA transition systems via incremental reduction to LRA with EUF. In: Legay, A., Margaria, T. (eds.) TACAS 2017. LNCS, vol. 10205, pp. 58–75. Springer, Heidelberg (2017). doi:10.1007/9783662545775_4
Corzilius, F., Loup, U., Junges, S., Ábrahám, E.: SMTRAT: an SMTcompliant nonlinear real arithmetic toolbox. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 442–448. Springer, Heidelberg (2012). doi:10.1007/9783642316128_35
Dantzig, G.B.: Linear Programming and Extensions. Prentice University Press, Princeton (1963)
Dutertre, B., de Moura, L.: A fast lineararithmetic solver for DPLL(T). In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 81–94. Springer, Heidelberg (2006). doi:10.1007/11817963_11
Errami, H., Eiswirth, M., Grigoriev, D., Seiler, W.M., Sturm, T., Weber, A.: Detection of Hopf bifurcations in chemical reaction networks using convex coordinates. J. Comput. Phys. 291, 279–302 (2015)
Fränzle, M., Herde, C., Teige, T., Ratschan, S., Schubert, T.: Efficient solving of large nonlinear arithmetic constraint systems with complex Boolean structure. J. Satisf. Boolean Model. Comput. 1, 209–236 (2007)
Fuhs, C., Giesl, J., Middeldorp, A., SchneiderKamp, P., Thiemann, R., Zankl, H.: SAT solving for termination analysis with polynomial interpretations. In: MarquesSilva, J., Sakallah, K.A. (eds.) SAT 2007. LNCS, vol. 4501, pp. 340–354. Springer, Heidelberg (2007). doi:10.1007/9783540727880_33
Ganai, M., Ivancic, F.: Efficient decision procedure for nonlinear arithmetic constraints using CORDIC. In: Formal Methods in ComputerAided Design, FMCAD 2009, pp. 61–68 (2009)
Ganzinger, H., Hagen, G., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: DPLL(T): fast decision procedures. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 175–188. Springer, Heidelberg (2004). doi:10.1007/9783540278139_14
Gao, S., Kong, S., Clarke, E.M.: Satisfiability modulo ODEs. In: Formal Methods in ComputerAided Design (FMCAD) 2013, pp. 105–112 (2013)
Gao, S., Kong, S., Clarke, E.M.: dReal: an SMT solver for nonlinear theories over the reals. In: Bonacina, M.P. (ed.) CADE 2013. LNCS (LNAI), vol. 7898, pp. 208–214. Springer, Heidelberg (2013). doi:10.1007/9783642385742_14
Granvilliers, L., Benhamou, F.: RealPaver: an interval solver using constraint satisfaction techniques. ACM Trans. Math. Softw. 32, 138–156 (2006)
Jovanović, D., de Moura, L.: Solving nonlinear arithmetic. In: Gramlich, B., Miller, D., Sattler, U. (eds.) IJCAR 2012. LNCS, vol. 7364, pp. 339–354. Springer, Heidelberg (2012). doi:10.1007/9783642313653_27
Karmarkar, N.: A new polynomialtime algorithm for linear programming. Combinatorica 4(4), 373–395 (1984)
Khachiyan, L.: Polynomial algorithms in linear programming. USSR Comput. Math. Math. Phys. 20(1), 53–72 (1980)
Passmore, G.O.: Combined decision procedures for nonlinear arithmetics, real and complex. Dissertation, School of Informatics, University of Edinburgh (2011)
Passmore, G.O., Jackson, P.B.: Combined decision techniques for the existential theory of the reals. In: Carette, J., Dixon, L., Coen, C.S., Watt, S.M. (eds.) CICM 2009. LNCS, vol. 5625, pp. 122–137. Springer, Heidelberg (2009). doi:10.1007/9783642026140_14
Ratschan, S.: Efficient solving of quantified inequality constraints over the real numbers. ACM Trans. Comput. Log. 7, 723–748 (2006)
Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1986)
Sturm, T.: Subtropical real root finding. In: Proceedings of the ISSAC 2015, pp. 347–354. ACM (2015)
Tung, V.X., Van Khanh, T., Ogawa, M.: raSAT: an SMT solver for polynomial constraints. In: Olivetti, N., Tiwari, A. (eds.) IJCAR 2016. LNCS, vol. 9706, pp. 228–237. Springer, Cham (2016). doi:10.1007/9783319402291_16
Zankl, H., Middeldorp, A.: Satisfiability of nonlinear (Ir)rational arithmetic. In: Clarke, E.M., Voronkov, A. (eds.) LPAR 2010. LNCS, vol. 6355, pp. 481–500. Springer, Heidelberg (2010). doi:10.1007/9783642175114_27
Acknowledgments
We are grateful to the anonymous reviewers for their comments. This research has been partially supported by the ANR/DFG project SMArT (ANR13IS020001 & STU 483/21) and by the European Union project SC^{2} (grant agreement No. 712689). The work has also received funding from the European Research Council under the European Union’s Horizon 2020 research and innovation program (grant agreement No. 713999, Matryoshka). The last author would like to acknowledge the JAIST OffCampus Research Grant for fully supporting him during his stay at LORIA, Nancy. The work has also been partially supported by the JSPS KAKENHI GrantinAid for Scientific Research(B) (15H02684) and the JSPS CoretoCore Program (A. Advanced Research Networks).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter’s Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter’s Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
Copyright information
© 2017 The Author(s)
About this paper
Cite this paper
Fontaine, P., Ogawa, M., Sturm, T., Vu, X.T. (2017). Subtropical Satisfiability. In: Dixon, C., Finger, M. (eds) Frontiers of Combining Systems. FroCoS 2017. Lecture Notes in Computer Science(), vol 10483. Springer, Cham. https://doi.org/10.1007/9783319661674_11
Download citation
DOI: https://doi.org/10.1007/9783319661674_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 9783319661667
Online ISBN: 9783319661674
eBook Packages: Computer ScienceComputer Science (R0)