12#ifndef MCRL2_MODAL_FORMULA_REPLACE_CAPTURE_AVOIDING_H
13#define MCRL2_MODAL_FORMULA_REPLACE_CAPTURE_AVOIDING_H
21namespace action_formulas {
25template <
template <
class>
class Builder,
class Derived,
class Substitution>
67template <
typename T,
typename Substitution>
71 typename std::enable_if<!std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
75 data::detail::apply_replace_capture_avoiding_variables_builder<action_formulas::data_expression_builder, action_formulas::detail::add_capture_avoiding_replacement>(sigma1).update(x);
82template <
typename T,
typename Substitution>
86 typename std::enable_if<std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
91 data::detail::apply_replace_capture_avoiding_variables_builder<action_formulas::data_expression_builder, action_formulas::detail::add_capture_avoiding_replacement>(sigma1).apply(result, x);
98template <
typename T,
typename Substitution>
101 typename std::enable_if<!std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
116template <
typename T,
typename Substitution>
119 typename std::enable_if<std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
138namespace regular_formulas {
142template <
template <
class>
class Builder,
class Derived,
class Substitution>
164template <
typename T,
typename Substitution>
168 typename std::enable_if<!std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
172 data::detail::apply_replace_capture_avoiding_variables_builder<regular_formulas::data_expression_builder, regular_formulas::detail::add_capture_avoiding_replacement>(sigma1).update(x);
179template <
typename T,
typename Substitution>
183 typename std::enable_if<std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
188 data::detail::apply_replace_capture_avoiding_variables_builder<regular_formulas::data_expression_builder, regular_formulas::detail::add_capture_avoiding_replacement>(sigma1).apply(result, x);
195template <
typename T,
typename Substitution>
198 typename std::enable_if<!std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
213template <
typename T,
typename Substitution>
216 typename std::enable_if<std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
235namespace state_formulas {
239template <
template <
class>
class Builder,
class Derived,
class Substitution>
277template <
typename T,
typename Substitution>
281 typename std::enable_if<!std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
285 data::detail::apply_replace_capture_avoiding_variables_builder<state_formulas::data_expression_builder, state_formulas::detail::add_capture_avoiding_replacement>(sigma1).update(x);
292template <
typename T,
typename Substitution>
296 typename std::enable_if<std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
301 data::detail::apply_replace_capture_avoiding_variables_builder<state_formulas::data_expression_builder, state_formulas::detail::add_capture_avoiding_replacement>(sigma1).apply(result, x);
308template <
typename T,
typename Substitution>
311 typename std::enable_if<!std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
326template <
typename T,
typename Substitution>
329 typename std::enable_if<std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
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.
static RewriterCompilingJitty::substitution_type & sigma(RewriterCompilingJitty *this_rewriter)
add your file description here.
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
void apply(atermpp::term_list< T > &result, const assignment_list &x)
capture_avoiding_substitution_updater< Substitution > & sigma
void update(action_summand &x)
void apply(T &, const stochastic_distribution &)
capture_avoiding_substitution_updater< Substitution > & sigma