diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2017-10-09 21:56:40 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-09 21:56:40 -0500 |
commit | 96a0bc3b022b67b5ab79bf2ab087573c65a8d248 (patch) | |
tree | 427223e34ce9bd100ef4443c80b95a9526169363 /src/theory/sep | |
parent | 3b0ce95e7b7d1cbc351df9a7d2acbf3b6e13f9e7 (diff) |
Split term database (#1206)
* Move equality query to own file, move equality inference to quantifiers engine.
* Move quantifiers attributes out of TermDb and into QuantAttribute.
* Move term database sygus to quantifiers engine, move some attributes to quantifiers attributes header.
* Split term database into term util.
* Partial fix for #1205 that eliminates need for dependency in node.cpp.
* Add more references to github issues.
Diffstat (limited to 'src/theory/sep')
-rw-r--r-- | src/theory/sep/theory_sep.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/theory/sep/theory_sep.cpp b/src/theory/sep/theory_sep.cpp index 93d4124d9..92ecc0393 100644 --- a/src/theory/sep/theory_sep.cpp +++ b/src/theory/sep/theory_sep.cpp @@ -26,6 +26,7 @@ #include "smt/logic_exception.h" #include "theory/quantifiers_engine.h" #include "theory/quantifiers/term_database.h" +#include "theory/quantifiers/term_util.h" #include "options/quantifiers_options.h" using namespace std; @@ -816,10 +817,10 @@ Node TheorySep::getNextDecisionRequest( unsigned& priority ) { if( getLogicInfo().isQuantified() ){ Assert( d_guard_to_assertion.find( g )!= d_guard_to_assertion.end() ); Node a = d_guard_to_assertion[g]; - Node q = quantifiers::TermDb::getInstConstAttr( a ); + Node q = quantifiers::TermUtil::getInstConstAttr( a ); if( !q.isNull() ){ //must wait to decide on counterexample literal from quantified formula - Node cel = getQuantifiersEngine()->getTermDatabase()->getCounterexampleLiteral( q ); + Node cel = getQuantifiersEngine()->getTermUtil()->getCounterexampleLiteral( q ); bool value; if( d_valuation.hasSatValue( cel, value ) ){ Trace("sep-dec-debug") << "TheorySep::getNextDecisionRequest : dependent guard " << g << " depends on value for guard for quantified formula : " << value << std::endl; @@ -925,7 +926,7 @@ int TheorySep::processAssertion( Node n, std::map< int, std::map< Node, int > >& TypeNode tn1 = n[0].getType(); TypeNode tn2 = n[1].getType(); registerRefDataTypes( tn1, tn2, n ); - if( quantifiers::TermDb::hasBoundVarAttr( n[0] ) ){ + if( quantifiers::TermUtil::hasBoundVarAttr( n[0] ) ){ if( d_bound_kind[tn1]!=bound_strict && d_bound_kind[tn1]!=bound_invalid ){ if( options::quantEpr() && n[0].getKind()==kind::BOUND_VARIABLE ){ // still valid : bound on heap models will include Herbrand universe of n[0].getType() |