![]() |
SMT-RAT
24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
|
Implements factor elimination in polynomials based on factorization and variable bounds.
Given a constraint with
and bounds
on the variables in
, the module does the following: It computes a factor
such that
and evaluates
on the intervals represented by the bounds. If the resulting interval
if sign-invariant, the constraint can be simplified or additional constraints can be added. We consider an interval to be sign-invariant, if it is positive, semi-positive, zero, semi-negative or negative.
The following simplifications are done for for :
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Notation: replaces the polynomial,
replaces the whole constraint by a new one and
replaces the constraint by a new formula.
To maximize the cases where actually is sign-invariant, we proceed as follows. We compute a factorization of
, that is a number of polynomials
such that
. We now separate all
into two sets:
for all sign-invariant
and
for all other
. Thereby, we set
and
and know that
is sign-invariant.
Instead of computing once again afterwards, we can determine the type of sign-invariance of
from the types of sign-invariances of the factors from
. Assume that we start with a canonical factor
and a sign-invariance of
, we can iteratively combine them like this:
Combining two types of sign-invariance is done as follows:
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |