raSAT: The SMT solver for Polynomial Constraints on Real numbers Version 0.1 21 January 2014 1. REQUIREMENTS - packages: make, automake, gcc, ocaml, zlib, curses, bash - Environments: confirmed on Win7, Win8 / cygwin 64 bit, linux 2. BUILDING raSAT (run in bash) *Let be a directory where un-rared "raSAT" is placed* *go to * cd camlside make (Build the library camllib.a) cd .. export MROOT= cd solver make (Build raSAT in the folder solver) 3. Set PATH for PATH=/solver:$PATH 4. RUNNING raSAT raSAT bound="lb ub" Usage example: raSAT Test/zankl/matrix-1-all-2.smt2 bound="-10 10" sbox=0.5 tout=120 ======================= Notes on usage: - raSAT accepts inequality problems in SMT-LIB format (.smt2), including the use of ">=" and "<=" in formulae. This is confirmed in meta-tarski, Hong, Zankl benchmarks. - Similar to dReal, raSAT requires to specify an input range (i.e., the range is specified by bound="lb ub", which are the lower and upper bounds), to avoid infinite ranges. Note that current implementation assigns the same input range to each variable, which is a conjunction with ranges in a benchmark. For example, if 0 < x < 2 and 2 < y < 4, bound = "0 4" keeps as is. - "sbox" is the bound for isHalt (i.e., the minimum range of the decomposition), and "tout" is the timeout in seconds, and they are optional. (Default values are 0.1 for sbox and 60 seconds for tout, respectively). ======================= Notes on installation: - Older version of cygwin 32bit also worked (with flexdll package), but the latest cygwin 32bit fails to link (at least in our environment). - Win7, Win8 / cygwin 64bit also sometimes fails to compile. This is often recovered by re-installation of cygwin. ======================== Benchmarks: raSAT accepts inequality problems (including the use of ">=" and "<=" in formulae). zankl: http://smtexec.org/2012_benchmarks/main/QF_NRA/zankl/ meti-tarski: http://smtexec.org/2012_benchmarks/main/QF_NRA/meti-tarski/ hong: http://smtexec.org/2012_benchmarks/main/QF_NRA/hong/ ======================== Reference: To Van Khanh, Mizuhito Ogawa, raSAT: SMT for polynomial inequality. JAIST Research Report IS-RR-2013-003 http://www.jaist.ac.jp/~mizuhito/papers/report/JAIST-IS-RR-2013-003.pdf ======================== Future works: - Development version also handles open-ended ranges, e.g., x > 0, which will be included in later release. - Due to the floating point arithmetic nature, we cannot convince the detection of "=". Later release will include precise SAT detection. (Development version includes precise single equality detection.)