From 3114f91e3fc62380a18dd0c9b8607b564d609640 Mon Sep 17 00:00:00 2001 From: Andrew Reynolds Date: Wed, 14 Apr 2021 08:58:33 -0500 Subject: Warn about infeasible SyGuS conjectures (#6345) --- src/theory/quantifiers/sygus/ce_guided_single_inv.cpp | 7 ++++++- src/theory/quantifiers/sygus/synth_conjecture.cpp | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src') 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 -- cgit v1.2.3