12#ifndef MCRL2_PBES_TOOLS_PBESREWR_H
13#define MCRL2_PBES_TOOLS_PBESREWR_H
29namespace pbes_system {
31void pbesrewr(
const std::string& input_filename,
32 const std::string& output_filename,
40 load_pbes(p, input_filename, input_format);
46 switch (rewriter_type)
57 bool enumerate_infinite_sorts =
true;
64 bool enumerate_infinite_sorts =
false;
79 bool innermost =
false;
111 throw(std::runtime_error(
"The result PBES if not a PPG!"));
132 save_pbes(p, output_filename, output_format);
Traverser class for PBESs in Bounded Quantifier Normal Form (BQNF): BQNF :== forall d: D ....
Rewriter that operates on data expressions.
A rewriter that rewrites universal quantifiers over conjuncts in BQNF expressions to conjuncts over u...
A rewriter that applies one point rule quantifier elimination to a PBES.
parameterized boolean equation system
const data::data_specification & data() const
Returns the data specification.
A rewriter that brings PBES expressions into PFNF normal form.
A rewriter that pushes quantifiers inside in a PBES expression.
#define mCRL2log(LEVEL)
mCRL2log(LEVEL) provides the stream used to log.
rewrite_strategy
The strategy of the rewriter.
pbes to_ppg(pbes x)
Rewrites a PBES to a PPG.
bool is_ppg(const T &x)
Determines if an expression is a PPG expression.
pbes_rewriter_type
An enumerated type for the available pbes rewriters.
void load_pbes(pbes &pbes, std::istream &stream, utilities::file_format format, const std::string &source="")
Load a PBES from file.
void pbesrewr(const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, data::rewrite_strategy rewrite_strategy, pbes_rewriter_type rewriter_type)
void save_pbes(const pbes &pbes, std::ostream &stream, utilities::file_format format=utilities::file_format())
Save a PBES in the format specified.
void replace_pbes_expressions(T &x, const Substitution &sigma, bool innermost=true, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=0)
void normalize(T &x, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr)
The function normalize brings (embedded) pbes expressions into positive normal form,...
void pbes_rewrite(T &x, const Rewriter &R, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr)
Rewrites all embedded pbes expressions in an object x.
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
add your file description here.
IO routines for boolean equation systems.
Normalization of pbes expressions.
add your file description here.
Rewriters for pbes expressions.
add your file description here.
add your file description here.
add your file description here.
Traverser class for Parameterised Parity Games (PPG), PBES expressions of the form: PPG :== /_{i: I} ...
An attempt for improving the efficiency.
A rewriter that simplifies boolean expressions in a term, and rewrites data expressions.
A rewriter that simplifies boolean expressions and quantifiers, and rewrites data expressions.