summaryrefslogtreecommitdiff
path: root/src/smt
AgeCommit message (Collapse)Author
2012-11-26rolling back r4625 for now (closes bug 464), Andy we should talk about this ↵Morgan Deters
a bit more..
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-26don't include internal variables in model outputMorgan Deters
2012-11-26some fixes to language bindings and function visibilityMorgan Deters
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-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-16Fix for bug451Clark Barrett
2012-11-15forgot to uncomment setLogicInternal for THEORY_BVLiana Hadarean
2012-11-15changed logic options so that justification is turned on for QF_ABV and ↵Liana Hadarean
QF_UFBV as well
2012-11-14replaced all static member data from rewrite rule triggers, added ↵Andrew Reynolds
infrastructure for recognizing quantifier macros
2012-11-14Beautifying smt_engine.cpp.Tim King
2012-11-13SmtEngine::checkModel() should only be called if the result is sat or ↵Tim King
unknown because of incompleteness. Other unknown results are not safe to build models for, timeout, interrupted, etc.
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-12Fix for bug 444, dealing with the placing of set-logic in dumping modes.Morgan Deters
CVC4 now produces equivalent output when dumping the SMT1 and SMT2 attachments to that bug report. This also fixes a memory leak in the new-variable-notification mechanism. (this commit was certified error- and warning-free by the test-and-commit script.)
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-10Removing rewriter call in SmtEngine::addFormula().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-10fix typo in language bindingsMorgan Deters
2012-11-10Finally tracked down problems in regressions and fuzz results (this alsoClark Barrett
explains why my build was giving different answers from Dejan's build). Problem was that if you run: cvc4 --check-models foo.smt it would fail, but if you run cvc4 --check-models --produce-models foo.smt it would succeed. Even though produce-models is supposed to be automatically set when you set check-models, it seems this was happening too late. Fixed by removing any distinction between produce-models and check-models in the heuristic setting code. Kind of ugly though. Also, disable models if nonlinear arithmetic is on.
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-09In non-linear logics, rewrite DIVISION, INTS_DIVISION, and INTS_MODULUS into ↵Morgan Deters
ITEs of the form: IF (denom = 0) THEN divByZero(num) ELSE (DIVISION_TOTAL num denom) ENDIF where divByZero is an uninterpreted function symbol (there's one for each of the partial operators). In linear logics, don't do any of this. Bitvector partial functions to come, if this is successful for Tim. (this commit was certified error- and warning-free by the test-and-commit script.)
2012-11-08Turns on TheoryUF when non-linear arithmetic is turned on. Adds test cases ↵Tim King
for division by 0.
2012-10-29Tweak to options configuration for turning off minisat elimination when ↵Clark Barrett
models are on
2012-10-29Disable minisat elimination when models are onClark Barrett
2012-10-26More bug fixes and more checks for modelsClark Barrett
2012-10-17first working version of new inst-gen-style quantifier instantiation ↵Andrew Reynolds
technique for fmf (--fmf-new-inst-gen), minor cleanup
2012-10-14fix #line number warnings (sorry!)Morgan Deters
2012-10-11Fix bug 421, again, and add a second, independent test case for the sameMorgan Deters
with --check-models (which caused the same bug, for a different reason, due to some unintended interaction between the checkModel() function and the UserContext, which rolled back the Model object. (Groan...) (this commit was certified error- and warning-free by the test-and-commit script.)
2012-10-11Standardizing copyright notice. Touches **ALL** sources, guys, sorry.. it'sMorgan Deters
just the header comments at the top, though. Don't update to this rev if you don't have time for a complete rebuild, and exclude this rev if you want to see what's new across a range of commits. (this commit was certified error- and warning-free by the test-and-commit script.)
2012-10-10Abstract values for SMT-LIB.Morgan Deters
Also fix bug 421 relating to incrementality and models. (this commit was certified error- and warning-free by the test-and-commit script.)
2012-10-09* make Model class private (as discussed at meeting today)Morgan Deters
* fix minor issue with s-expr parsing in CVC and SMT grammars * other minor things (this commit was certified error- and warning-free by the test-and-commit script.)
2012-10-08* Models' SubstitutionMaps are now attached to the user contextMorgan Deters
(rather than SAT context) * Enable part of CVC3 system test (resolves bug 375) * Fix infinite recursion in beta reduction code (resolves bug 417) * Some model-building assertions have been added * Other minor changes (this commit was certified error- and warning-free by the test-and-commit script.)
2012-10-06* more complete support for --dump assertions:{pre,post}-PREPROCESSING-PASSMorgan Deters
* more minor cleanup/doc (this commit was certified error- and warning-free by the test-and-commit script.)
2012-10-06* Clean up some options documentationMorgan Deters
* Remove defunct --no-theory-registration option * Point people to Wiki tutorial * Modernize the cut-release script * Misc cleanup, documentation (this commit was certified error- and warning-free by the test-and-commit script.)
2012-10-06* Include a few bug testcases for resolved bugs.Morgan Deters
* Fix error message if you POP beyond the bottom user stack frame. (this commit was certified error- and warning-free by the test-and-commit script.)
2012-10-05Bug-related:Morgan Deters
* ITE removal fixed to be context-dependent (on UserContext). Resolves incrementality bugs 376 and 396 (which had given wrong answers). * some bugfixes for incrementality that Dejan found (fixes bug 394) * fix for bug in SmtEngine::getValue() where definitions weren't respected (partially resolves bug 411, but get-model is still broken). * change status of microwave21.ec.minimized.smt2 (it's actually unsat, but was labeled sat); re-enable it for "make regress" Also: * --check-model doesn't fail if quantified assertions don't simplify away. * fix some examples, and the Java system test, for the disappearance of the BoolExpr class * add copy constructor to array type enumerator (the type enumerator framework requires copy ctors, and the automatically-generated copy ctor was copying pointers that were then deleted, leaving dangling pointers in the copy and causing segfaults) * --dump=assertions now implies --dump=skolems * --dump=assertions:pre-<PASS> and --dump=assertions:post-<PASS> now allow you to dump before/after a particular preprocessing pass. E.g., --dump=assertions:pre-ite-removal or --dump=assertions:post-static-learning. "--dump=assertions" by itself is after all preprocessing, just before CNF conversion. * minor fixes to dumping output * include Model in language bindings Minor refactoring/misc: * fix compiler warning in src/theory/model.cpp * remove unnecessary SmtEngine::printModel(). * mkoptions script doesn't give progress output if stdout isn't a terminal (e.g., if it's written to a log, or piped through less(1), or whatever). * add some type enumerator unit tests * de-emphasize --parse-only and --preprocess-only (they aren't really "common" options) * fix some exception throw() specifications in SmtEngine * minor documentation clarifications
2012-10-05BoolExpr removed and replaced with ExprDejan Jovanović
2012-10-04Implemented array type enumerator, more fixes for modelsClark Barrett
2012-10-03added support for interrupting TheoryBVLiana Hadarean
2012-10-03adding ::getBooleanVariables to the PropEngineDejan Jovanović
you can get the Boolean variables in the TheoryEngine now by using d_propEngine->getBooleanVariables
2012-10-02* re-enable some Z3 extended commands:Morgan Deters
declare-const declare-funs declare-preds define simplify * don't output --help on bad options, just invite user to try --help * Datatypes from SMT2 parser now name the tester is-cons (e.g.) * unknown results produce models, --check-model doesn't fail hard for incorrect unknown models. removed the assert that kept arithmetic from producing models if it saw nonlinear (this commit was certified error- and warning-free by the test-and-commit script.)
2012-10-01"Fix" (disable) portfolio when using quantifiersKshitij Bansal
Other changes: * fix compile error in smt_engine in debug builds * add getLogicInfo in smt_engine * remove "empty-channel" and "disable-lemma-sharing" debug tags (this commit was certified error- and warning-free by the test-and-commit script.)
2012-10-01fix for dejan: term ITEs now dumped correctlyMorgan Deters
2012-10-01initial draft of skolemization during pre-processing, made simple cliques ↵Andrew Reynolds
the default option for uf strong solver
2012-09-28rename Assert.h/Assert.cpp to cvc4_assert.h/cvc4_assert.cpp -- we need to ↵Morgan Deters
make it unambiguous for case-insensitive filesystems like on Mac. Fixes Mac builds
2012-09-28some fixes to build systemMorgan Deters
(this commit was certified error- and warning-free by the test-and-commit script.)
2012-09-28Public interface review items:Morgan Deters
* Internal uses of CheckArgument changed to AssertArgument/AlwaysAssertArgument() * Make util/Assert.h cvc4_private instead of public, so AssertionException and friends are now internal-only * CheckArgument() throws non-AssertionException * things outside the core library (parsers, driver) use regular C-style assert, or a public exception type. * auto-generated documentation for Smt options and internal options Also, a small fix to SMT-LIBv1 QF_ABV and QF_AUFBV definitions, which were nonstandard.
2012-09-26Finish off SEXPR kind work.Morgan Deters
(this commit was certified error- and warning-free by the test-and-commit script.)
2012-09-26Fix type checking for define-funs (resolves bug 398).Morgan Deters
(this commit was certified error- and warning-free by the test-and-commit script.)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback