diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2017-05-05 17:41:18 -0500 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2017-05-05 17:41:18 -0500 |
commit | f4b158635255affcafe52c7664fc5de4660c3f83 (patch) | |
tree | c22a6b39b7b8137b5ca476188b4d8fad1430f45c /src | |
parent | 5ce46e8a6ac10388b7a2032c7d67a81da0edbd5e (diff) |
Do not eliminate extended arithmetic symbols when finite model finding is on, add regression.
Diffstat (limited to 'src')
-rw-r--r-- | src/options/quantifiers_options | 2 | ||||
-rw-r--r-- | src/smt/smt_engine.cpp | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/options/quantifiers_options b/src/options/quantifiers_options index a5ecc8e72..f15723e08 100644 --- a/src/options/quantifiers_options +++ b/src/options/quantifiers_options @@ -54,7 +54,7 @@ option aggressiveMiniscopeQuant --ag-miniscope-quant bool :default false perform aggressive miniscoping for quantifiers option elimTautQuant --elim-taut-quant bool :default true eliminate tautological disjuncts of quantified formulas -option elimExtArithQuant --elim-ext-arith-quant bool :default true +option elimExtArithQuant --elim-ext-arith-quant bool :read-write :default true eliminate extended arithmetic symbols in quantified formulas option condRewriteQuant --cond-rewrite-quant bool :default true conditional rewriting of quantified formulas diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp index 16da6691c..4e75a7937 100644 --- a/src/smt/smt_engine.cpp +++ b/src/smt/smt_engine.cpp @@ -1781,11 +1781,15 @@ void SmtEngine::setDefaults() { if( !options::quantDynamicSplit.wasSetByUser() ){ options::quantDynamicSplit.set( quantifiers::QUANT_DSPLIT_MODE_DEFAULT ); } + //do not eliminate extended arithmetic symbols from quantified formulas + if( !options::elimExtArithQuant.wasSetByUser() ){ + options::elimExtArithQuant.set( false ); + } if( !options::eMatching.wasSetByUser() ){ options::eMatching.set( options::fmfInstEngine() ); } if( !options::instWhenMode.wasSetByUser() ){ - //instantiate only on last call FIXME: remove? + //instantiate only on last call if( options::eMatching() ){ options::instWhenMode.set( quantifiers::INST_WHEN_LAST_CALL ); } |