summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-04-20Restrict test summary to first-level subfolderssummary_foldersAndres Noetzli
Fixes #1736.
2018-04-19Adding config/tap-driver.sh to .gitignore (#1792)yoni206
#1791 removed config/tap-driver.sh from the repo, as ./autogen.sh adds it automatically. The current PR prevents this file from being added to the untracked changes list when doing git status.
2018-04-19Refactor pbRewrites preprocessing pass (#1767)Andres Noetzli
This commit refactors the pbRewrites preprocessing pass into the new style. This commit is essentially just a code move and adds a regression test for the preprocessing pass. It also makes use of the AssertionPipeline::replace function to do proper dependency tracking.
2018-04-19Remove tap-driver.sh (#1791)Andres Noetzli
The autogen.sh script that we use causes the tap-driver.sh script to be copied from automake installed on the system, so we do not have to include it in our git repository. This also avoids ping-ponging between different versions of the tap-driver script if different people have different versions and commit them as part of their PRs.
2018-04-16Add timeout (option) to regression script (#1786)Andres Noetzli
This commit adds the option to run regressions with a timeout using the `TEST_TIMEOUT` environment variable. The default timeout is set to 10 minutes. This should make it less likely that our nightly builds hang and makes it easier to sort out slow tests. Default timeout tested with regression level 2 on a debug build with proofs.
2018-04-16Disable slow regression test (#1787)Andres Noetzli
2018-04-16Disable check proofs/unsat cores for two regs (#1785)Andres Noetzli
Disabling proof checking/unsat core checking for the two benchmarks in question, reduces the time to run regressions significantly. After the change, regression level 2 takes 7m30s to run on my machine and regression level 1 takes just below 3m (16 threads). Individually, the tests take over 7m each when checking proofs/unsat cores, so they add significant overhead.
2018-04-16Make 256 the default cardinality for strings (#1783)Andrew Reynolds
2018-04-16RemoveTermFormulas: Remove ContainsTermITEVisitor (#1782)Andres Noetzli
2018-04-16Skolemize candidate rewrite rule checks (#1777)Andrew Reynolds
2018-04-15Make strings fmf apply to all but internally generated Skolems (#1780)Andrew Reynolds
2018-04-15Fix type error with regexp (#1778)Andrew Reynolds
2018-04-15Fix mk type const (#1776)Andrew Reynolds
This was a new utility, only used so far by the extended rewriter in EqChain simplification.
2018-04-14Another fix for sygus rr stats. (#1768)Andrew Reynolds
2018-04-14[Reg] Make status/unsat-core detection more robust (#1775)Andres Noetzli
This commit changes the regression script to look for status patterns or get-unsat-core/get-unsat-assumption commands in the benchmark file instead of the metadata file (i.e. the .expect file if it exists or the benchmark file otherwise). This fix is not strictly necessary for our current regressions but might have lead to surprising outcomes in the future.
2018-04-14Fix get-unsat-core detection in regression script (#1773)Andres Noetzli
Due to a typo in the regression script, the (get-unsat-core) command was not recognized (the script was looking for (get-unsat-cores)), so it tried to run a regression script containing (get-unsat-core) even when CVC4 was compiled without proof support. This commit fixes the typo.
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-13Fix issue in regression script when proofs enabled (#1770)Andres Noetzli
There were two issues in the new Python regression script when proofs were enabled: It would try to run "--check-proofs" on SAT benchmarks and the parameters added to check unsat cores were wrong. This commit fixes both issues.
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-08Warn about trailing spaces in src/Makefile.am (#1759)Andres Noetzli
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-07Fixed get-authors.Aina Niemetz
2018-04-06Add define rec fun to cvc parser (#1738)Arjun Viswanathan
2018-04-05 Python regression script (#1662)Andres Noetzli
Until now, we have been using a bash script for the running the regressions. That script had several issues, e.g. it was creating many temprorary files and it was calling itself recursively, making it difficult to maintain. This commit replaces the script with a Python script. The Python script uses the TAP protocol, which allows us to display the results of multiple tests per file (e.g. with --check-models and without) separately and with more details. It also outputs whenever it starts running a test, which allows finding "stuck" regression tests on Travis. As recommended in the automake documentation [0], the commit copies the TAP driver to enable TAP support for the test driver. Note: the commit also changes some of the regressions slightly because we were using "%" for the test directives in SMT files which does not correspond to the comment character ";". Using the comment character simplifies the handling and makes it easier for users to reproduce a failure (they can simply run CVC4 on the regression file). [0] https://www.gnu.org/software/automake/manual/html_node/Use-TAP-with-the-Automake-test-harness.html
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-05Make Python bindings example compatible w/ Python3 (#1751)Andres Noetzli
2018-04-04Update README for regression tests (#1746)Andres Noetzli
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)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback