summaryrefslogtreecommitdiff
path: root/src/theory/uf
AgeCommit message (Collapse)Author
2013-05-09Add simplification option --fo-prop-quant. Add model support for new ↵Andrew Reynolds
model-checking procedure. Add run script for casc24-fnt.
2013-05-08Add new method for checking candidate models, --fmf-fmc. Add infrastructure ↵Andrew Reynolds
for handling bounded integer quantification (quantifiers/bounded_integers.h and .cpp). Add option for disabling model minimality restriction for finite model finding, --disable-uf-ss-min-model. Add option for relational triggers such as x = f(y), --relational-trigger.
2013-04-02Regenerated copyrights: canonicalized names, no emailsMorgan Deters
2013-04-01update copyrightsMorgan Deters
2013-04-01Merging some cleanup work:Morgan Deters
* Comment cleanup * Spelling fixes * Fix warnings * Documentation updates * References in docs to cryptominisat removed * Unneeded scope resolutions removed * Old, unused regression removed
2013-03-21another typo/bugfix for equality constant evaluationDejan Jovanović
2013-03-21fixing markings of internal nodes in equality engineDejan Jovanović
2013-03-21more equality constant evaluationDejan Jovanović
2013-03-21fixing constant evaluation bugsDejan Jovanović
2013-03-19Adding evaluation of constant terms to the equality engine. Evaluation on a ↵Dejan Jovanović
particular kind can be set by setting interpreted = true when calling addFunctionKind.
2013-03-14Merge branch '1.0.x'Morgan Deters
2013-03-14fix to build system: #include the proper file when they are in both builds ↵Morgan Deters
and src
2013-03-06fixed two bugs for the new E-matching implementation, added aggressive ↵Andrew Reynolds
miniscoping option --ag-miniscope-quant, minor cleanup
2013-02-24added option --model-u-dt-enum for outputting uninterpreted sorts as ↵Andrew Reynolds
datatype enumerations + minor update to array rewriter to improve output for this option, minor refactoring of representative selection for quantifier instantiation, initial draft of disequality propagation option --uf-ss-deq-prop, other refactoring of uf strong solver, fixed bug 496, improvement for fmf enumeration of finite built-in sorts
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.
2012-12-01remove instantiator frameworkMorgan Deters
(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-30quantifiers now uses master equality engine, preparation work to cleanup codeAndrew Reynolds
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-16fixing and refactoring the equality iteratorDejan Jovanović
2012-11-15More fixes to model generation, with previously failing testcasesClark Barrett
Also refactored some header file includes to reduce compile time
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-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-02more minor updates to inst gen and representative selection, clean up of ↵Andrew Reynolds
equality query
2012-10-31cleaning up some of the equality query stuff, implemented a new ↵Andrew Reynolds
representative selection strategy for quantifier instantiation
2012-10-29more updates and minor bug fixes for fmf/inst-gen quantifier instantiationAndrew Reynolds
2012-10-24efficient e-matching now specific to rewrite rulesAndrew Reynolds
2012-10-23more major cleanup of quantifiers code, separating rewrite-rules-specific ↵Andrew Reynolds
code from quantifiers-specific code
2012-10-23more updates to inst gen: fixed partial instantiations, recognize duplicate ↵Andrew Reynolds
defaults for uf
2012-10-16more cleanup of quantifiers codeAndrew Reynolds
2012-10-16first draft of new inst gen method (still with bugs), some cleanup of ↵Andrew Reynolds
quantifiers code
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-10cleanup up some static data members in the quantifiers codeAndrew Reynolds
2012-10-09More fixes to model codeClark Barrett
2012-10-09fix for bug 415Dejan Jovanović
2012-10-09fix beta reduction in both preRewrite() *and* postRewrite(), related to bug ↵Morgan Deters
417. oops. also fix spelling on "rewritting" test
2012-10-09adding mergePredicates method to the equality engine to be able toDejan Jovanović
assert equalities betweeen predicates
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* 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-03New model code, mostly workinClark Barrett
2012-10-01initial draft of skolemization during pre-processing, made simple cliques ↵Andrew Reynolds
the default option for uf strong solver
2012-09-26updates to model generation : do not modify equality engine during getValue, ↵Andrew Reynolds
other minor changes, still problems with constants not being specified for some eq classes
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.)
2012-09-22Separate public-facing and internal-facing interfaces to Statistics.Morgan Deters
The external interface (e.g., what's answered by ExprManager::getStatistics() and SmtEngine::getStatistics()) is a snapshot of the current statistics (rather than a reference to the actual StatisticsRegistry). The StatisticsRegistry is now internal-only. However, it's built as a convenience library so that the parser and driver can use it too (by re-linking against it). This is part of the ongoing effort to clean up the public interface. (this commit was certified error- and warning-free by the test-and-commit script.)
2012-09-22another fix for the equality class iterator Dejan Jovanović
2012-09-19General subscriber infrastructure for NodeManager, as discussed in theMorgan Deters
meeting last week. The SmtEngine now subscribes to NodeManager events, does appropriate dumping of variable declarations, and notifies the Model class. The way to create a skolem is now: nodeManager->mkSkolem("myvar_$$", TypeNode, "is a variable created by the theory of Foo") The first argument is the name of the skolem, and the (optional) "$$" is a placeholder for the node id (to get a unique name). Without a "$$", a "_$$" is automatically appended to the given name. The second argument is the type. The (optional, but recommended) third argument is a comment, used by the dump infrastructure to indicate what the variable is for / who owns it. An optional fourth argument (not shown) allows you to specify flags that control the behavior (e.g., don't do notification, and/or don't make a unique name). Look at the documentation for details on these. In particular, the above means you can't just do a mkSkolem(boolType) for example---you have to specify a name and (hopefully also, but it's optional) a comment. This leads to easier debugging than the anonymous skolems before, since we'll be able to track where the skolems came from. Much of the Model and Dump stuff, as well as some Command stuff, is cleaned up by this commit. Some remains to be cleaned up. (this commit was certified error- and warning-free by the test-and-commit script.)
2012-09-19fix for bug 370.Dejan Jovanović
some internal nodes in eq engine were treated as constants incorrectly
2012-09-19Changing the equality engines's euivalence class iterator. Andy please check ↵Dejan Jovanović
if this does what you want it to do.
2012-09-17minor fix for models, added simple cliques option for uf strong solverAndrew Reynolds
2012-09-13ensure that get-value and get-model are consistent, rewrite function value ↵Andrew Reynolds
bodies, do not dag-ify model output
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback