diff options
Diffstat (limited to 'src/theory/quantifiers_engine.cpp')
-rw-r--r-- | src/theory/quantifiers_engine.cpp | 36 |
1 files changed, 5 insertions, 31 deletions
diff --git a/src/theory/quantifiers_engine.cpp b/src/theory/quantifiers_engine.cpp index bb5950c5e..eafcc1e85 100644 --- a/src/theory/quantifiers_engine.cpp +++ b/src/theory/quantifiers_engine.cpp @@ -223,7 +223,6 @@ QuantifiersEngine::QuantifiersEngine(context::Context* c, d_curr_effort_level = QuantifiersModule::QEFFORT_NONE; d_conflict = false; d_hasAddedLemma = false; - d_useModelEe = false; //don't add true lemma d_lemmas_produced_c[d_term_util->d_true] = true; @@ -513,22 +512,9 @@ void QuantifiersEngine::ppNotifyAssertions( void QuantifiersEngine::check( Theory::Effort e ){ CodeTimer codeTimer(d_statistics.d_time); - d_useModelEe = options::quantModelEe() && ( e>=Theory::EFFORT_LAST_CALL ); - // if we want to use the model's equality engine, build the model now - if( d_useModelEe && !d_model->isBuilt() ){ - Trace("quant-engine-debug") << "Build the model." << std::endl; - if (!d_te->getModelBuilder()->buildModel(d_model.get())) - { - //we are done if model building was unsuccessful - flushLemmas(); - if( d_hasAddedLemma ){ - Trace("quant-engine-debug") << "...failed." << std::endl; - return; - } - } - } - - if( !getActiveEqualityEngine()->consistent() ){ + + if (!getMasterEqualityEngine()->consistent()) + { Trace("quant-engine-debug") << "Master equality engine not consistent, return." << std::endl; return; } @@ -1275,20 +1261,8 @@ eq::EqualityEngine* QuantifiersEngine::getMasterEqualityEngine() const return d_te->getMasterEqualityEngine(); } -eq::EqualityEngine* QuantifiersEngine::getActiveEqualityEngine() const -{ - if( d_useModelEe ){ - return d_model->getEqualityEngine(); - } - return d_te->getMasterEqualityEngine(); -} - Node QuantifiersEngine::getInternalRepresentative( Node a, Node q, int index ){ - bool prevModelEe = d_useModelEe; - d_useModelEe = false; - Node ret = d_eq_query->getInternalRepresentative( a, q, index ); - d_useModelEe = prevModelEe; - return ret; + return d_eq_query->getInternalRepresentative(a, q, index); } bool QuantifiersEngine::getSynthSolutions( @@ -1298,7 +1272,7 @@ bool QuantifiersEngine::getSynthSolutions( } void QuantifiersEngine::debugPrintEqualityEngine( const char * c ) { - eq::EqualityEngine* ee = getActiveEqualityEngine(); + eq::EqualityEngine* ee = getMasterEqualityEngine(); eq::EqClassesIterator eqcs_i = eq::EqClassesIterator( ee ); std::map< TypeNode, int > typ_num; while( !eqcs_i.isFinished() ){ |