diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2012-10-16 21:59:50 +0000 |
---|---|---|
committer | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2012-10-16 21:59:50 +0000 |
commit | d9d71e0d7885d32ef44fbd08d47b3cccd35ff6f7 (patch) | |
tree | f730bb17eba9412258c47617f144510d722d6006 /src/theory/uf | |
parent | bbcfb5208c6c0f343d1a63b129c54914f66b2701 (diff) |
more cleanup of quantifiers code
Diffstat (limited to 'src/theory/uf')
-rw-r--r-- | src/theory/uf/inst_strategy.cpp | 16 | ||||
-rw-r--r-- | src/theory/uf/theory_uf_instantiator.cpp | 6 |
2 files changed, 11 insertions, 11 deletions
diff --git a/src/theory/uf/inst_strategy.cpp b/src/theory/uf/inst_strategy.cpp index 38211ae28..eef2dac79 100644 --- a/src/theory/uf/inst_strategy.cpp +++ b/src/theory/uf/inst_strategy.cpp @@ -36,8 +36,8 @@ using namespace CVC4::theory::inst; struct sortQuantifiersForSymbol { QuantifiersEngine* d_qe; bool operator() (Node i, Node j) { - int nqfsi = d_qe->getNumQuantifiersForSymbol( i.getOperator() ); - int nqfsj = d_qe->getNumQuantifiersForSymbol( j.getOperator() ); + int nqfsi = d_qe->getQuantifierRelevance()->getNumQuantifiersForSymbol( i.getOperator() ); + int nqfsj = d_qe->getQuantifierRelevance()->getNumQuantifiersForSymbol( j.getOperator() ); if( nqfsi<nqfsj ){ return true; }else if( nqfsi>nqfsj ){ @@ -223,14 +223,14 @@ void InstStrategyAutoGenTriggers::generateTriggers( Node f ){ d_patTerms[0][f].clear(); d_patTerms[1][f].clear(); std::vector< Node > patTermsF; - Trigger::collectPatTerms( d_quantEngine, f, d_quantEngine->getTermDatabase()->getCounterexampleBody( f ), patTermsF, d_tr_strategy, true ); - Debug("auto-gen-trigger") << "Collected pat terms for " << d_quantEngine->getTermDatabase()->getCounterexampleBody( f ) << std::endl; + Trigger::collectPatTerms( d_quantEngine, f, d_quantEngine->getTermDatabase()->getInstConstantBody( f ), patTermsF, d_tr_strategy, true ); + Debug("auto-gen-trigger") << "Collected pat terms for " << d_quantEngine->getTermDatabase()->getInstConstantBody( f ) << std::endl; Debug("auto-gen-trigger") << " "; for( int i=0; i<(int)patTermsF.size(); i++ ){ Debug("auto-gen-trigger") << patTermsF[i] << " "; } Debug("auto-gen-trigger") << std::endl; - //extend to literal matching + //extend to literal matching (if applicable) d_quantEngine->getPhaseReqTerms( f, patTermsF ); //sort into single/multi triggers std::map< Node, std::vector< Node > > varContains; @@ -288,7 +288,7 @@ void InstStrategyAutoGenTriggers::generateTriggers( Node f ){ Debug("relevant-trigger") << "Terms based on relevance: " << std::endl; for( int i=0; i<(int)patTerms.size(); i++ ){ Debug("relevant-trigger") << " " << patTerms[i] << " ("; - Debug("relevant-trigger") << d_quantEngine->getNumQuantifiersForSymbol( patTerms[i].getOperator() ) << ")" << std::endl; + Debug("relevant-trigger") << d_quantEngine->getQuantifierRelevance()->getNumQuantifiersForSymbol( patTerms[i].getOperator() ) << ")" << std::endl; } //Notice() << "Terms based on relevance: " << std::endl; //for( int i=0; i<(int)patTerms.size(); i++ ){ @@ -338,12 +338,12 @@ void InstStrategyAutoGenTriggers::generateTriggers( Node f ){ if( index<(int)patTerms.size() ){ //Notice() << "check add additional" << std::endl; //check if similar patterns exist, and if so, add them additionally - int nqfs_curr = d_quantEngine->getNumQuantifiersForSymbol( patTerms[0].getOperator() ); + int nqfs_curr = d_quantEngine->getQuantifierRelevance()->getNumQuantifiersForSymbol( patTerms[0].getOperator() ); index++; bool success = true; while( success && index<(int)patTerms.size() && d_is_single_trigger[ patTerms[index] ] ){ success = false; - if( d_quantEngine->getNumQuantifiersForSymbol( patTerms[index].getOperator() )<=nqfs_curr ){ + if( d_quantEngine->getQuantifierRelevance()->getNumQuantifiersForSymbol( patTerms[index].getOperator() )<=nqfs_curr ){ d_single_trigger_gen[ patTerms[index] ] = true; Trigger* tr2 = Trigger::mkTrigger( d_quantEngine, f, patTerms[index], matchOption, false, Trigger::TR_RETURN_NULL, options::smartTriggers() ); diff --git a/src/theory/uf/theory_uf_instantiator.cpp b/src/theory/uf/theory_uf_instantiator.cpp index 40ac4940b..24da83786 100644 --- a/src/theory/uf/theory_uf_instantiator.cpp +++ b/src/theory/uf/theory_uf_instantiator.cpp @@ -126,9 +126,9 @@ void InstantiatorTheoryUf::assertNode( Node assertion ) d_quantEngine->addTermToDatabase( assertion ); if( options::cbqi() ){ if( assertion.hasAttribute(InstConstantAttribute()) ){ - setHasConstraintsFrom( assertion.getAttribute(InstConstantAttribute()) ); + setQuantifierActive( assertion.getAttribute(InstConstantAttribute()) ); }else if( assertion.getKind()==NOT && assertion[0].hasAttribute(InstConstantAttribute()) ){ - setHasConstraintsFrom( assertion[0].getAttribute(InstConstantAttribute()) ); + setQuantifierActive( assertion[0].getAttribute(InstConstantAttribute()) ); } } } @@ -136,8 +136,8 @@ void InstantiatorTheoryUf::assertNode( Node assertion ) void InstantiatorTheoryUf::addUserPattern( Node f, Node pat ){ if( d_isup ){ d_isup->addUserPattern( f, pat ); + setQuantifierActive( f ); } - setHasConstraintsFrom( f ); } |