diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2021-04-14 08:58:33 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-14 13:58:33 +0000 |
commit | 3114f91e3fc62380a18dd0c9b8607b564d609640 (patch) | |
tree | d9d31438c3c11c9899e7bbb2a54a0271e702b166 /src/theory/quantifiers/sygus | |
parent | d1eee40cc8788d38ec7431ea8d7429a5573a101c (diff) |
Warn about infeasible SyGuS conjectures (#6345)
Diffstat (limited to 'src/theory/quantifiers/sygus')
-rw-r--r-- | src/theory/quantifiers/sygus/ce_guided_single_inv.cpp | 7 | ||||
-rw-r--r-- | src/theory/quantifiers/sygus/synth_conjecture.cpp | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/theory/quantifiers/sygus/ce_guided_single_inv.cpp b/src/theory/quantifiers/sygus/ce_guided_single_inv.cpp index 47ddaa0d2..f96e1e579 100644 --- a/src/theory/quantifiers/sygus/ce_guided_single_inv.cpp +++ b/src/theory/quantifiers/sygus/ce_guided_single_inv.cpp @@ -233,8 +233,13 @@ bool CegSingleInv::solve() siSmt->assertFormula(siq); Result r = siSmt->checkSat(); Trace("sygus-si") << "Result: " << r << std::endl; - if (r.asSatisfiabilityResult().isSat() != Result::UNSAT) + Result::Sat res = r.asSatisfiabilityResult().isSat(); + if (res != Result::UNSAT) { + Warning() << "Warning : the single invocation solver determined the SyGuS " + "conjecture" + << (res == Result::SAT ? " is" : " may be") << " infeasible" + << std::endl; // conjecture is infeasible or unknown return false; } diff --git a/src/theory/quantifiers/sygus/synth_conjecture.cpp b/src/theory/quantifiers/sygus/synth_conjecture.cpp index e5dadcb7c..0eb96e277 100644 --- a/src/theory/quantifiers/sygus/synth_conjecture.cpp +++ b/src/theory/quantifiers/sygus/synth_conjecture.cpp @@ -284,6 +284,8 @@ bool SynthConjecture::needsCheck() if (!value) { Trace("sygus-engine-debug") << "Conjecture is infeasible." << std::endl; + Warning() << "Warning : the SyGuS conjecture may be infeasible" + << std::endl; return false; } else |