summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/options/options.h1
-rw-r--r--src/options/options_public_functions.cpp4
-rw-r--r--src/options/quantifiers_options.toml6
-rw-r--r--src/smt/smt_engine.cpp38
-rw-r--r--src/theory/datatypes/theory_datatypes.cpp3
-rw-r--r--src/theory/quantifiers_engine.cpp7
-rw-r--r--test/regress/regress1/sygus/hd-01-d1-prog.sy2
7 files changed, 25 insertions, 36 deletions
diff --git a/src/options/options.h b/src/options/options.h
index fcf99134d..ad2729205 100644
--- a/src/options/options.h
+++ b/src/options/options.h
@@ -240,7 +240,6 @@ public:
void setOut(std::ostream*);
void setOutputLanguage(OutputLanguage);
- bool wasSetByUserCeGuidedInst() const;
bool wasSetByUserDumpSynth() const;
bool wasSetByUserEarlyExit() const;
bool wasSetByUserForceLogicString() const;
diff --git a/src/options/options_public_functions.cpp b/src/options/options_public_functions.cpp
index a556f2152..d1022c51c 100644
--- a/src/options/options_public_functions.cpp
+++ b/src/options/options_public_functions.cpp
@@ -218,10 +218,6 @@ void Options::setOutputLanguage(OutputLanguage value) {
set(options::outputLanguage, value);
}
-bool Options::wasSetByUserCeGuidedInst() const {
- return wasSetByUser(options::ceGuidedInst);
-}
-
bool Options::wasSetByUserDumpSynth() const {
return wasSetByUser(options::dumpSynth);
}
diff --git a/src/options/quantifiers_options.toml b/src/options/quantifiers_options.toml
index 1101f70c5..926eacaae 100644
--- a/src/options/quantifiers_options.toml
+++ b/src/options/quantifiers_options.toml
@@ -1032,12 +1032,12 @@ header = "options/quantifiers_options.h"
help = "attempt to preprocess arbitrary inputs to sygus conjectures"
[[option]]
- name = "ceGuidedInst"
+ name = "sygus"
category = "regular"
- long = "cegqi"
+ long = "sygus"
type = "bool"
default = "false"
- help = "counterexample-guided quantifier instantiation for sygus"
+ help = "use sygus solver (default is true for sygus inputs)"
[[option]]
name = "cegqiSingleInvMode"
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp
index 180b33fe0..7b0571274 100644
--- a/src/smt/smt_engine.cpp
+++ b/src/smt/smt_engine.cpp
@@ -1950,14 +1950,15 @@ void SmtEngine::setDefaults() {
}
}
- //apply counterexample guided instantiation options
- // if we are attempting to rewrite everything to SyGuS, use ceGuidedInst
+ // apply sygus options
+ // if we are attempting to rewrite everything to SyGuS, use sygus()
if (is_sygus)
{
- if (!options::ceGuidedInst.wasSetByUser())
+ if (!options::sygus())
{
- options::ceGuidedInst.set(true);
+ Trace("smt") << "turning on sygus" << std::endl;
}
+ options::sygus.set(true);
// must use Ferrante/Rackoff for real arithmetic
if (!options::cbqiMidpoint.wasSetByUser())
{
@@ -1970,27 +1971,18 @@ void SmtEngine::setDefaults() {
options::cbqi.set(true);
}
}
- }
- if (options::sygusInference())
- {
- // optimization: apply preskolemization, makes it succeed more often
- if (!options::preSkolemQuant.wasSetByUser())
- {
- options::preSkolemQuant.set(true);
- }
- if (!options::preSkolemQuantNested.wasSetByUser())
+ if (options::sygusInference())
{
- options::preSkolemQuantNested.set(true);
- }
- }
- if (options::cegqiSingleInvMode() != options::CegqiSingleInvMode::NONE)
- {
- if( !options::ceGuidedInst.wasSetByUser() ){
- options::ceGuidedInst.set( true );
+ // optimization: apply preskolemization, makes it succeed more often
+ if (!options::preSkolemQuant.wasSetByUser())
+ {
+ options::preSkolemQuant.set(true);
+ }
+ if (!options::preSkolemQuantNested.wasSetByUser())
+ {
+ options::preSkolemQuantNested.set(true);
+ }
}
- }
- // if sygus is enabled, set the defaults for sygus
- if( options::ceGuidedInst() ){
//counterexample-guided instantiation for sygus
if( !options::cegqiSingleInvMode.wasSetByUser() ){
options::cegqiSingleInvMode.set(options::CegqiSingleInvMode::USE);
diff --git a/src/theory/datatypes/theory_datatypes.cpp b/src/theory/datatypes/theory_datatypes.cpp
index fc8dedbd3..d202648f4 100644
--- a/src/theory/datatypes/theory_datatypes.cpp
+++ b/src/theory/datatypes/theory_datatypes.cpp
@@ -548,7 +548,8 @@ void TheoryDatatypes::preRegisterTerm(TNode n) {
}
void TheoryDatatypes::finishInit() {
- if( getQuantifiersEngine() && options::ceGuidedInst() ){
+ if (getQuantifiersEngine() && options::sygus())
+ {
d_sygusExtension.reset(
new SygusExtension(this, getQuantifiersEngine(), getSatContext()));
// do congruence on evaluation functions
diff --git a/src/theory/quantifiers_engine.cpp b/src/theory/quantifiers_engine.cpp
index b3ee7ad49..f6c17ebf9 100644
--- a/src/theory/quantifiers_engine.cpp
+++ b/src/theory/quantifiers_engine.cpp
@@ -124,7 +124,7 @@ class QuantifiersEnginePrivate
modules.push_back(d_i_cbqi.get());
qe->getInstantiate()->addRewriter(d_i_cbqi->getInstRewriter());
}
- if (options::ceGuidedInst())
+ if (options::sygus())
{
d_synth_e.reset(new quantifiers::SynthEngine(qe, c));
modules.push_back(d_synth_e.get());
@@ -212,7 +212,8 @@ QuantifiersEngine::QuantifiersEngine(context::Context* c,
d_util.push_back(d_term_util.get());
d_util.push_back(d_term_db.get());
- if (options::ceGuidedInst()) {
+ if (options::sygus())
+ {
d_sygus_tdb.reset(new quantifiers::TermDbSygus(c, this));
}
@@ -499,7 +500,7 @@ void QuantifiersEngine::ppNotifyAssertions(
theory_sep->initializeBounds();
d_qepr->finishInit();
}
- if (options::ceGuidedInst())
+ if (options::sygus())
{
quantifiers::SynthEngine* sye = d_private->d_synth_e.get();
for (const Node& a : assertions)
diff --git a/test/regress/regress1/sygus/hd-01-d1-prog.sy b/test/regress/regress1/sygus/hd-01-d1-prog.sy
index 1379d4206..bbdbda1bd 100644
--- a/test/regress/regress1/sygus/hd-01-d1-prog.sy
+++ b/test/regress/regress1/sygus/hd-01-d1-prog.sy
@@ -1,5 +1,5 @@
; EXPECT: unsat
-; COMMAND-LINE: --cegqi --sygus-out=status
+; COMMAND-LINE: --sygus-out=status
(set-logic BV)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback