diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2015-12-10 13:32:42 +0100 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2015-12-10 13:32:42 +0100 |
commit | 157a2ed349418611302476dce79fced1d95a4ecc (patch) | |
tree | 7b4a8ce7e6d88509cc9a19b599869652d7ebee5c /src/theory/quantifiers/model_engine.cpp | |
parent | 079eb73aa49c1d5a4b9e7e6f3b500e4940408309 (diff) |
Add option fmf-empty-sorts.
Diffstat (limited to 'src/theory/quantifiers/model_engine.cpp')
-rw-r--r-- | src/theory/quantifiers/model_engine.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/theory/quantifiers/model_engine.cpp b/src/theory/quantifiers/model_engine.cpp index a3a18cf30..f5a063eb8 100644 --- a/src/theory/quantifiers/model_engine.cpp +++ b/src/theory/quantifiers/model_engine.cpp @@ -227,7 +227,16 @@ bool ModelEngine::considerQuantifiedFormula( Node q ) { if( !d_quantEngine->getModelBuilder()->isQuantifierActive( q ) ){ //!d_quantEngine->getModel()->isQuantifierActive( q ); return false; }else{ - if( options::fmfFunWellDefinedRelevant() ){ + if( options::fmfEmptySorts() ){ + for( unsigned i=0; i<q[0].getNumChildren(); i++ ){ + TypeNode tn = q[0][i].getType(); + //we are allowed to assume the type is empty + if( d_quantEngine->getModel()->d_rep_set.getNumRelevantGroundReps( tn )==0 ){ + Trace("model-engine-debug") << "Empty domain quantified formula : " << q << std::endl; + return false; + } + } + }else if( options::fmfFunWellDefinedRelevant() ){ if( q[0].getNumChildren()==1 ){ TypeNode tn = q[0][0].getType(); if( tn.getAttribute(AbsTypeFunDefAttribute()) ){ |