summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-12-10minor fixudiv_constAndres Noetzli
2017-12-10Merge branch 'master' into udiv_constAndres Noetzli
2017-12-10Add new infrastructure for preprocessing passes (#1053)justinxu421
This commit adds new infrastructure for preprocessing passes. It is preparation only, it does not change how the current preprocessing passes work (this will be done in future commits).
2017-12-10Fix issue 1433. (#1435)Andrew Reynolds
2017-12-10Fix issue with mkConst/getConst of TypeConstant (#1439)Andres Noetzli
When compiling the Java bindings on macOS, the linker complained about CVC4::ExprManager::mkConst<CVC4::TypeConstant>() and CVC4::Expr::getConst<CVC4::TypeConstant>() being undefined. After some research, I found that the issue has been introduced by commit 36bf9f8bcb2a1a3aea1f90eb4d13aed3bbf6da8f. It looks like adding the -no-undefined flags resulted in the symbols in question being omitted due to TypeConstant not being exported. This commit makes TypeConstant CVC4_PUBLIC, which fixes the issue.
2017-12-08Add CEGQI BV linearization of additions and equalities over additions. (#1417)Mathias Preiner
Adds support for linearizing additions w.r.t. to a variable. For example, a * x + b + c * d * -x = e + x is rewritten to x * (a - c * d - 1) = e - b. This also adds an additional rewriting rule x * x = x --> x < 2.
2017-12-08Fixed side conditions for CBQI BV, added unit tests. (#1434)Aina Niemetz
This fixes the side conditions for BITVECTOR_UREM_TOTAL, BITVECTOR_UDIV_TOTAL, BITVECTOR_LSHR, BITVECTOR_ASHR, BITVECTOR_SHL. It refactors side condition generation for better readability and unit testing. It further adds unit tests for all side conditions we generate in order to check if they too weak or to restrictive (which may result in unsound behavior). This is achieved by checking the following two implications: not (exists x. s * x = t => SC) ... if sat, SC is too restrictive not (SC => exists x. s * x = t) ... if sat SC is too weak This simplifies to checking not (SC <=> exists x. s * x = t).
2017-12-08Document and clean datatypes rewriter (#1437)Andrew Reynolds
2017-12-08Make collect model info return a Bool (#1421)Andrew Reynolds
2017-12-07Fixes related to SyGuS + real arithmetic (#1432)Andrew Reynolds
2017-12-06Add command for define-fun-rec and add to API (#1412)Andrew Reynolds
2017-12-06Fixed time stats for MiniSat solve time. (#1431)Aina Niemetz
Also, moved implementation of BVMinisatSatSolver::MinisatNotify::notify to .cpp file.
2017-12-06Remove CDChunkList (#1414)Andres Noetzli
2017-12-05Fix output of --show-trace-tags. (#1430)Mathias Preiner
Now prints each tag in a separate line.
2017-12-04Adding SyGuS grammars for rationals. (#1426)Haniel Barbosa
2017-12-04Eliminate expand definitions from Sygus (#1425)Andrew Reynolds
2017-12-04Fix strings rewriter for strip constant endpoint reverse direction (#1424)Andrew Reynolds
2017-12-04Fix side condition for BITVECTOR_MULT. (#1422)Mathias Preiner
2017-12-03Normalize grammars - 2 (#1420)Haniel Barbosa
This is another step towards addressing #1304 and #1344. This pull request: - Refactors SygusGrammarNorm - Makes SyGusGrammarNorm a default component in the construction of grammar. The linearization of grammars however only occurs if the option --sygus-grammar-norm is used. - Performs a "chain transformation" in the application of the PLUS operator in integer grammars - Removes redundant expansions of definitions from TermDbSygus - Adds a default empty print callback to SygusEmptyPrintCallback This lays the basis for more general linearizations.
2017-12-02Minor improvements to inst match generator (#1415)Andrew Reynolds
2017-12-01Improve rewriter for string replace (#1416)Andrew Reynolds
2017-12-01Fix reset-assertions (#1413)Andres Noetzli
This commit fixes two issues with reset-assertions: - pending pops were not done in SmtEngine, resulting in the following assertion failure: d_userLevels.size() == 0 && d_userContext->getLevel() == 1 - all definitions were erased on reset-assertion in an SMT2 file, leading to errors about undefined types
2017-12-01Minor additions for sygus (#1419)Andrew Reynolds
2017-12-01Refactor and generalize PBE strategies (#1410)Andrew Reynolds
2017-12-01Fix build when Valgrind instrumentation enabledAndres Noetzli
My last commit for the Valgrind instrumentation contained a typo that made the nightlies fail. This commit fixes the issue.
2017-11-30Add debugging tools for ContextMemoryManager (#1407)Andres Noetzli
This commit adds two configuration options that help debugging memory issues with allocations in the ContextMemoryManager: --enable/disable-valgrind: This flag enables/disables Valgrind instrumentation of the ContextMemoryManager. Enabled by default for debug builds if the Valgrind headers are available. --enable/disable-context-memory-manager: This flag enables/disables the use of the ContextMemoryManager. If the flag is disableda dummy ContextMemoryManager is used that does single allocations instead of chunks. The flag is enabled by default.
2017-11-30Add Gaussian Elimination as a preprocessing pass for BV. (#1342)Aina Niemetz
This adds Gaussian Elimination as a preprocessing pass for BV. Gaussian Elimination is only applied if the given bit-width guarantees that no overflows can occur.
2017-11-30Fixes for issue 1404 (#1409)Andrew Reynolds
2017-11-30Remove remaining references to QuantArith (#1408)Andrew Reynolds
2017-11-29Minor improvements and changes to defaults for cbqi bv (#1406)Andrew Reynolds
This makes it so that --cbqi-bv tries at most 2 instantiations per quantified formula (one based on inversions when applicable, one based on model values). This makes it so that we do not have exponential run time in the worst case. This helps significantly for psyco benchmarks which have many quantified variables. Enables --cbqi-bv by default and changes the default inequality mode to eq-boundary (which is the best performer overall), also enables extract removal by default Allows cbqiNestedQE to be used in the BV logic. Adds an option --cbqi-full which indicates whether we should try model value instantiations for bit-vectors (by default, this is done only for the pure BV logic).
2017-11-29Improve caching in term formula removal (#1398)Andrew Reynolds
2017-11-29Adding missing break statements. CID 1362756. (#1394)Tim King
2017-11-29Simplifying the conditions in checkLetBinding to avoid using iterator… (#1372)Tim King
2017-11-28Add Cryptominisat script and patches to source file distribution.Mathias Preiner
This enables building CVC4 from a source release with Cryptominisat support.
2017-11-28Improve the rewriter for SINE. (#1221)Andrew Reynolds
2017-11-28Improve rewrite for string substr (#1337)Andrew Reynolds
2017-11-28Improve trigger filter instances (#1402)Andrew Reynolds
2017-11-28Removing throw specifiers from internal Printer hierarchy. (#1393)Tim King
2017-11-27Fix models for --solve-real-as-int. (#1371)Andrew Reynolds
2017-11-25Fixes for higher-order (#1405)Andrew Reynolds
2017-11-24(Refactor) Instantiate utility (#1387)Andrew Reynolds
2017-11-24Implement tangent and secant planes for transcendental functions (#1401)Andrew Reynolds
2017-11-23Ho parsing and regressions (#1350)Andrew Reynolds
2017-11-22Converting defined functions and let expressions from Sygus grammars to ↵Haniel Barbosa
lambdas (#1403) This partially solves issue #1344. Definitions are expanded when the grammar normalizer is called. When this becomes default then the code that expands definitions elsewhere will be removed. The PR also contains minor changes to the PrintCallback and SygusGrammarNormalize module.
2017-11-22Sygus Lambda Grammars (#1390)Andrew Reynolds
2017-11-22Transcendental tangent planes utilities (#1288)Andrew Reynolds
2017-11-21Adding infrastructure for normalizing SyGuS grammars (#1397)Haniel Barbosa
* minor Using string previously computed * adding option * starting module for simplifying grammars * more * more * fix * fix * fix * fix * fix * removing unused command * removing unused command * removing unnecessary quantifier engine * adding lambda support * transient * reverting changes * starting normalization of integers * removing unnecessary objects * using for_each * rebuilding given datatypes * recrating types as given * bug fixing * minor * reverting space changes * addressing review * addressing review
2017-11-21Cegqi bv remove extract terms preprocess pass (#1376)Andrew Reynolds
* Preprocess extract -> concat pass for cegqi bv. * Add sygus bench * Fixes, infrastructure. * Minor fixes. * Try * Minor * Minor * Document * Format * Improving debug messages. * Address * Format * Overlapping extracts. * Format * Minor * Address review. * Format * Comment * Format
2017-11-20Initializes members of QuantInfo. Resolves CID 1362929. (#1391)Tim King
2017-11-19Removing an unused variable from SygusInput. Resolves CID 1362932. (#1392)Tim King
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback