diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-08-11 15:36:38 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-11 13:36:38 -0700 |
commit | 1339e2a3b884d34a9c27eb45bb6847a493fe0365 (patch) | |
tree | eee01493ebe789c8c1b09e5f977273c360a52bc7 /src/theory/quantifiers_engine.cpp | |
parent | 1c859fd0f43fa2081bdb247423e81d9174a5f474 (diff) |
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.
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() ){ |