27#include "node/node_manager.h"
40 global_options->setKeepLet(
false);
41 global_options->setExpandFunctions(
false);
48 stabilizer::node::NodeManager nm(parser);
49 nm.simplify_assertions();
54 return nm.to_string();
58 if (file_path.empty()) {
59 throw std::invalid_argument(
"file_path must not be empty");
63 parser.
parse(file_path);
68 if (smt2_text.empty()) {
69 throw std::invalid_argument(
"smt2_text must not be empty");
Public options for the SMTStabilizer API.
bool get_subgraph_pruning() const noexcept
bool get_context_propagation() const noexcept
bool get_rewrite() const noexcept
std::string apply_file(const std::string &file_path) const
Apply the full pipeline to an SMT-LIB2 file.
SMTStabilizer(SMTStabilizerOptions options={})
std::string apply_text(const std::string &smt2_text) const
Apply the full pipeline to an SMT-LIB2 script provided as text.
const SMTStabilizerOptions & options() const noexcept
static std::string run_pipeline(stabilizer::parser::Parser &parser, const SMTStabilizerOptions &options)
static void configure_parser(stabilizer::parser::Parser &parser, const SMTStabilizerOptions &options)
void set_options(const SMTStabilizerOptions &options) noexcept
SMTStabilizerOptions d_options
Internal canonicalization kernel for SMTStabilizer.
void apply(node::NodeManager &nm)
Run the full stabilization pass and mutate node manager state.
bool parse(const std::string &filename)
Parse SMT-LIB2 file.
std::shared_ptr< GlobalOptions > getOptions() const
Get global options.
bool parseStr(const std::string &constraint)
Parse a constraint.