diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2013-02-04 00:08:32 -0600 |
---|---|---|
committer | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2013-02-04 00:08:32 -0600 |
commit | e54c0f73712b25f1d6d49a3817c923eea077da81 (patch) | |
tree | 0987d0f893d94a42c25c5668fa80af1fe8387e96 /src/theory/model.cpp | |
parent | 72cae59d28aa43b734148090feb3b8cf4ecd2074 (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.cpp | 3 |
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; } |