summaryrefslogtreecommitdiff
path: root/src/theory
AgeCommit message (Collapse)Author
2013-01-23Adding miplibtrick option.Tim King
2013-01-23Adding substitution size cap.Tim King
2013-01-23partially address bug 486: allow some model inspection of quantifiersMorgan Deters
2013-01-22Merge branch '1.0.x'Morgan Deters
2013-01-22fix for theory preprocessing cache on clang, perhaps others.Morgan Deters
2012-12-21Merge branch '1.0.x'Dejan Jovanović
2012-12-21adding copy constructor for the datatype enumeratorDejan Jovanović
fixes bug 484
2012-12-14Merging in patch from branch '1.0.x'.Tim King
2012-12-14Merge remote-tracking branch 'main-repo/1.0.x' into 1.0.xTim King
2012-12-14Changing the rewriter to use Boute's Euclidean definition of division.Tim King
2012-12-12Merge pull request #2 from CVC4/1.0.xDejan Jovanović
1.0.x
2012-12-12* fixed bug 481 by adding check for division by 0 in bit-vector division circuitlianah
* added printing for total bit-vector division kinds for debugging purposes
2012-12-11adding cache for preprocessing datatypes terms to fix bug 475, fix for ↵Andrew Reynolds
handling user attributes in quantifiers (was broken) (cherry-picked from commit 206edb6f11674e954f5762a1db9712131151a276)
2012-12-11adding cache for preprocessing datatypes terms to fix bug 475, fix for ↵Andrew Reynolds
handling user attributes in quantifiers (was broken)
2012-12-06* some build fixes; thanks; thanks to Kunal Ganeshpure for noting these issuesMorgan Deters
* build bugfix for win32 * also fix a bug re: tuples and records in the datatypes rewriter These fixes are for both trunk and 1.0.x branches. (cherry picked from commit 8c8985f024cec925f774ff32ebccc306be8e4b26)
2012-12-06Fix for fuzzer-found model bugClark Barrett
(cherry picked from commit 25c6e1331d338c6ba8d60224711343986e11cf79)
2012-12-06* some build fixes; thanks; thanks to Kunal Ganeshpure for noting these issuesMorgan Deters
* build bugfix for win32 * also fix a bug re: tuples and records in the datatypes rewriter These fixes are for both trunk and 1.0.x branches.
2012-12-05Improved garbage collection for TheoryArith. The merges all of the code ↵Tim King
over from branches/arithmetic/converge except for the new code for simplex.
2012-12-05Cleanup of arithmetic, and some new utility functions for the coming ↵Tim King
fcsimplex code.
2012-12-05This commit merges in CDTrailHashMap and CDInsertHashMap. CDHashSet now uses ↵Tim King
CDInsertHashMap. CDHashSet<TNode> have been changed to CDHashSet<Node>. Switching CnfStream to use CDInsertSet. Switches a few CDHashMaps in arithmetic to use CDTrailHashMap. Documentation changes to CDHashMap.
2012-12-03Fix for fuzzer-found model bugClark Barrett
2012-12-01Throw a logic exception if user makes an assertion using a STORE_ALLClark Barrett
2012-12-01remove instantiator frameworkMorgan Deters
(this commit was certified error- and warning-free by the test-and-commit script.)
2012-12-01Fix the way abstract values are typed; fixes some compliance issues.Morgan Deters
Also support array-store-all for Boolean terms (related to abstract values, since that's the only way for the user to include an array-store-all in an assertion). (this commit was certified error- and warning-free by the test-and-commit script.)
2012-12-01drastic simplification of quantifiers code regarding equality queries, ↵Andrew Reynolds
instantiation strategies moved from instantiators to central instantiation engine, removed instantiator objects, simplified rewrite rules candidate generator to use central equality engine, efficient e-matching now uses central equality engine
2012-11-30Changing the documentation of ARR_TABLE_FUN to say (internal symbol).Tim King
2012-11-30quantifiers now uses master equality engine, preparation work to cleanup codeAndrew Reynolds
2012-11-30parametric datatypes fix related to non-ascribed type constructors ↵Andrew Reynolds
introduced by decision procedure
2012-11-30Partial fix for bug 435; still needs some effort.Morgan Deters
(this commit was certified error- and warning-free by the test-and-commit script.)
2012-11-29require type ascriptions for parametric datatype constructors (making them ↵Andrew Reynolds
canonical), this fixes the followup issue of bug 438
2012-11-29Fixing function models with Boolean terms. Also, LAMBDA's should not be const.Clark Barrett
2012-11-28Fix for getValue. Now it can handle lambda applicationsClark Barrett
2012-11-27Functions and predicates over Boolean now work with --check-models and ↵Morgan Deters
output correct models for such functions (though they are somewhat ugly at present). There's still a problem with model extraction, but it's not Boolean terms' fault. Sometimes checkModel() can report that the model is just fine, but if a user extracts values with getValue(), they find problems with the model (i.e., it doesn't satisfy some assertions). This appears to be due to an asymmetry between how checkModel() works and how Model::getValue() works. I'll open a bugzilla report to discuss this after thinking some more on it. (this commit was certified error- and warning-free by the test-and-commit script.)
2012-11-27First chunk of boolean-terms support.Morgan Deters
Passes simple tests and doesn't break existing functionality. Still need some work merged in for models. This version enables BV except for pure arithmetic (since we might otherwise need Boolean term support, which uses BV). Tonight's nightly regression run should tell us if/how that hurts performance. (this commit was certified error- and warning-free by the test-and-commit script.)
2012-11-27Tuples and records merge. Resolves bug 270.Morgan Deters
Also some fixes to parametric datatypes I found, and fixes for a handful of bugs, including some observed with --check-models --incremental on together. (this commit was certified error- and warning-free by the test-and-commit script.)
2012-11-26fixup for incremental solvingDejan Jovanović
2012-11-26Removing DioSolver::acceptableOriginalNodes(). This assertion was too ↵Tim King
strong, and was broken by r4620. This commit resolves bug463. Adding a previously triggering test case.
2012-11-26Adding support for a master equality engine. Each theory gets the master ↵Dejan Jovanović
equality engine through the setMasterEqualityEngine method. This is a read-only equality engine, so nothing should be added to it directly. Instead each equality engine that is of interest should have the master equality engine attached to it. To set when to use the master equality engine see TheoryEngine::finishInit().
2012-11-26Improving arithmetic debugging output.Tim King
2012-11-25This commit fixes two incompleteness bugs (461, 459) introduced in r4611 ↵Tim King
dues to a problem of not correctly handling disequalities. Performance implications are uncertain.
2012-11-24Adds ensureConstraint(...) to ConstraintDatabase. This is a slightly ↵Tim King
optimized way of doing getConstraint() if the user already has a ValueCollection&.
2012-11-21- Removes getDeltaValueWithNonlinear() entirelyTim King
- Changes the signature of getDeltaValue to throw DeltaRationalException and ModelException -- DeltaRationalExceptions can occur with non-linear arithmetic computations that cannot be done. (0 + delta) * (1 + delta) is not a DeltaRational. -- ModelExceptions occur if getDeltaValue() is going to return a value that disagrees with its value in the model (due to non-linear arithmetic) -- ModelExceptions also occur if getDeltaValue(n) is called on a variable arithmetic has never seen before. - getEqualityStatus() now wraps and catches both of these exceptions. If either occurs, the equality status is EQUALITY_UNKNOWN. This allows arithmetic to handle terms it has never seen before in getEqualityStatus. This resolves bug 453. - Removes the dead code rowImplication() entirely.
2012-11-21Adds a number of new capabilities to DeltaRational. This adds ↵Tim King
DeltaRationalException which can be called when an operation on a DeltaRational does not have well formed semantics. This allows for things like multiplying two DeltaRationals, which may or may not result in a DeltaRational.
2012-11-21Added debugging output to --check-models. I've found this output quite ↵Tim King
useful while debugging.
2012-11-19Changed the splitting-on-demand lemmas of arithmetic to no longer contain ↵Tim King
the equality being split on. Instead of issuing 'x != y implies (x < y or x > y)', the lemma is now '(x <= y or x >= y)'. This resolves bug 450.
2012-11-19Fix for bug452.Tim King
2012-11-18support for quantifiers macros, bug fix for bug 454 involving E-matching ↵Andrew Reynolds
Array select terms (thanks for the bug report Francois)
2012-11-17Fixed last currently known bug in array modelsClark Barrett
2012-11-17* Fix for bug 445 agreed to in meeting 11/13/2012: always dump in ↵Morgan Deters
ALL_SUPPORTED logic * Java bindings fixes: fixed access to ostreams, iterators * Make SmtEngine::setUserAttribute() (and others) take a const string& * Also a few compliance fixes (this commit was certified error- and warning-free by the test-and-commit script.)
2012-11-16fixing and refactoring the equality iteratorDejan Jovanović
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback