summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/model_engine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/quantifiers/model_engine.cpp')
-rw-r--r--src/theory/quantifiers/model_engine.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/theory/quantifiers/model_engine.cpp b/src/theory/quantifiers/model_engine.cpp
index c43187163..24c2d1254 100644
--- a/src/theory/quantifiers/model_engine.cpp
+++ b/src/theory/quantifiers/model_engine.cpp
@@ -53,7 +53,11 @@ bool ModelEngine::needsCheck( Theory::Effort e ) {
}
unsigned ModelEngine::needsModel( Theory::Effort e ) {
- return QuantifiersEngine::QEFFORT_MODEL;
+ if( options::mbqiInterleave() ){
+ return QuantifiersEngine::QEFFORT_STANDARD;
+ }else{
+ return QuantifiersEngine::QEFFORT_MODEL;
+ }
}
void ModelEngine::reset_round( Theory::Effort e ) {
@@ -61,7 +65,14 @@ void ModelEngine::reset_round( Theory::Effort e ) {
}
void ModelEngine::check( Theory::Effort e, unsigned quant_e ){
- if( quant_e==QuantifiersEngine::QEFFORT_MODEL ){
+ bool doCheck = false;
+ if( options::mbqiInterleave() ){
+ doCheck = quant_e==QuantifiersEngine::QEFFORT_STANDARD && d_quantEngine->hasAddedLemma();
+ }
+ if( !doCheck ){
+ doCheck = quant_e==QuantifiersEngine::QEFFORT_MODEL;
+ }
+ if( doCheck ){
Assert( !d_quantEngine->inConflict() );
int addedLemmas = 0;
FirstOrderModel* fm = d_quantEngine->getModel();
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback