summaryrefslogtreecommitdiff
path: root/src/smt
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-11-21 16:24:16 -0600
committerAndres Noetzli <andres.noetzli@gmail.com>2018-11-21 14:24:16 -0800
commit1e7ce9dcc5268c8e13466f63ac2c4159d71a583a (patch)
treee705a65b9957960a278382d9de70681aabae5594 /src/smt
parent3072a39f6bda5a5ce0dd538e0f1a1bd1b744d122 (diff)
Quickly recognize when PBE conjectures are infeasible (#2718)
Recognizes when the conjecture has conflicting I/O pairs. Also includes a minor change to the default behavior of PBE. This change broke a delicate regression array_search_2, which I fixed by adding some additional options to make it more robust. After this PR, we immediately find 4/7 unsolved in PBE strings of sygusComp 2018 to be infeasible.
Diffstat (limited to 'src/smt')
-rw-r--r--src/smt/smt_engine.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp
index f3a6c0c9e..7bf86f092 100644
--- a/src/smt/smt_engine.cpp
+++ b/src/smt/smt_engine.cpp
@@ -1304,6 +1304,14 @@ void SmtEngine::setDefaults() {
options::unconstrainedSimp.set(uncSimp);
}
}
+ if (!options::proof())
+ {
+ // minimizing solutions from single invocation requires proofs
+ if (options::cegqiSolMinCore() && options::cegqiSolMinCore.wasSetByUser())
+ {
+ throw OptionException("cegqi-si-sol-min-core requires --proof");
+ }
+ }
// Disable options incompatible with unsat cores and proofs or output an
// error if enabled explicitly
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback