summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers_engine.cpp
diff options
context:
space:
mode:
authorMathias Preiner <mathias.preiner@gmail.com>2020-04-16 19:31:42 -0700
committerGitHub <noreply@github.com>2020-04-16 21:31:42 -0500
commitcc1689c3e40d6faf8de1ed7cd4eaae687adae103 (patch)
tree7a2bed198d6c24db8d3eedfca9037f5453074867 /src/theory/quantifiers_engine.cpp
parent51a6be99deb292161b0469b70b4d8410bd7a975f (diff)
SyGuS instantiation quantifiers module (#3910)
Diffstat (limited to 'src/theory/quantifiers_engine.cpp')
-rw-r--r--src/theory/quantifiers_engine.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/theory/quantifiers_engine.cpp b/src/theory/quantifiers_engine.cpp
index 6e60780d6..e4caaa539 100644
--- a/src/theory/quantifiers_engine.cpp
+++ b/src/theory/quantifiers_engine.cpp
@@ -29,6 +29,7 @@
#include "theory/quantifiers/quant_split.h"
#include "theory/quantifiers/quantifiers_rewriter.h"
#include "theory/quantifiers/sygus/synth_engine.h"
+#include "theory/quantifiers/sygus_inst.h"
#include "theory/sep/theory_sep.h"
#include "theory/theory_engine.h"
#include "theory/uf/equality_engine.h"
@@ -54,7 +55,8 @@ class QuantifiersEnginePrivate
d_fs(nullptr),
d_i_cbqi(nullptr),
d_qsplit(nullptr),
- d_anti_skolem(nullptr)
+ d_anti_skolem(nullptr),
+ d_sygus_inst(nullptr)
{
}
~QuantifiersEnginePrivate() {}
@@ -85,6 +87,8 @@ class QuantifiersEnginePrivate
std::unique_ptr<quantifiers::QuantDSplit> d_qsplit;
/** quantifiers anti-skolemization */
std::unique_ptr<quantifiers::QuantAntiSkolem> d_anti_skolem;
+ /** SyGuS instantiation engine */
+ std::unique_ptr<quantifiers::SygusInst> d_sygus_inst;
//------------------------------ end quantifiers modules
/** initialize
*
@@ -159,6 +163,11 @@ class QuantifiersEnginePrivate
d_fs.reset(new quantifiers::InstStrategyEnum(qe, d_rel_dom.get()));
modules.push_back(d_fs.get());
}
+ if (options::sygusInst())
+ {
+ d_sygus_inst.reset(new quantifiers::SygusInst(qe));
+ modules.push_back(d_sygus_inst.get());
+ }
}
};
@@ -203,7 +212,7 @@ QuantifiersEngine::QuantifiersEngine(context::Context* c,
d_util.push_back(d_term_util.get());
d_util.push_back(d_term_db.get());
- if (options::sygus())
+ if (options::sygus() || options::sygusInst())
{
d_sygus_tdb.reset(new quantifiers::TermDbSygus(c, this));
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback