summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2015-09-18 20:13:11 +0200
committerajreynol <andrew.j.reynolds@gmail.com>2015-09-18 20:13:11 +0200
commit0b2152c61334b73d26f8e7f6f051f1ae64a2206d (patch)
tree5c9fe4c71b81302ed0a4d8d281f20d24fde1d012 /src
parenteee182ae7479d688aec42f630d2aa6b2636cc2f9 (diff)
Fix bug in quantifiers engine where model construction could be skipped.
Diffstat (limited to 'src')
-rw-r--r--src/theory/quantifiers_engine.cpp3
-rw-r--r--src/theory/quantifiers_engine.h2
2 files changed, 2 insertions, 3 deletions
diff --git a/src/theory/quantifiers_engine.cpp b/src/theory/quantifiers_engine.cpp
index 23d46fd40..24d422909 100644
--- a/src/theory/quantifiers_engine.cpp
+++ b/src/theory/quantifiers_engine.cpp
@@ -315,6 +315,7 @@ void QuantifiersEngine::check( Theory::Effort e ){
}
}
}
+ Trace("quant-engine-debug") << "Quantifiers Engine call to check, level = " << e << std::endl;
if( needsCheck ){
Trace("quant-engine") << "Quantifiers Engine check, level = " << e << std::endl;
if( Trace.isOn("quant-engine-debug") ){
@@ -344,7 +345,6 @@ void QuantifiersEngine::check( Theory::Effort e ){
}
//reset relevant information
- d_conflict = false;
d_hasAddedLemma = false;
//flush previous lemmas (for instance, if was interupted), or other lemmas to process
@@ -419,6 +419,7 @@ void QuantifiersEngine::check( Theory::Effort e ){
Trace("quant-engine") << "Finished quantifiers engine check." << std::endl;
}else{
Trace("quant-engine") << "Quantifiers Engine does not need check." << std::endl;
+ d_hasAddedLemma = false;
}
//SAT case
if( e==Theory::EFFORT_LAST_CALL && !d_hasAddedLemma ){
diff --git a/src/theory/quantifiers_engine.h b/src/theory/quantifiers_engine.h
index cc8baa1c0..5e8db2561 100644
--- a/src/theory/quantifiers_engine.h
+++ b/src/theory/quantifiers_engine.h
@@ -172,8 +172,6 @@ private:
std::map< Node, bool > d_phase_req_waiting;
/** has added lemma this round */
bool d_hasAddedLemma;
- /** has a conflict been found */
- bool d_conflict;
/** list of all instantiations produced for each quantifier */
std::map< Node, inst::InstMatchTrie > d_inst_match_trie;
std::map< Node, inst::CDInstMatchTrie* > d_c_inst_match_trie;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback