12#ifndef MCRL2_PBES_REPLACE_CAPTURE_AVOIDING_H
13#define MCRL2_PBES_REPLACE_CAPTURE_AVOIDING_H
21namespace pbes_system {
25template<
template<
class>
class Builder,
class Derived,
class Substitution>
29 typedef data::detail::add_capture_avoiding_replacement <Builder, Derived, Substitution>
super;
86template <
typename T,
typename Substitution>
90 typename std::enable_if<!std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
94 data::detail::apply_replace_capture_avoiding_variables_builder<pbes_system::data_expression_builder, pbes_system::detail::add_capture_avoiding_replacement>(sigma1).update(x);
101template <
typename T,
typename Substitution>
105 typename std::enable_if<std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
110 data::detail::apply_replace_capture_avoiding_variables_builder<pbes_system::data_expression_builder, pbes_system::detail::add_capture_avoiding_replacement>(sigma1).apply(result, x);
117template <
typename T,
typename Substitution>
120 typename std::enable_if<!std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
135template <
typename T,
typename Substitution>
138 typename std::enable_if<std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
const_iterator end() const
Returns a const_iterator pointing to the end of the term_list.
const_iterator begin() const
Returns a const_iterator pointing to the beginning of the term_list.
void add_identifiers(const std::set< core::identifier_string > &ids)
Add a set of identifiers to the context.
Identifier generator that stores the identifiers of the context in a set. Using the operator()() and ...
void add_identifier(const core::identifier_string &s) override
Adds the identifier s to the context.
\brief The existential quantification operator for pbes expressions
const data::variable_list & variables() const
const pbes_expression & body() const
\brief The universal quantification operator for pbes expressions
const pbes_expression & body() const
const data::variable_list & variables() const
const pbes_expression & formula() const
Returns the predicate formula on the right hand side of the equation.
const propositional_variable & variable() const
Returns the pbes variable of the equation.
parameterized boolean equation system
const std::set< data::variable > & global_variables() const
Returns the declared free variables of the pbes.
const std::vector< pbes_equation > & equations() const
Returns the equations.
\brief A propositional variable declaration
const data::variable_list & parameters() const
const core::identifier_string & name() const
add your file description here.
static RewriterCompilingJitty::substitution_type & sigma(RewriterCompilingJitty *this_rewriter)
void find_identifiers(const T &x, OutputIterator o)
void replace_variables_capture_avoiding(T &x, Substitution &sigma, data::set_identifier_generator &id_generator, typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr)
pbes_expression formula(std::set< identifier_t > const &v, const owner_t owner, const std::string &prefix="X")
void make_exists(atermpp::aterm &t, const ARGUMENTS &... args)
void make_forall(atermpp::aterm &t, const ARGUMENTS &... args)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
add your file description here.
Search functions of the pbes library.
void apply(atermpp::term_list< T > &result, const assignment_list &x)
capture_avoiding_substitution_updater< Substitution > & sigma
data::detail::add_capture_avoiding_replacement< Builder, Derived, Substitution > super
void update(pbes_equation &x)
void apply(T &result, const exists &x)
capture_avoiding_substitution_updater< Substitution > & sigma
add_capture_avoiding_replacement(data::detail::capture_avoiding_substitution_updater< Substitution > &sigma)
void apply(T &result, const forall &x)