diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2015-12-15 12:37:23 +0100 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2015-12-15 12:37:23 +0100 |
commit | e600773f0e189d22c5f28ee1d443ba38e5fa72e8 (patch) | |
tree | 6c12ccb1a9a633a3ae7c6ce11091fde41a7bfc49 /src/smt/smt_engine.cpp | |
parent | 90e3b73fbd1b2eb262a7a7e2e72d701c8f9e3600 (diff) |
Add option uf-ss-fair-monotone. Minor cleanup and improvement of sort inference.
Diffstat (limited to 'src/smt/smt_engine.cpp')
-rw-r--r-- | src/smt/smt_engine.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp index 21d190d0e..f3724b432 100644 --- a/src/smt/smt_engine.cpp +++ b/src/smt/smt_engine.cpp @@ -1337,9 +1337,13 @@ void SmtEngine::setDefaults() { options::decisionMode.set(decMode); options::decisionStopOnly.set(stoponly); } + if( options::incrementalSolving() ){ + //disable modes not supported by incremental + options::sortInference.set( false ); + options::ufssFairnessMonotone.set( false ); + } //local theory extensions if( options::localTheoryExt() ){ - //no E-matching? if( !options::instMaxLevel.wasSetByUser() ){ options::instMaxLevel.set( 0 ); } @@ -3392,10 +3396,10 @@ void SmtEnginePrivate::processAssertions() { Trace("smt-proc") << "SmtEnginePrivate::processAssertions() : post-quant-preprocess" << endl; } - if( options::sortInference() ){ + if( options::sortInference() || options::ufssFairnessMonotone() ){ //sort inference technique SortInference * si = d_smt.d_theoryEngine->getSortInference(); - si->simplify( d_assertions.ref() ); + si->simplify( d_assertions.ref(), options::sortInference(), options::ufssFairnessMonotone() ); for( std::map< Node, Node >::iterator it = si->d_model_replace_f.begin(); it != si->d_model_replace_f.end(); ++it ){ d_smt.setPrintFuncInModel( it->first.toExpr(), false ); d_smt.setPrintFuncInModel( it->second.toExpr(), true ); |