summaryrefslogtreecommitdiff
path: root/src/theory/uf
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2012-10-16 21:59:50 +0000
committerAndrew Reynolds <andrew.j.reynolds@gmail.com>2012-10-16 21:59:50 +0000
commitd9d71e0d7885d32ef44fbd08d47b3cccd35ff6f7 (patch)
treef730bb17eba9412258c47617f144510d722d6006 /src/theory/uf
parentbbcfb5208c6c0f343d1a63b129c54914f66b2701 (diff)
more cleanup of quantifiers code
Diffstat (limited to 'src/theory/uf')
-rw-r--r--src/theory/uf/inst_strategy.cpp16
-rw-r--r--src/theory/uf/theory_uf_instantiator.cpp6
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 );
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback