12#include "mcrl2/pbes/normalize.h"
13#include "mcrl2/pbes/pbesinst_finite_algorithm.h"
14#include "mcrl2/pbes/remove_equations.h"
15#include "mcrl2/pbes/remove_parameters.h"
16#include "mcrl2/pbes/significant_variables.h"
26 pbes_system::remove_parameters(x, to_be_removed);
31 pbes_system::remove_parameters(x, to_be_removed);
38 pbes_system::normalize(x);
40 catch (
const mcrl2::runtime_error&)
42 throw mcrl2::runtime_error(
"The PBES is not monotonic!");
53 pbes_system::pbesinst_finite(p, rewrite_strategy, finite_parameter_selection);
58 return pbes_system::detail::print_removed_equations(removed);
63 return pbes_system::remove_unreachable_variables(p);
68 return pbes_system::significant_variables(x);
parameterized boolean equation system
std::set< data::variable > significant_variables(const pbes_expression &x)
Returns the significant variables of a pbes expression.
void remove_parameters(pbes &x, const std::set< data::variable > &to_be_removed)
Removes parameters from propositional variable instantiations in a pbes expression.
void remove_parameters(pbes &x, const std::map< core::identifier_string, std::vector< std::size_t > > &to_be_removed)
Removes parameters from propositional variable instantiations in a pbes expression.
void pbesinst_finite(pbes &p, data::rewrite_strategy rewrite_strategy, const std::string &finite_parameter_selection)
Apply finite instantiation to the given PBES.
bool is_normalized(const pbes &x)
Checks if a PBEs is normalized.
std::vector< propositional_variable > remove_unreachable_variables(pbes &p)
Removes equations that are not (syntactically) reachable from the initial state of a PBES.
std::string print_removed_equations(const std::vector< propositional_variable > &removed)
Print removed equations.
void normalize(pbes &x)
The function normalize brings (embedded) pbes expressions into positive normal form,...
The main namespace for the PBES library.