summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-04-13allowing --bool-to-bv without quantifiers (#1771)yoni206
2018-04-13Fix use-after-free in eager bitblaster (#1772)Andres Noetzli
There was a use-after-free in the eager bitblaster: the context used by the SAT solver was destroyed before the solver. This lead to a use-after-free in the destructor of the SAT solver when destroying context-dependent objects. This commit fixes the issue by changing the desctruction order such that the context is destroyed after the SAT solver. Note: This issue was introduced in commit a917cc2ab4956b542b1f565abf0e62b197692f8d because d_nullContext and d_satSolver were changed to be std::unique_ptrs.
2018-04-13Disable split for negative contains. (#1774)Andrew Reynolds
2018-04-12Fix alpha equivalence for higher-order (#1769)Andrew Reynolds
2018-04-12Fixes for free variables in assertions (#1762)Andrew Reynolds
2018-04-10Refactored BVGauss preprocessing pass. (#1766)Aina Niemetz
2018-04-10Properly implement function extensionality based on cardinality (#1765)Andrew Reynolds
2018-04-10 Improve accuracy of stats for sygus sampler (#1755)Andrew Reynolds
2018-04-09Remove unused arith options (#1758)Andres Noetzli
Commit 629824db3911ab11ae286e4b14151a537602ba5a added options when introducing the pseudo boolean processor that were never used. This commit removes them.
2018-04-09Fix hasSubterm calls for higher-order (#1760)Andrew Reynolds
2018-04-09Fix dumping of benchmark in SmtEngine::checkSatisfiability(). (#1764)Aina Niemetz
2018-04-09Fix higher-order term indexing. (#1754)Andrew Reynolds
2018-04-09Fix sygus substr static symmetry breaking (#1761)Andrew Reynolds
2018-04-08Allow predetermined first-order variables when constructing deep embedding. ↵Andrew Reynolds
(#1757)
2018-04-08Check free variables in assertions (#1737)Andrew Reynolds
2018-04-08Do not introduce uinterpreted constants in TPTP parser (#1743)Andrew Reynolds
2018-04-08Add quantifier name attribute. (#1756)Andrew Reynolds
2018-04-06Add define rec fun to cvc parser (#1738)Arjun Viswanathan
2018-04-05Add more general SignExtendUltConst rewriting. (#1385)Mathias Preiner
This also adds an additional check in processAssertions to ensure that all assertions are guaranteed to be rewritten (there was only a comment stating this).
2018-04-04Proper initialization and destruction of sygus unif (#1750)Andrew Reynolds
2018-04-04Fix for corner case of higher-order matching (#1708)Andrew Reynolds
2018-04-04Do not debug check models when unknown (#1748)Andrew Reynolds
2018-04-04Fix sygus infer (#1747)Andrew Reynolds
2018-04-03Refactor IntToBV preprocessing pass (#1716)Andres Noetzli
This commit refactors the IntToBV preprocessing pass into the new style. This commit is essentially just a code move, it does not attempt to fix issues (e.g. #1715).
2018-04-03Option to turn arbitrary input into sygus (#1704)Andrew Reynolds
Preprocessing pass that turns an arbitrary (e.g. smt2) input into a sygus conjecture, which is helpful for Horn clause solving. This includes improvements to the robustness of the sygus solver.
2018-04-03[BVMiniSat] Avoid duplicates in conflicts (#1745)Andres Noetzli
If analyzeFinal() in BVMiniSat was called with a literal that also occurred in the trail, it could happen that the set of assumptions that led to the assignment of `p` contained `p` twice. BitVectorProof::endBVConflict would then register that conflict with the duplicate literal but at the same time compute a conflict expression with the duplicate removed. LFSCSatProof::printAssumptionsResolution would then output two resolutions for the same literal, which made the simplify_clause side condition fail because it couldn't find the literal in the clause anymore after the first removal. The fix simply avoid adding `p` to the set of assumptions if it is found in the trail. In this situation, `p` is guaranteed to be in the set of assumptions already because it has been added at the beginning of analyzeFinal(). This issue originally came up in PR #1384. With this fix the regression tests pass in #1384.
2018-04-03Make sygus unif I/O an subclass of sygus unif (#1741)Andrew Reynolds
2018-04-03Use choice when expanding definitions for inverse transcendental functions ↵Andrew Reynolds
(#1742)
2018-04-03Internal sygus type checking (#1734)Andrew Reynolds
2018-04-02Improvements to extended rewriter for Booleans and ITE (#1705)Andrew Reynolds
2018-04-02Make sygus unif utility use sygus unif strategies (#1732)Andrew Reynolds
2018-04-02Remove references to nyu (#1721)Clark Barrett
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-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-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
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback