From d6a6ab61dbe64848b78b9ab8d07d95fc58b64e72 Mon Sep 17 00:00:00 2001 From: Morgan Deters Date: Fri, 1 Feb 2013 18:00:12 -0500 Subject: Significant work on bug #491 (not yet closed). --- src/smt/smt_engine.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/smt/smt_engine.cpp') 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 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' ***" -- cgit v1.2.3