summaryrefslogtreecommitdiff
path: root/src/smt/smt_engine.cpp
diff options
context:
space:
mode:
authorajreynol <andrew.j.reynolds@gmail.com>2015-12-15 12:37:23 +0100
committerajreynol <andrew.j.reynolds@gmail.com>2015-12-15 12:37:23 +0100
commite600773f0e189d22c5f28ee1d443ba38e5fa72e8 (patch)
tree6c12ccb1a9a633a3ae7c6ce11091fde41a7bfc49 /src/smt/smt_engine.cpp
parent90e3b73fbd1b2eb262a7a7e2e72d701c8f9e3600 (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.cpp10
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 );
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback