summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2012-11-30 20:38:45 +0000
committerAndrew Reynolds <andrew.j.reynolds@gmail.com>2012-11-30 20:38:45 +0000
commitf28bab562105548413cfca93de5c9b047157a076 (patch)
treebfbe95b9aed35f91b6bd9e3af50fad03ab86f23b /src/theory/quantifiers
parent6369830eec077ef112e6cc806cd910c7209eb2db (diff)
quantifiers now uses master equality engine, preparation work to cleanup code
Diffstat (limited to 'src/theory/quantifiers')
-rw-r--r--src/theory/quantifiers/term_database.cpp1
-rw-r--r--src/theory/quantifiers/theory_quantifiers.h1
-rw-r--r--src/theory/quantifiers/trigger.cpp10
3 files changed, 8 insertions, 4 deletions
diff --git a/src/theory/quantifiers/term_database.cpp b/src/theory/quantifiers/term_database.cpp
index 2c2ee0bfe..9a26878b5 100644
--- a/src/theory/quantifiers/term_database.cpp
+++ b/src/theory/quantifiers/term_database.cpp
@@ -19,6 +19,7 @@
#include "theory/quantifiers/first_order_model.h"
#include "theory/quantifiers/options.h"
#include "theory/rewriterules/efficient_e_matching.h"
+#include "theory/quantifiers/theory_quantifiers.h"
using namespace std;
using namespace CVC4;
diff --git a/src/theory/quantifiers/theory_quantifiers.h b/src/theory/quantifiers/theory_quantifiers.h
index 12b735497..c3987144c 100644
--- a/src/theory/quantifiers/theory_quantifiers.h
+++ b/src/theory/quantifiers/theory_quantifiers.h
@@ -71,6 +71,7 @@ public:
std::string identify() const { return std::string("TheoryQuantifiers"); }
bool flipDecision();
void setUserAttribute( std::string& attr, Node n );
+ eq::EqualityEngine* getMasterEqualityEngine() { return d_masterEqualityEngine; }
private:
void assertUniversal( Node n );
void assertExistential( Node n );
diff --git a/src/theory/quantifiers/trigger.cpp b/src/theory/quantifiers/trigger.cpp
index a9c5e8b96..4d5efcd8d 100644
--- a/src/theory/quantifiers/trigger.cpp
+++ b/src/theory/quantifiers/trigger.cpp
@@ -48,11 +48,11 @@ d_quantEngine( qe ), d_f( f ){
}else{
d_mg = new InstMatchGenerator( d_nodes, qe, matchOption );
}
- Debug("trigger") << "Trigger for " << f << ": " << std::endl;
+ Trace("trigger") << "Trigger for " << f << ": " << std::endl;
for( int i=0; i<(int)d_nodes.size(); i++ ){
- Debug("trigger") << " " << d_nodes[i] << std::endl;
+ Trace("trigger") << " " << d_nodes[i] << std::endl;
}
- Debug("trigger") << std::endl;
+ Trace("trigger") << std::endl;
if( d_nodes.size()==1 ){
if( isSimpleTrigger( d_nodes[0] ) ){
++(qe->d_statistics.d_triggers);
@@ -230,7 +230,9 @@ bool Trigger::isUsable( Node n, Node f ){
bool Trigger::isUsableTrigger( Node n, Node f ){
//return n.getAttribute(InstConstantAttribute())==f && n.getKind()==APPLY_UF;
- return n.getAttribute(InstConstantAttribute())==f && isAtomicTrigger( n ) && isUsable( n, f );
+ bool usable = n.getAttribute(InstConstantAttribute())==f && isAtomicTrigger( n ) && isUsable( n, f );
+ Trace("usable") << n << " usable : " << usable << std::endl;
+ return usable;
}
bool Trigger::isAtomicTrigger( Node n ){
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback