smt/set_defaults.h
smt/solver_engine.cpp
smt/solver_engine.h
- smt/smt_engine_scope.cpp
- smt/smt_engine_scope.h
+ smt/solver_engine_scope.cpp
+ smt/solver_engine_scope.h
smt/smt_engine_state.cpp
smt/smt_engine_state.h
smt/smt_engine_stats.cpp
#include "preprocessing/assertion_pipeline.h"
#include "preprocessing/preprocessing_pass_context.h"
-#include "smt/smt_engine_scope.h"
#include "smt/smt_statistics_registry.h"
#include "smt/solver_engine.h"
+#include "smt/solver_engine_scope.h"
#include "theory/quantifiers/quantifiers_attributes.h"
#include "theory/quantifiers/quantifiers_preprocess.h"
#include "theory/quantifiers/sygus/sygus_grammar_cons.h"
#include "smt/dump.h"
#include "smt/env.h"
#include "smt/output_manager.h"
-#include "smt/smt_engine_scope.h"
#include "smt/smt_statistics_registry.h"
+#include "smt/solver_engine_scope.h"
#include "util/statistics_stats.h"
namespace cvc5 {
{
}
-PreprocessingPass::~PreprocessingPass() {
- Assert(smt::smtEngineInScope());
-}
+PreprocessingPass::~PreprocessingPass() { Assert(smt::solverEngineInScope()); }
} // namespace preprocessing
} // namespace cvc5
#include "expr/expr_iomanip.h"
#include "options/base_options.h"
#include "printer/printer.h"
-#include "smt/smt_engine_scope.h"
+#include "smt/solver_engine_scope.h"
namespace cvc5 {
#include "prop/theory_proxy.h"
#include "smt/dump.h"
#include "smt/env.h"
-#include "smt/smt_engine_scope.h"
#include "smt/smt_statistics_registry.h"
+#include "smt/solver_engine_scope.h"
#include "theory/theory.h"
#include "theory/theory_engine.h"
#include "smt/dump.h"
#include "smt/dump_manager.h"
#include "smt/node_command.h"
-#include "smt/smt_engine_scope.h"
#include "smt/solver_engine.h"
+#include "smt/solver_engine_scope.h"
namespace cvc5 {
namespace smt {
void ResourceOutListener::notify()
{
- SmtScope scope(&d_slv);
- Assert(smt::smtEngineInScope());
+ SolverEngineScope scope(&d_slv);
+ Assert(smt::solverEngineInScope());
d_slv.interrupt();
}
+++ /dev/null
-/******************************************************************************
- * Top contributors (to current version):
- * Andres Noetzli, Andrew Reynolds, Morgan Deters
- *
- * This file is part of the cvc5 project.
- *
- * Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
- * in the top-level source directory and their institutional affiliations.
- * All rights reserved. See the file COPYING in the top-level source
- * directory for licensing information.
- * ****************************************************************************
- *
- * [[ Add one-line brief description here ]]
- *
- * [[ Add lengthier description here ]]
- * \todo document this file
- */
-
-#include "smt/smt_engine_scope.h"
-
-#include "base/check.h"
-#include "base/configuration_private.h"
-#include "base/output.h"
-#include "smt/solver_engine.h"
-
-namespace cvc5 {
-namespace smt {
-
-thread_local SolverEngine* s_slvEngine_current = nullptr;
-
-SolverEngine* currentSolverEngine()
-{
- Assert(s_slvEngine_current != nullptr);
- return s_slvEngine_current;
-}
-
-bool smtEngineInScope() { return s_slvEngine_current != nullptr; }
-
-ResourceManager* currentResourceManager()
-{
- return s_slvEngine_current->getResourceManager();
-}
-
-SmtScope::SmtScope(const SolverEngine* smt)
- : d_oldSlvEngine(s_slvEngine_current),
- d_optionsScope(smt ? &const_cast<SolverEngine*>(smt)->getOptions()
- : nullptr)
-{
- Assert(smt != nullptr);
- s_slvEngine_current = const_cast<SolverEngine*>(smt);
- Debug("current") << "smt scope: " << s_slvEngine_current << std::endl;
-}
-
-SmtScope::~SmtScope() {
- s_slvEngine_current = d_oldSlvEngine;
- Debug("current") << "smt scope: returning to " << s_slvEngine_current
- << std::endl;
-}
-
-StatisticsRegistry& SmtScope::currentStatisticsRegistry()
-{
- Assert(smtEngineInScope());
- return s_slvEngine_current->getStatisticsRegistry();
-}
-
-} // namespace smt
-} // namespace cvc5
+++ /dev/null
-/******************************************************************************
- * Top contributors (to current version):
- * Andrew Reynolds, Andres Noetzli, Tim King
- *
- * This file is part of the cvc5 project.
- *
- * Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
- * in the top-level source directory and their institutional affiliations.
- * All rights reserved. See the file COPYING in the top-level source
- * directory for licensing information.
- * ****************************************************************************
- *
- * [[ Add one-line brief description here ]]
- *
- * [[ Add lengthier description here ]]
- * \todo document this file
- */
-
-#include "cvc5_private.h"
-
-#ifndef CVC5__SMT__SMT_ENGINE_SCOPE_H
-#define CVC5__SMT__SMT_ENGINE_SCOPE_H
-
-#include "expr/node_manager.h"
-
-#include "options/options.h"
-
-namespace cvc5 {
-
-class SolverEngine;
-class StatisticsRegistry;
-
-namespace smt {
-
-SolverEngine* currentSolverEngine();
-bool smtEngineInScope();
-
-/** get the current resource manager */
-ResourceManager* currentResourceManager();
-
-class SmtScope
-{
- public:
- SmtScope(const SolverEngine* smt);
- ~SmtScope();
- /**
- * This returns the StatisticsRegistry attached to the currently in scope
- * SolverEngine.
- */
- static StatisticsRegistry& currentStatisticsRegistry();
-
- private:
- /** The old SolverEngine, to be restored on destruction. */
- SolverEngine* d_oldSlvEngine;
- /** Options scope */
- Options::OptionsScope d_optionsScope;
-};/* class SmtScope */
-
-} // namespace smt
-} // namespace cvc5
-
-#endif /* CVC5__SMT__SMT_ENGINE_SCOPE_H */
#include "smt/smt_statistics_registry.h"
-#include "smt/smt_engine_scope.h"
+#include "smt/solver_engine_scope.h"
#include "util/statistics_stats.h"
namespace cvc5 {
StatisticsRegistry& smtStatisticsRegistry()
{
- return smt::SmtScope::currentStatisticsRegistry();
+ return smt::SolverEngineScope::currentStatisticsRegistry();
}
} // namespace cvc5
/**
* This returns the StatisticsRegistry attached to the currently in scope
* SolverEngine. This is a synonym for
- * smt::SmtScope::currentStatisticsRegistry().
+ * smt::SolverEngineScope::currentStatisticsRegistry().
*/
StatisticsRegistry& smtStatisticsRegistry();
#include "smt/proof_manager.h"
#include "smt/quant_elim_solver.h"
#include "smt/set_defaults.h"
-#include "smt/smt_engine_scope.h"
#include "smt/smt_engine_state.h"
#include "smt/smt_engine_stats.h"
#include "smt/smt_solver.h"
+#include "smt/solver_engine_scope.h"
#include "smt/sygus_solver.h"
#include "smt/unsat_core_manager.h"
#include "theory/quantifiers/instantiation_list.h"
// SolverEngine. Thus the hack here does not break this use case. On the other
// hand, this hack breaks use cases where multiple SolverEngine objects are
// created by the user.
- d_scope.reset(new SmtScope(this));
+ d_scope.reset(new SolverEngineScope(this));
// listen to node manager events
getNodeManager()->subscribeEvents(d_snmListener.get());
// listen to resource out
SolverEngine::~SolverEngine()
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
try
{
void SolverEngine::setLogic(const LogicInfo& logic)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
if (d_state->isFullyInited())
{
throw ModalException(
void SolverEngine::setLogic(const std::string& s)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
try
{
setLogic(LogicInfo(s));
void SolverEngine::setInfo(const std::string& key, const std::string& value)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
Trace("smt") << "SMT setInfo(" << key << ", " << value << ")" << endl;
std::string SolverEngine::getInfo(const std::string& key) const
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
Trace("smt") << "SMT getInfo(" << key << ")" << endl;
if (key == "all-statistics")
Node formula,
bool global)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
d_state->doPendingPops();
Trace("smt") << "SMT defineFunction(" << func << ")" << endl;
const std::vector<Node>& formulas,
bool global)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
d_state->doPendingPops();
Trace("smt") << "SMT defineFunctionsRec(...)" << endl;
{
try
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
Trace("smt") << "SolverEngine::"
std::vector<Node> SolverEngine::getUnsatAssumptions(void)
{
Trace("smt") << "SMT getUnsatAssumptions()" << endl;
- SmtScope smts(this);
+ SolverEngineScope smts(this);
if (!d_env->getOptions().smt.unsatAssumptions)
{
throw ModalException(
Result SolverEngine::assertFormula(const Node& formula)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
d_state->doPendingPops();
void SolverEngine::declareSygusVar(Node var)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
d_sygusSolver->declareSygusVar(var);
}
bool isInv,
const std::vector<Node>& vars)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
d_state->doPendingPops();
d_sygusSolver->declareSynthFun(func, sygusType, isInv, vars);
void SolverEngine::assertSygusConstraint(Node n, bool isAssume)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
d_sygusSolver->assertSygusConstraint(n, isAssume);
}
Node trans,
Node post)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
d_sygusSolver->assertSygusInvConstraint(inv, pre, trans, post);
}
Result SolverEngine::checkSynth()
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
return d_sygusSolver->checkSynth(*d_asserts);
}
Node SolverEngine::simplify(const Node& ex)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
d_state->doPendingPops();
// ensure we've processed assertions
Node SolverEngine::expandDefinitions(const Node& ex)
{
getResourceManager()->spendResource(Resource::PreprocessStep);
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
d_state->doPendingPops();
return d_smtSolver->getPreprocessor()->expandDefinitions(ex);
// TODO(#1108): Simplify the error reporting of this method.
Node SolverEngine::getValue(const Node& ex) const
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
Trace("smt") << "SMT getValue(" << ex << ")" << endl;
if (Dump.isOn("benchmark"))
bool SolverEngine::isModelCoreSymbol(Node n)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
Assert(n.isVar());
const Options& opts = d_env->getOptions();
if (opts.smt.modelCoresMode == options::ModelCoresMode::NONE)
std::string SolverEngine::getModel(const std::vector<TypeNode>& declaredSorts,
const std::vector<Node>& declaredFuns)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
// !!! Note that all methods called here should have a version at the API
// level. This is to ensure that the information associated with a model is
// completely accessible by the user. This is currently not rigorously
Result SolverEngine::blockModel()
{
Trace("smt") << "SMT blockModel()" << endl;
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
Result SolverEngine::blockModelValues(const std::vector<Node>& exprs)
{
Trace("smt") << "SMT blockModelValues()" << endl;
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
"Cannot declare heap if not using the separation logic theory.";
throw RecoverableModalException(msg);
}
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
TheoryEngine* te = getTheoryEngine();
te->declareSepHeap(locT, dataT);
bool SolverEngine::getSepHeapTypes(TypeNode& locT, TypeNode& dataT)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
TheoryEngine* te = getTheoryEngine();
return te->getSepHeapTypes(locT, dataT);
UnsatCore SolverEngine::getUnsatCore()
{
Trace("smt") << "SMT getUnsatCore()" << std::endl;
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
if (Dump.isOn("benchmark"))
{
std::string SolverEngine::getProof()
{
Trace("smt") << "SMT getProof()\n";
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
if (Dump.isOn("benchmark"))
{
void SolverEngine::printInstantiations(std::ostream& out)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
QuantifiersEngine* qe = getAvailableQuantifiersEngine("printInstantiations");
void SolverEngine::getInstantiationTermVectors(
std::map<Node, std::vector<std::vector<Node>>>& insts)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
QuantifiersEngine* qe =
getAvailableQuantifiersEngine("getInstantiationTermVectors");
bool SolverEngine::getSynthSolutions(std::map<Node, Node>& solMap)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
return d_sygusSolver->getSynthSolutions(solMap);
}
Node SolverEngine::getQuantifierElimination(Node q, bool doFull, bool strict)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
const LogicInfo& logic = getLogicInfo();
if (!logic.isPure(THEORY_ARITH) && strict)
const TypeNode& grammarType,
Node& interpol)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
std::vector<Node> axioms = getExpandedAssertions();
bool success =
const TypeNode& grammarType,
Node& abd)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
std::vector<Node> axioms = getExpandedAssertions();
bool success = d_abductSolver->getAbduct(axioms, conj, grammarType, abd);
void SolverEngine::getInstantiatedQuantifiedFormulas(std::vector<Node>& qs)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
QuantifiersEngine* qe =
getAvailableQuantifiersEngine("getInstantiatedQuantifiedFormulas");
qe->getInstantiatedQuantifiedFormulas(qs);
void SolverEngine::getInstantiationTermVectors(
Node q, std::vector<std::vector<Node>>& tvecs)
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
QuantifiersEngine* qe =
getAvailableQuantifiersEngine("getInstantiationTermVectors");
qe->getInstantiationTermVectors(q, tvecs);
std::vector<Node> SolverEngine::getAssertions()
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
d_state->doPendingPops();
if (Dump.isOn("benchmark"))
void SolverEngine::getDifficultyMap(std::map<Node, Node>& dmap)
{
Trace("smt") << "SMT getDifficultyMap()\n";
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
if (Dump.isOn("benchmark"))
{
void SolverEngine::push()
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
d_state->doPendingPops();
Trace("smt") << "SMT push()" << endl;
void SolverEngine::pop()
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
finishInit();
Trace("smt") << "SMT pop()" << endl;
if (Dump.isOn("benchmark"))
void SolverEngine::resetAssertions()
{
- SmtScope smts(this);
+ SolverEngineScope smts(this);
if (!d_state->isFullyInited())
{
class QuantElimSolver;
struct SmtEngineStatistics;
-class SmtScope;
+class SolverEngineScope;
class PfManager;
class UnsatCoreManager;
{
friend class ::cvc5::api::Solver;
friend class ::cvc5::smt::SmtEngineState;
- friend class ::cvc5::smt::SmtScope;
+ friend class ::cvc5::smt::SolverEngineScope;
/* ....................................................................... */
public:
* SolverEngine in scope. It says the SolverEngine in scope until it is
* destructed, or another SolverEngine is created.
*/
- std::unique_ptr<smt::SmtScope> d_scope;
+ std::unique_ptr<smt::SolverEngineScope> d_scope;
}; /* class SolverEngine */
/* -------------------------------------------------------------------------- */
--- /dev/null
+/******************************************************************************
+ * Top contributors (to current version):
+ * Andres Noetzli, Andrew Reynolds, Morgan Deters
+ *
+ * This file is part of the cvc5 project.
+ *
+ * Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
+ * in the top-level source directory and their institutional affiliations.
+ * All rights reserved. See the file COPYING in the top-level source
+ * directory for licensing information.
+ * ****************************************************************************
+ *
+ * [[ Add one-line brief description here ]]
+ *
+ * [[ Add lengthier description here ]]
+ * \todo document this file
+ */
+
+#include "smt/solver_engine_scope.h"
+
+#include "base/check.h"
+#include "base/configuration_private.h"
+#include "base/output.h"
+#include "smt/solver_engine.h"
+
+namespace cvc5 {
+namespace smt {
+
+thread_local SolverEngine* s_slvEngine_current = nullptr;
+
+SolverEngine* currentSolverEngine()
+{
+ Assert(s_slvEngine_current != nullptr);
+ return s_slvEngine_current;
+}
+
+bool solverEngineInScope() { return s_slvEngine_current != nullptr; }
+
+ResourceManager* currentResourceManager()
+{
+ return s_slvEngine_current->getResourceManager();
+}
+
+SolverEngineScope::SolverEngineScope(const SolverEngine* smt)
+ : d_oldSlvEngine(s_slvEngine_current),
+ d_optionsScope(smt ? &const_cast<SolverEngine*>(smt)->getOptions()
+ : nullptr)
+{
+ Assert(smt != nullptr);
+ s_slvEngine_current = const_cast<SolverEngine*>(smt);
+ Debug("current") << "smt scope: " << s_slvEngine_current << std::endl;
+}
+
+SolverEngineScope::~SolverEngineScope()
+{
+ s_slvEngine_current = d_oldSlvEngine;
+ Debug("current") << "smt scope: returning to " << s_slvEngine_current
+ << std::endl;
+}
+
+StatisticsRegistry& SolverEngineScope::currentStatisticsRegistry()
+{
+ Assert(solverEngineInScope());
+ return s_slvEngine_current->getStatisticsRegistry();
+}
+
+} // namespace smt
+} // namespace cvc5
--- /dev/null
+/******************************************************************************
+ * Top contributors (to current version):
+ * Andrew Reynolds, Andres Noetzli, Tim King
+ *
+ * This file is part of the cvc5 project.
+ *
+ * Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
+ * in the top-level source directory and their institutional affiliations.
+ * All rights reserved. See the file COPYING in the top-level source
+ * directory for licensing information.
+ * ****************************************************************************
+ *
+ * [[ Add one-line brief description here ]]
+ *
+ * [[ Add lengthier description here ]]
+ * \todo document this file
+ */
+
+#include "cvc5_private.h"
+
+#ifndef CVC5__SMT__SOLVER_ENGINE_SCOPE_H
+#define CVC5__SMT__SOLVER_ENGINE_SCOPE_H
+
+#include "expr/node_manager.h"
+#include "options/options.h"
+
+namespace cvc5 {
+
+class SolverEngine;
+class StatisticsRegistry;
+
+namespace smt {
+
+SolverEngine* currentSolverEngine();
+bool solverEngineInScope();
+
+/** get the current resource manager */
+ResourceManager* currentResourceManager();
+
+class SolverEngineScope
+{
+ public:
+ SolverEngineScope(const SolverEngine* smt);
+ ~SolverEngineScope();
+ /**
+ * This returns the StatisticsRegistry attached to the currently in scope
+ * SolverEngine.
+ */
+ static StatisticsRegistry& currentStatisticsRegistry();
+
+ private:
+ /** The old SolverEngine, to be restored on destruction. */
+ SolverEngine* d_oldSlvEngine;
+ /** Options scope */
+ Options::OptionsScope d_optionsScope;
+}; /* class SolverEngineScope */
+
+} // namespace smt
+} // namespace cvc5
+
+#endif /* CVC5__SMT__SMT_ENGINE_SCOPE_H */
#include "options/bv_options.h"
#include "printer/printer.h"
#include "smt/dump.h"
-#include "smt/smt_engine_scope.h"
#include "smt/smt_statistics_registry.h"
-#include "smt/solver_engine.h"
#include "theory/bv/theory_bv_utils.h"
#include "theory/rewriter.h"
#include "util/bitvector.h"
#include "prop/registrar.h"
#include "prop/sat_solver.h"
#include "prop/sat_solver_types.h"
-#include "smt/smt_engine_scope.h"
+#include "smt/solver_engine_scope.h"
#include "theory/bv/bitblast/bitblast_strategies_template.h"
#include "theory/rewriter.h"
#include "theory/theory.h"
#include "options/bv_options.h"
#include "printer/printer.h"
#include "smt/dump.h"
-#include "smt/smt_engine_scope.h"
#include "smt/smt_statistics_registry.h"
#include "smt/solver_engine.h"
+#include "smt/solver_engine_scope.h"
#include "smt_util/boolean_simplification.h"
#include "theory/bv/bv_quick_check.h"
#include "theory/bv/bv_solver_layered.h"
#include "context/context.h"
#include "printer/printer.h"
#include "smt/dump.h"
-#include "smt/smt_engine_scope.h"
#include "smt/solver_engine.h"
+#include "smt/solver_engine_scope.h"
#include "theory/bv/theory_bv_utils.h"
#include "theory/theory.h"
#include "util/statistics_stats.h"
#include "options/base_options.h"
#include "printer/printer.h"
-#include "smt/smt_engine_scope.h"
#include "smt/smt_statistics_registry.h"
#include "smt/solver_engine.h"
+#include "smt/solver_engine_scope.h"
#include "theory/datatypes/sygus_datatype_utils.h"
#include "theory/quantifiers/sygus/term_database_sygus.h"
#include "theory/quantifiers/term_util.h"
#include "expr/dtype.h"
#include "expr/dtype_cons.h"
#include "options/quantifiers_options.h"
-#include "smt/smt_engine_scope.h"
#include "smt/solver_engine.h"
+#include "smt/solver_engine_scope.h"
#include "theory/datatypes/datatypes_rewriter.h"
#include "theory/quantifiers/first_order_model.h"
#include "theory/quantifiers/quantifiers_state.h"
#include "options/theory_options.h"
#include "proof/conv_proof_generator.h"
-#include "smt/smt_engine_scope.h"
#include "smt/smt_statistics_registry.h"
#include "smt/solver_engine.h"
+#include "smt/solver_engine_scope.h"
#include "theory/builtin/proof_checker.h"
#include "theory/evaluator.h"
#include "theory/quantifiers/extended_rewrite.h"
rewriteStack.push_back(RewriteStackElement(node, theoryId));
ResourceManager* rm = NULL;
- bool hasSmtEngine = smt::smtEngineInScope();
- if (hasSmtEngine) {
+ bool hasSlvEngine = smt::solverEngineInScope();
+ if (hasSlvEngine)
+ {
rm = smt::currentResourceManager();
}
// Rewrite until the stack is empty
for (;;){
- if (hasSmtEngine)
+ if (hasSlvEngine)
{
rm->spendResource(Resource::RewriteStep);
}
#include "theory/smt_engine_subsolver.h"
#include "smt/env.h"
-#include "smt/smt_engine_scope.h"
#include "smt/solver_engine.h"
+#include "smt/solver_engine_scope.h"
#include "theory/rewriter.h"
namespace cvc5 {
#include "theory/theory_inference_manager.h"
-#include "smt/smt_engine_scope.h"
#include "smt/smt_statistics_registry.h"
+#include "smt/solver_engine_scope.h"
#include "theory/output_channel.h"
#include "theory/rewriter.h"
#include "theory/theory.h"
#include "expr/node_manager.h"
#include "expr/node_manager_attributes.h"
#include "expr/node_value.h"
-#include "smt/smt_engine_scope.h"
#include "smt/solver_engine.h"
+#include "smt/solver_engine_scope.h"
#include "test_node.h"
#include "theory/theory.h"
#include "theory/theory_engine.h"
#include "preprocessing/assertion_pipeline.h"
#include "preprocessing/passes/bv_gauss.h"
#include "preprocessing/preprocessing_pass_context.h"
-#include "smt/smt_engine_scope.h"
#include "smt/solver_engine.h"
+#include "smt/solver_engine_scope.h"
#include "test_smt.h"
#include "theory/bv/theory_bv_utils.h"
#include "theory/rewriter.h"
#include "expr/skolem_manager.h"
#include "options/options.h"
#include "smt/env.h"
-#include "smt/smt_engine_scope.h"
#include "smt/solver_engine.h"
+#include "smt/solver_engine_scope.h"
#include "test.h"
namespace cvc5 {
#include "expr/node_manager.h"
#include "expr/skolem_manager.h"
-#include "smt/smt_engine_scope.h"
#include "smt/solver_engine.h"
+#include "smt/solver_engine_scope.h"
#include "test.h"
namespace cvc5 {
#include "expr/node_manager.h"
#include "expr/skolem_manager.h"
#include "proof/proof_checker.h"
-#include "smt/smt_engine_scope.h"
#include "smt/solver_engine.h"
+#include "smt/solver_engine_scope.h"
#include "test.h"
#include "theory/output_channel.h"
#include "theory/rewriter.h"
#include "api/cpp/cvc5.h"
#include "expr/node.h"
#include "expr/node_manager.h"
-#include "smt/smt_engine_scope.h"
+#include "smt/solver_engine_scope.h"
#include "test_smt.h"
#include "theory/rewriter.h"
#include "theory/strings/regexp_entail.h"