Computing with non-linear polynomial constraints over the real numbers has been an important area within Computer Algebra since the field's inception. More recently, satisfiability for this theory has become an important problem in the SMT-solving community. Inspired by the SC2 project, this paper combines ideas from both communities to produce a fast “partial solver” for the theory — i.e. a solver that can sometimes decide the satisfiability of formulas, but sometimes fails to make a determination. The partial solver is based on existing “black-box/white-box” simplification algorithms, which this paper extends to allow for the production of UNSAT cores (and stronger simplifications). The production of UNSAT cores is required if the partial solver is to be used in SMT-solving, which is one of the primary motivations for this work. The authors have implemented the partial solver in the ▪ system, and this paper also reports on experiments based on that implementation.
Read full abstract