summaryrefslogtreecommitdiff
path: root/src/smt
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-12-07 14:43:34 -0600
committerGitHub <noreply@github.com>2020-12-07 21:43:34 +0100
commitc94d59516c62b481c7984830cf26753af16100a8 (patch)
treec1206aecd9fc3b6e53799080c6f6feca295c24fa /src/smt
parent5cc5bc2eafa90c763e727868c6149b5c370e63f7 (diff)
Fix issue with free variables introduced by quantifier rewriter (#5602)
This was caused by the quantifiers rewriting eliminating extended arithmetic operators, which was required due to the way counterexample-guided quantifier instantiation used to work with preprocessing. The technique is now more robust and this option can be deleted. This fixes a debug assertion failure from UFNIA SMT-LIB, a minimized benchmark is included as a regression.
Diffstat (limited to 'src/smt')
-rw-r--r--src/smt/set_defaults.cpp13
1 files changed, 0 insertions, 13 deletions
diff --git a/src/smt/set_defaults.cpp b/src/smt/set_defaults.cpp
index 7e6bed464..ca5a2773b 100644
--- a/src/smt/set_defaults.cpp
+++ b/src/smt/set_defaults.cpp
@@ -239,14 +239,6 @@ void setDefaults(LogicInfo& logic, bool isInternalSubsolver)
options::fmfBound.set(true);
Trace("smt") << "turning on fmf-bound-int, for strings-exp" << std::endl;
}
- // Do not eliminate extended arithmetic symbols from quantified formulas,
- // since some strategies, e.g. --re-elim-agg, introduce them.
- if (!options::elimExtArithQuant.wasSetByUser())
- {
- options::elimExtArithQuant.set(false);
- Trace("smt") << "turning off elim-ext-arith-quant, for strings-exp"
- << std::endl;
- }
// Note we allow E-matching by default to support combinations of sequences
// and quantifiers.
}
@@ -935,11 +927,6 @@ void setDefaults(LogicInfo& logic, bool isInternalSubsolver)
{
options::quantDynamicSplit.set(options::QuantDSplitMode::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());
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback