summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-04-02Reorganize bitblaster code. (#1695)Mathias Preiner
This splits bitblaster_template.h into the separate header files {aig,eager,lazy}_bitblaster.h and bitblaster.h (the template class TBitblaster). All the bitblaster related code is moved into the sub-directory bitblast/.
2018-04-02Do not call toString() on malformed node when throwing ↵yoni206
TypeCheckingExceptionPrivate. (#1733) While throwing a TypeCheckingExceptionPrivate, an IllegalArgumentException was thrown when trying calling toString() on a malformed node. Fixed by printing the kind of the node and its children rather than calling toString() on the malformed node.
2018-03-30Disable regression (#1731)Andrew Reynolds
2018-03-30Split strategy representation from SygusUnif (#1730)Andrew Reynolds
2018-03-30Do not use factoring inference for transcendental functions (#1707)Andrew Reynolds
2018-03-29Simplify sygus unif so that it is one-to-one with functions to synthesize ↵Andrew Reynolds
(#1726)
2018-03-27Make sygus pbe use sygus unif utility (#1724)Andrew Reynolds
2018-03-27Fix for --sygus-rr-synth (#1723)Andrew Reynolds
2018-03-27Make sygus unif utility (#1720)Andrew Reynolds
2018-03-27Filter candidate rewrites based on matching (#1682)Andrew Reynolds
2018-03-26Better normalization of string concatenation (#1719)Andres Noetzli
2018-03-26Documentation and simplifications for PBE (#1677)Andrew Reynolds
2018-03-26Regression level 0 for distcheck on Travis (#1714)Andres Noetzli
We are running all our Travis tests with regression level 0 except for distcheck, which is running with the default level 1. This commit lowers the level to 0 to make all jobs consistent.
2018-03-26Add support for filtering regressions with regex (#1711)Andres Noetzli
This commit adds support for filtering the regression tests using a regex. For example: ``` TEST_REGEX=quantifiers make regress0 ``` Runs regression tests from level 0 that have "quantifiers" in their name.
2018-03-26Fix memory leak in bvminisat (#1710)Andres Noetzli
While reviewing #1695, I realized that bvminisat is leaking memory for each call to setNotify(). This commit uses std::unique_ptr to fix the issue. It also adds std::unique_ptr to manage d_minisat.
2018-03-26Make Java bindings work with newer build envs (#1709)Andres Noetzli
Our current build scripts did not work with Automake 1.16. At configure time, the .swig_deps target in src/bindings/Makefile.am was executed due to the `@mk_include@ .swig_deps` (which is not the case with older versions of Automake). This ultimately caused configure to fail because SWIG was complaining about missing files (generated source files, such as src/expr/expr.h). This commit fixes the issue by adding `-ignoremissing` to the call to SWIG. With that option, SWIG is not complaining about the missing files and the dependency generation completes successfully. Currently, the src/bindings/compat/java/create_impl.py script is not compatible with Python 3, which leads to errors when building on systems where `python` links to Python 3 (e.g. on Arch Linux). This commit makes the script compatible with both Python 2 and 3. Our build scripts were using old -source/-target versions when calling `javac`. Those are not supported by newer Java versions (e.g. Java 9). This commit updates the version to 1.6, which is still fairly old, so should be broadly supported. Finally, some systems (e.g. Arch Linux' AUR package for SWIG 2) refer to SWIG 2 as `swig-2`. This commit adds support for detecting this at configure time.
2018-03-26 Add reasoning for inequalities in str rewriter (#1713)Andres Noetzli
2018-03-26Synth-check and accelerate options for sygus-rr (#1691)Andrew Reynolds
2018-03-26Abort when sygus-verify finds unsoundness. (#1717)Andrew Reynolds
2018-03-26Rewrites for substr of strings of length one (#1712)Andres Noetzli
This commit adds a rewrite for substrings of strings of length one to the empty string if it can be shown that it is not possible that the start position and the length are both greater than zero: ``` (str.substr "A" x y) --> "" if x = 0 |= 0 >= y ``` The commit introduces a set of functions to check such entailments with assumptions.
2018-03-25Check model only when sat (#1694)Andrew Reynolds
2018-03-25Cleanup various exit calls (#1692)Andrew Reynolds
2018-03-24Remove doc/libcvc4.3 from options/Makefile.am. (#1696)Mathias Preiner
This commit fixes an issue with calling make clean && make. The final doc/libcvc4.3 is now generated during ./autogen.sh and should not be deleted with make clean.
2018-03-23Add a few quantifiers regressions to improve coverage (#1702)Andrew Reynolds
2018-03-23Remove abstract regular expression constant (#1698)Andrew Reynolds
2018-03-23Remove unused code (#1700)Andrew Reynolds
2018-03-23Minor reorganization for ematching (#1701)Andrew Reynolds
2018-03-23Enable post-condition strenghtening by default for non-syntax restricted ↵Andrew Reynolds
invariant synthesis (#1703)
2018-03-21Ignore whitespaces and moved code for contrib/get-authors.Mathias Preiner
2018-03-21Fix 'make regress' (#1683)Andres Noetzli
Commit b8db52f9bad5b1053810c93f0067de8423349da3 removed the option to do "make regress" (I only tested with "make regressX" and "make check"). This commit reenables "make regress".
2018-03-21Refactor mkoptions (#1631)Mathias Preiner
This commit refactors code generation for options. It uses a new configuration format for defining options (*.toml) and a new Python script mkoptions.py to generate the source code and option documentation. The option behavior did not change for most of the options, except that for bool --enable-/--disable- long options enable/disable was removed. E.g. --enable-miplib-trick and --disable-miplib-trick got changed to --miplib-trick and --no-miplib-trick. This commit fixes also an issues with set-option/get-option via the SMT2 interface. Before long options were only accessible if the name included the =ARG part.
2018-03-21Add bit-vector extract example. (#1681)Aina Niemetz
2018-03-21More rewrites for indexof (#1648)Andrew Reynolds
2018-03-21 Move regression tests to single Makefile.am (#1658)Andres Noetzli
Until now, regression tests were split across tens of different Makefile.am, which required a lot of code duplication and does not really seem to be in the spirit of automake. If we want to change the LOG_COMPILER/LOG_DRIVER for example, we have to change every single Makefile.am, which is cumbersome (I was able to get something semi-working by exporting those variables but it didn't seem very clean). Additionally, it made the output of the regression tests fairly verbose and split the output across multiple log files. Finally it also limited parallelism when running the regression tests (this fix lowers the time it takes to run regression level 1 from 3m to 1m45s on my machine with 16 threads). This commit moves all the regression tests into test/regress/Makefile.tests and changes test/regress/Makefile.am to deal with this new structure. Finally, it changes how the test summary in test/Makefile.am is produced: instead of relying on the log files for the subdirectories, it greps for the test results in the log files of the individual tests. Not the most elegant solution but we should probably anyway delegate that task to a Python script at some point.
2018-03-21Fix various regression tests (#1657)Andres Noetzli
While reorganizing the regression tests, I found three tests with a wrong status, one that CVC4 reported unknown for and some regression tests that had command line options set in the Makefile.am instead of the tests themselves. This commit fixes the status of the three regression tests (verified the status with Z3), adds command line options to make the previously "unknown" test work, and moves the command line options from the Makefile.am into the individual regression tests. The latter also required some minor changes to the regression script because it would not try to determine the expected output from the (set-info :status ...) command if there was one directive (such as EXPECT/COMMAND-LINE/etc.). This was an issue with the tests that now have a COMMAND-LINE directive.
2018-03-21Fix for string disequality processing (#1679)Andrew Reynolds
2018-03-20Add support for CaDiCaL as eager BV SAT solver. (#1675)Mathias Preiner
2018-03-20Minor refactor datatypes sygus (#1673)Andrew Reynolds
2018-03-20Internally remove redundant assertions and infer equalities in ↵Andrew Reynolds
NonLinearExtension (#1633)
2018-03-20Fix datatype dump regression. (#1672)Andrew Reynolds
2018-03-20Minor fix and addition to sygus sampler (#1678)Andrew Reynolds
2018-03-20Add parameterized datatypes example. (#1676)Aina Niemetz
2018-03-20correct instruction for running example (#1669)yoni206
2018-03-19Enable CEGQI for non-linear (#1674)Andrew Reynolds
2018-03-19Document inferences for strings (#1642)Andrew Reynolds
2018-03-13Use Cryptominisat version 5.0.2 (instead of 4.2.0). (#1664)Mathias Preiner
2018-03-13SmtEngine::getModel() is now public. (#1665)Aina Niemetz
2018-03-09Printers are now managed as unique_ptr (fix mem leak). (#1654)Aina Niemetz
2018-03-09Some minor cleanup in bv::utils. (#1663)Aina Niemetz
2018-03-09Add support for SMT-LIB v2.5 command get-unsat-assumptions (#1653)Aina Niemetz
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback