summaryrefslogtreecommitdiff
path: root/src/smt
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@cs.nyu.edu>2013-02-01 18:00:12 -0500
committerMorgan Deters <mdeters@cs.nyu.edu>2013-02-07 18:06:11 -0500
commitd6a6ab61dbe64848b78b9ab8d07d95fc58b64e72 (patch)
treedb3cb085ddd0c2aad7e8ee32cb5d0c4a428183c6 /src/smt
parent822d66189bac649d1f04208f8f4f80e292403d40 (diff)
Significant work on bug #491 (not yet closed).
Diffstat (limited to 'src/smt')
-rw-r--r--src/smt/smt_engine.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp
index 1d98ce115..09fed4f9f 100644
--- a/src/smt/smt_engine.cpp
+++ b/src/smt/smt_engine.cpp
@@ -2908,6 +2908,7 @@ void SmtEngine::checkModel(bool hardFailure) {
hash_map<Node, Node, NodeHashFunction> cache;
n = d_private->expandDefinitions(n, cache);
}
+ Notice() << "SmtEngine::checkModel(): -- expands to " << n << endl;
// Apply our model value substitutions.
n = substitutions.apply(n);
@@ -2929,6 +2930,12 @@ void SmtEngine::checkModel(bool hardFailure) {
continue;
}
+ // As a last-ditch effort, ask model to simplify it.
+ // Presently, this is only an issue for quantifiers, which can have a value
+ // but don't show up in our substitution map above.
+ n = m->getValue(n);
+ Notice() << "SmtEngine::checkModel(): -- model-substitutes to " << n << endl;
+
// The result should be == true.
if(n != NodeManager::currentNM()->mkConst(true)) {
Notice() << "SmtEngine::checkModel(): *** PROBLEM: EXPECTED `TRUE' ***"
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback