summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/cegqi/inst_strategy_cegqi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/quantifiers/cegqi/inst_strategy_cegqi.cpp')
-rw-r--r--src/theory/quantifiers/cegqi/inst_strategy_cegqi.cpp24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/theory/quantifiers/cegqi/inst_strategy_cegqi.cpp b/src/theory/quantifiers/cegqi/inst_strategy_cegqi.cpp
index 037cb74d7..208933456 100644
--- a/src/theory/quantifiers/cegqi/inst_strategy_cegqi.cpp
+++ b/src/theory/quantifiers/cegqi/inst_strategy_cegqi.cpp
@@ -108,7 +108,7 @@ bool InstStrategyCegqi::registerCbqiLemma(Node q)
//add counterexample lemma
Node lem = NodeManager::currentNM()->mkNode( OR, ceLit.negate(), ceBody.negate() );
//require any decision on cel to be phase=true
- d_quantEngine->addRequirePhase( ceLit, true );
+ d_qim.addPendingPhaseRequirement(ceLit, true);
Debug("cegqi-debug") << "Require phase " << ceLit << " = true." << std::endl;
//add counterexample lemma
lem = Rewriter::rewrite( lem );
@@ -259,7 +259,7 @@ void InstStrategyCegqi::check(Theory::Effort e, QEffort quant_e)
clSet = double(clock())/double(CLOCKS_PER_SEC);
Trace("cegqi-engine") << "---Cbqi Engine Round, effort = " << e << "---" << std::endl;
}
- unsigned lastWaiting = d_quantEngine->getNumLemmasWaiting();
+ size_t lastWaiting = d_qim.numPendingLemmas();
for( int ee=0; ee<=1; ee++ ){
//for( unsigned i=0; i<d_quantEngine->getModel()->getNumAssertedQuantifiers(); i++ ){
// Node q = d_quantEngine->getModel()->getAssertedQuantifier( i );
@@ -273,15 +273,17 @@ void InstStrategyCegqi::check(Theory::Effort e, QEffort quant_e)
break;
}
}
- if (d_qstate.isInConflict()
- || d_quantEngine->getNumLemmasWaiting() > lastWaiting)
+ if (d_qstate.isInConflict() || d_qim.numPendingLemmas() > lastWaiting)
{
break;
}
}
if( Trace.isOn("cegqi-engine") ){
- if( d_quantEngine->getNumLemmasWaiting()>lastWaiting ){
- Trace("cegqi-engine") << "Added lemmas = " << (d_quantEngine->getNumLemmasWaiting()-lastWaiting) << std::endl;
+ if (d_qim.numPendingLemmas() > lastWaiting)
+ {
+ Trace("cegqi-engine")
+ << "Added lemmas = " << (d_qim.numPendingLemmas() - lastWaiting)
+ << std::endl;
}
double clSet2 = double(clock())/double(CLOCKS_PER_SEC);
Trace("cegqi-engine") << "Finished cbqi engine, time = " << (clSet2-clSet) << std::endl;
@@ -392,7 +394,7 @@ void InstStrategyCegqi::registerCounterexampleLemma(Node q, Node lem)
{
Trace("cegqi-debug") << "Auxiliary CE lemma " << i << " : " << auxLems[i]
<< std::endl;
- d_quantEngine->addLemma(auxLems[i], false);
+ d_qim.addPendingLemma(auxLems[i]);
}
}
@@ -491,11 +493,11 @@ bool InstStrategyCegqi::doAddInstantiation( std::vector< Node >& subs ) {
}
}
-bool InstStrategyCegqi::addLemma( Node lem ) {
- return d_quantEngine->addLemma( lem );
+bool InstStrategyCegqi::addPendingLemma(Node lem) const
+{
+ return d_qim.addPendingLemma(lem);
}
-
CegInstantiator * InstStrategyCegqi::getInstantiator( Node q ) {
std::map<Node, std::unique_ptr<CegInstantiator>>::iterator it =
d_cinst.find(q);
@@ -534,7 +536,7 @@ bool InstStrategyCegqi::processNestedQe(Node q, bool isPreregister)
// add lemmas to process
for (const Node& lem : lems)
{
- d_quantEngine->addLemma(lem);
+ d_qim.addPendingLemma(lem);
}
// don't need to process this, since it has been reduced
return true;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback