summaryrefslogtreecommitdiff
path: root/src/theory/model.cpp
AgeCommit message (Collapse)Author
2013-11-27General pre-release cleanup commitMorgan Deters
* Rename {model,util_model}.{h,cpp} files to match class names * Fix alreadyVisited() issue in TheoryEngine * Remove spurious Message that causes compliance issues * Update copyrights, fix public/private markings in headers * minor comment fixes * remove EXTRACT_OP as a special-case in typechecker * note about rewriters in theoryskel readme * Clean up some compiler warnings * Code typos and spacing
2013-11-19Add fair strategy for finite model finding multiple sorts --uf-ss-fair.Andrew Reynolds
2013-10-24Fix for bug515Clark Barrett
2013-07-19Minor fix for --no-condense-function-valuesMorgan Deters
2013-07-17Fix bug 516; include some bug testcases.Morgan Deters
2013-07-16Minor bugfixes to model-buildingMorgan Deters
2013-07-09Fix for bug 519; don't involve ITESimplifier in model generation.Morgan Deters
2013-06-05Fix bug in --fmf-fmc for producing models of functions not appearing in ↵Andrew Reynolds
quantified formulas.
2013-06-04Add --no-condense-function-values option for explicit function models ↵Morgan Deters
(useful in some applications)
2013-04-02Regenerated copyrights: canonicalized names, no emailsMorgan Deters
2013-04-01update copyrightsMorgan Deters
2013-04-01Fixes for two bugs:Morgan Deters
* one that Tim found in model generation for records containing Booleans * another that the fuzzer found in quantifiers + check-models Test cases enabled/added for both.
2013-04-01Fix bug 491 and related issues with checkModel() and quantifiers. Enabling ↵Morgan Deters
previously-failing testcase.
2013-03-22Support for Boolean term conversion in datatypes.Morgan Deters
2013-02-04Model no longer adds subterms of quantifiers to equality engine, this fixed ↵Andrew Reynolds
bug 492 and resolves previous issue for bug 486.\n Multiple improvements for E-matching: do not choose multi-triggers if single triggers exist, only create multi-triggers that contain all variables, consider multiple terms per equivalence class but only add one instantiation per round per (trigger,term) pair.\nImprovements for strong solver: make use of sort inference information when choosing splits, check for cliques eagerly when disequalities are asserted.
2013-01-25fix --check-model --finite-model-find when used together (related to bug 486)Morgan Deters
2013-01-23partially address bug 486: allow some model inspection of quantifiersMorgan Deters
2012-12-03Fix for fuzzer-found model bugClark Barrett
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-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-21Added debugging output to --check-models. I've found this output quite ↵Tim King
useful while debugging.
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-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-14bug fixes to models, array rewriter with previously failing testcasesClark Barrett
2012-11-13More bugfixes for modelsClark Barrett
2012-11-13Relaxing too-strict assertionClark Barrett
2012-11-10Fixed missing \ in uflra/Makefile.maClark Barrett
Fixed another model bug and added previously failing fuzz testcase
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-09Fix for another model assertion failureClark Barrett
2012-11-08Fixed two small bugs in model generationClark Barrett
2012-10-29Disable some array optimizations when models are onClark Barrett
2012-10-26Fixed a failing datatype regression with check-modelsClark Barrett
2012-10-26More bug fixes and more checks for modelsClark Barrett
2012-10-23More debugging info, small changes to model builderClark Barrett
2012-10-23more updates to inst gen: fixed partial instantiations, recognize duplicate ↵Andrew Reynolds
defaults for uf
2012-10-12Added assertions and tracing code for collectModelInfo phaseClark Barrett
2012-10-12Latest changes to model codeClark Barrett
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-09fixed datatypes rewriter to detect clashes between non-datatype subfields. ↵Andrew Reynolds
cleaned up model code, TheoryModel::getValue is now const.
2012-10-09More fixes to model codeClark Barrett
2012-10-09* Add assertion in TheoryModel code to ensure we don't get inconsistentMorgan Deters
substitutions for solved variables. Related to bug 418 (and might resolve it). * Respect phase-locking in Minisat (one phase-saving site was unguarded). (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-08Fixed problem in assertEqualityEngine: predicates that are not false are noClark Barrett
longer assumed to be true
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-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-04Implemented array type enumerator, more fixes for modelsClark Barrett
2012-10-03minor fix for mbqi in finite model findingAndrew Reynolds
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback