MCSAT Support
The MCSAT solver is an optional component of Yices that requires the libpoly library. The MCSAT solver is necessary if you want Yices to handle non-linear arithmetic constraints.
Some functions in the Yices API convert real values to the
algebraic-number representation used by libpoly (structures of type
lp_algebraic_number_t
). To use these functions, you must first
make sure that Yices is compiled with MCSAT support. You must also
install libpoly and include the appropriate header in you code
as follows:
#include <poly/algebraic_number.h>
#include <yices.h>
It is important to include poly/algebraic_number.h
before yices.h
.
File examples/example_mcsat.c
included in the distribution
shows how to use these functions and how to solve a simple problem in
non-linear arithmetic.
-
int32_t yices_has_mcsat(void)
Check whether the Yices library was compiled with MCSAT support.
This function indicates whether the Yices library you are linking against was built with MCSAT support. It returns 1 for Yes and 0 for No.