From 1339e2a3b884d34a9c27eb45bb6847a493fe0365 Mon Sep 17 00:00:00 2001 From: Andrew Reynolds Date: Tue, 11 Aug 2020 15:36:38 -0500 Subject: Remove instantiation model true option (#4861) This was an option that rejected instantiations that are true according to the current model's equality engine. This option was never helpful and will be burdensome to maintain with new updates to equality engine infrastructure. --- src/theory/quantifiers_engine.cpp | 36 +++++------------------------------- 1 file changed, 5 insertions(+), 31 deletions(-) (limited to 'src/theory/quantifiers_engine.cpp') 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() ){ -- cgit v1.2.3