summaryrefslogtreecommitdiff
path: root/src/theory
AgeCommit message (Collapse)Author
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ć
2012-11-16fix a compiler warning in modelsMorgan Deters
2012-11-15More fixes to model generation, with previously failing testcasesClark Barrett
Also refactored some header file includes to reduce compile time
2012-11-15d_incomplete is context-dependent; we shouldn't be saving its value and ↵Morgan Deters
restoring after a flipDecision(). (this commit was certified error- and warning-free by the test-and-commit script.)
2012-11-15Fixed another AUFBV model bug. BV equality subtheory needed to do somethingClark Barrett
similar to arrays - limit the set of terms reported to those relevant in the current context. Also removed collectModelInfo from sharedTermsDatabase - doesn't seem to be needed any more.
2012-11-14Fix for bug 407. mkAnonymousFunction() in the parser no longer uses ':'. CVC ↵Tim King
printer now properly prints LAMBDAs. Model builing now gives bound variables names that can be parsed bypresentation language.
2012-11-14replaced all static member data from rewrite rule triggers, added ↵Andrew Reynolds
infrastructure for recognizing quantifier macros
2012-11-14Fixed a typo in r4576Tim King
2012-11-14Fix to bug449. Adds shared constants to the set of DeltaRationals that must ↵Tim King
be in the final total order.
2012-11-14bug fixes to models, array rewriter with previously failing testcasesClark Barrett
2012-11-13More bugfixes for modelsClark Barrett
2012-11-13refactoring of quantifiers rewriter based on code review from yesterday, ↵Andrew Reynolds
refactoring code out of instantiators in preparation for quantifiers equality engine
2012-11-13fixed failed bv regressions by refactoring out some rewrite rules from ↵Liana Hadarean
smt_engine.cpp
2012-11-13added support for division by zero for bit-vector division operatorsLiana Hadarean
2012-11-13Relaxing too-strict assertionClark Barrett
2012-11-13Fixed an array rewriting bug found by fuzzerClark Barrett
2012-11-13Fixed bug in array constant normalization found by fuzzer.Clark Barrett
2012-11-12Improved error reporting for improperly using non-linear division in linear ↵Tim King
arithmetic.
2012-11-12Delta is now generated in arithmetic to keep consistent the total order of ↵Tim King
DeltaRational values for lowerbounds, upperbounds, assignments and disequalities. Throws LogicException when a non-linear term is asserted and the the LogicInfo isLinear() disagrees.
2012-11-12minor bug fixes for quantifiers, added sort inference module (not ready to ↵Andrew Reynolds
be used yet), added new totality lemma option for uf strong solver
2012-11-11Fixes for the arithmetic normal form and rewriter to handle arbitrary ↵Tim King
constants for total functions.
2012-11-10Fix to quantifier rewritting not being idempotent. See bug 441.Tim King
2012-11-10Fixed missing \ in uflra/Makefile.maClark Barrett
Fixed another model bug and added previously failing fuzz testcase
2012-11-10Fix for bug 439. Delta computation now includes disequality information.Tim King
2012-11-10Updates to Clark's commit r4540:Morgan Deters
* ALL_SUPPORTED/QF_ALL_SUPPORTED don't include nonlinear * Change "Notice" to "Warning" when produce-models turned off due to non-linear (this commit was certified error- and warning-free by the test-and-commit script.)
2012-11-09TheoryEngineModelBuilder::buildModel() is only called once with ↵Morgan Deters
fullModel=true, within a SAT context. This fixes some outstanding model bugs. Committing also a Clark-provided assertion the Model code to ensure the call is only done once per context. (this commit was certified error- and warning-free by the test-and-commit script.)
2012-11-09Bug-fix for a crash involving improperly-thrown exceptions; also, add ↵Morgan Deters
LogicException for errors where the user uses a feature not permitted in the current logic (e.g., a quantifier in a QF logic)
2012-11-09Fix for another model assertion failureClark Barrett
2012-11-08Turns on TheoryUF when non-linear arithmetic is turned on. Adds test cases ↵Tim King
for division by 0.
2012-11-08Review of trunk r4525 (TypeNode::getBaseType()):Morgan Deters
* fixed TypeNode::getBaseType() for predicate subtypes * added Type::getBaseType() for public interface * added unit testing To avoid confusion, also: * renamed PredicateType::getBaseType() to "getParentType()" * renamed TypeNode::getSubtypeBaseType() to "getSubtypeParentType()" (this commit was certified error- and warning-free by the test-and-commit script.)
2012-11-08Improved support for division by zero. This adds the *_TOTAL kinds and ↵Tim King
uninterpreted functions for division by 0.
2012-11-08Fixed two small bugs in model generationClark Barrett
2012-11-07* Type ascription bug fixed (resolves bug 432), but there are others I ↵Morgan Deters
discovered (still outstanding). :-( * Fix a documentation-building problem when building from tarballs (fixes distcheck build failure last night) * Provide expected output for arith regression 'mod.01.smt2' * Also, fix a compiler warning in inst_gen.cpp (this commit was certified error- and warning-free by the test-and-commit script.)
2012-11-07Fix to a bug in integer mod lemmas.Tim King
2012-11-05Fix to the context dependent static learning code.Tim King
2012-11-02more minor updates to inst gen and representative selection, clean up of ↵Andrew Reynolds
equality query
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback