summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers_engine.cpp
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2015-11-11 10:54:32 +0100
committerajreynol <andrew.j.reynolds@gmail.com>2015-11-11 10:54:32 +0100
commit97470da31e14104f807fb33b2b3423e583e10726 (patch)
tree516e79d981cfaa0c59c6b51981ebb2fcd4c1a698 /src/theory/quantifiers_engine.cpp
parent81dca680f6c88d10b56a0ed065d470d907766e21 (diff)
Minor fixes to cbqi, purify-quant. Better error checking in addInstantiation.
Diffstat (limited to 'src/theory/quantifiers_engine.cpp')
-rw-r--r--src/theory/quantifiers_engine.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/theory/quantifiers_engine.cpp b/src/theory/quantifiers_engine.cpp
index 990d3389e..584295c17 100644
--- a/src/theory/quantifiers_engine.cpp
+++ b/src/theory/quantifiers_engine.cpp
@@ -709,7 +709,16 @@ bool QuantifiersEngine::addInstantiationInternal( Node f, std::vector< Node >& v
Trace("inst") << std::endl;
}
if( options::cbqi() ){
- if( quantifiers::TermDb::getInstConstAttr(terms[i])==f ){
+ Node icf = quantifiers::TermDb::getInstConstAttr(terms[i]);
+ bool bad_inst = false;
+ if( !icf.isNull() ){
+ if( icf==f ){
+ bad_inst = true;
+ }else{
+ bad_inst = quantifiers::TermDb::containsTerms( terms[i], d_term_db->d_inst_constants[f] );
+ }
+ }
+ if( bad_inst ){
Trace("inst")<< "***& Bad Instantiate " << f << " with " << std::endl;
for( unsigned i=0; i<terms.size(); i++ ){
Trace("inst") << " " << terms[i] << std::endl;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback