summaryrefslogtreecommitdiff
path: root/src/smt
diff options
context:
space:
mode:
authorAina Niemetz <aina.niemetz@gmail.com>2021-09-01 20:22:57 -0700
committerGitHub <noreply@github.com>2021-09-02 03:22:57 +0000
commitc26524c9b5b5d9fd62ba68ac49759957a1e54d8e (patch)
tree0f53fb9922750fe1221a70a433997e8d6e4ada9a /src/smt
parentfb4a3021359059c82f9a01ad4a9d78d1c126a64c (diff)
Enable sygus-inst for FP, NIA and NRA. (#7098)
Diffstat (limited to 'src/smt')
-rw-r--r--src/smt/set_defaults.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/smt/set_defaults.cpp b/src/smt/set_defaults.cpp
index af34da6c7..3c9a82a61 100644
--- a/src/smt/set_defaults.cpp
+++ b/src/smt/set_defaults.cpp
@@ -145,6 +145,22 @@ void SetDefaults::setDefaultsPre(Options& opts)
void SetDefaults::finalizeLogic(LogicInfo& logic, Options& opts) const
{
+ if (opts.quantifiers.sygusInstWasSetByUser)
+ {
+ if (isSygus(opts))
+ {
+ throw OptionException(std::string(
+ "SyGuS instantiation quantifiers module cannot be enabled "
+ "for SyGuS inputs."));
+ }
+ }
+ else if (!isSygus(opts) && logic.isQuantified()
+ && (logic.isPure(THEORY_FP)
+ || (logic.isPure(THEORY_ARITH) && !logic.isLinear())))
+ {
+ opts.quantifiers.sygusInst = true;
+ }
+
if (opts.bv.bitblastMode == options::BitblastMode::EAGER)
{
if (opts.smt.produceModels
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback