summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers_engine.cpp
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2016-09-09 14:14:09 -0500
committerajreynol <andrew.j.reynolds@gmail.com>2016-09-09 14:14:09 -0500
commita97944b850f201fd692aa870e830b8fa0369c541 (patch)
tree7f4ff2086c236b2041ea3546cd82f1af0ba997bc /src/theory/quantifiers_engine.cpp
parenta3a436b7b52eee9b6b5c93d58fb84e707b5e832b (diff)
Support for separation logic + EPR. Refactor preprocessing of sep.nil, only allow sep disequal card constants when type is monotonic. Update logics on sep regressions.
Diffstat (limited to 'src/theory/quantifiers_engine.cpp')
-rw-r--r--src/theory/quantifiers_engine.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/theory/quantifiers_engine.cpp b/src/theory/quantifiers_engine.cpp
index 316357ef2..7c1fd82d3 100644
--- a/src/theory/quantifiers_engine.cpp
+++ b/src/theory/quantifiers_engine.cpp
@@ -19,6 +19,7 @@
#include "smt/smt_statistics_registry.h"
#include "theory/arrays/theory_arrays.h"
#include "theory/datatypes/theory_datatypes.h"
+#include "theory/sep/theory_sep.h"
#include "theory/quantifiers/alpha_equivalence.h"
#include "theory/quantifiers/ambqi_builder.h"
#include "theory/quantifiers/bounded_integers.h"
@@ -113,11 +114,8 @@ QuantifiersEngine::QuantifiersEngine(context::Context* c, context::UserContext*
}
if( options::quantEpr() ){
- if( !options::incrementalSolving() ){
- d_qepr = new QuantEPR;
- }else{
- d_qepr = NULL;
- }
+ Assert( !options::incrementalSolving() );
+ d_qepr = new QuantEPR;
}else{
d_qepr = NULL;
}
@@ -367,6 +365,9 @@ void QuantifiersEngine::ppNotifyAssertions( std::vector< Node >& assertions ) {
}
}
if( d_qepr!=NULL ){
+ //must handle sources of other new constants e.g. separation logic
+ //FIXME: cleanup
+ ((sep::TheorySep*)getTheoryEngine()->theoryOf( THEORY_SEP ))->initializeBounds();
d_qepr->finishInit();
}
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback