mcrl2/pbes/remove_parameters.h

Include file:

#include "mcrl2/pbes/remove_parameters.h"

Functions for removing insignificant parameters from pbes types.

Functions

T mcrl2::pbes_system::remove_parameters(const T &x, const std::map<core::identifier_string, std::vector<std::size_t>> &to_be_removed, typename std::enable_if<std::is_base_of<atermpp::aterm, T>::value>::type * = nullptr)

Removes parameters from propositional variable instantiations in a pbes expression.

Parameters:

  • x A PBES library object that derives from atermpp::aterm_appl
  • to_be_removed A mapping that maps propositional variable names to indices of parameters that are removed

Returns: The expression x with parameters removed according to the mapping to_be_removed

T mcrl2::pbes_system::remove_parameters(const T &x, const std::set<data::variable> &to_be_removed, typename std::enable_if<std::is_base_of<atermpp::aterm, T>::value>::type * = 0)

Removes parameters from propositional variable instantiations in a pbes expression.

Parameters:

  • x A PBES library object that derives from atermpp::aterm_appl
  • to_be_removed A set of parameters that are to be removed

Returns: The expression x with parameters removed according to the mapping to_be_removed

T mcrl2::pbes_system::remove_parameters(const T &x, const std::vector<std::size_t> &to_be_removed, typename std::enable_if<std::is_base_of<atermpp::aterm, T>::value>::type * = nullptr)

Removes parameters from propositional variable instantiations in a pbes expression.

Parameters:

  • x A PBES library object that derives from atermpp::aterm_appl
  • to_be_removed The indices of parameters that are to be removed

Returns: The expression x with parameters removed according to the mapping to_be_removed

void mcrl2::pbes_system::remove_parameters(T &x, const std::map<core::identifier_string, std::vector<std::size_t>> &to_be_removed, typename std::enable_if<!std::is_base_of<atermpp::aterm, T>::value>::type * = nullptr)

Removes parameters from propositional variable instantiations in a pbes expression.

Parameters:

  • x A PBES library object that does not derive from atermpp::aterm_appl
  • to_be_removed A mapping that maps propositional variable names to a sorted vector of parameter indices that need to be removed

Returns: The expression x with parameters removed according to the mapping to_be_removed

void mcrl2::pbes_system::remove_parameters(T &x, const std::set<data::variable> &to_be_removed, typename std::enable_if<!std::is_base_of<atermpp::aterm, T>::value>::type * = nullptr)

Removes parameters from propositional variable instantiations in a pbes expression.

Parameters:

  • x A PBES library object that does not derive from atermpp::aterm_appl
  • to_be_removed A set of parameters that are to be removed

Returns: The expression x with parameters removed according to the mapping to_be_removed

void mcrl2::pbes_system::remove_parameters(T &x, const std::vector<std::size_t> &to_be_removed, typename std::enable_if<!std::is_base_of<atermpp::aterm, T>::value>::type * = 0)

Removes parameters from propositional variable instantiations in a pbes expression.

Parameters:

  • x A PBES library object that does not derive from atermpp::aterm_appl
  • to_be_removed The indices of parameters that are to be removed

Returns: The expression x with parameters removed according to the mapping to_be_removed