summaryrefslogtreecommitdiff
path: root/src/theory/model.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2013-02-04 00:08:32 -0600
committerAndrew Reynolds <andrew.j.reynolds@gmail.com>2013-02-04 00:08:32 -0600
commite54c0f73712b25f1d6d49a3817c923eea077da81 (patch)
tree0987d0f893d94a42c25c5668fa80af1fe8387e96 /src/theory/model.cpp
parent72cae59d28aa43b734148090feb3b8cf4ecd2074 (diff)
Model no longer adds subterms of quantifiers to equality engine, this fixed 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.
Diffstat (limited to 'src/theory/model.cpp')
-rw-r--r--src/theory/model.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/theory/model.cpp b/src/theory/model.cpp
index 713587be2..bbc51c9e0 100644
--- a/src/theory/model.cpp
+++ b/src/theory/model.cpp
@@ -395,6 +395,9 @@ bool TheoryEngineModelBuilder::isAssignable(TNode n)
void TheoryEngineModelBuilder::checkTerms(TNode n, TheoryModel* tm, NodeSet& cache)
{
+ if (n.getKind()==FORALL || n.getKind()==EXISTS) {
+ return;
+ }
if (cache.find(n) != cache.end()) {
return;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback