12#ifndef MCRL2_DATA_SUBSTITUTIONS_ENUMERATOR_SUBSTITUTION_H
13#define MCRL2_DATA_SUBSTITUTIONS_ENUMERATOR_SUBSTITUTION_H
91 assert(variables.
size()==expressions.
size());
143 std::ostringstream out;
149 out << (i ==
variables.
begin() ?
"" :
"; ") << *i <<
" := " << *j;
159 return out <<
sigma.to_string();
165 auto i =
sigma.variables.begin();
166 auto j =
sigma.expressions.begin();
167 for (i =
sigma.variables.begin(); i !=
sigma.variables.end(); ++i, ++j)
size_type size() const
Returns the size of the term_list.
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.
term_list_iterator< variable > const_iterator
Const iterator used to iterate through an term_list.
void push_front(const Term &el)
Inserts a new element at the beginning of the current list.
add your file description here.
add your file description here.
static RewriterCompilingJitty::substitution_type & sigma(RewriterCompilingJitty *this_rewriter)
term_list< Term > reverse(const term_list< Term > &l)
Returns the list with the elements in reversed order.
data_expression enumerator_replace(const T &x, const variable_list::const_iterator variables_begin, const variable_list::const_iterator variables_end, const data_expression_list::const_iterator expressions_begin)
bool is_simple_substitution(const Substitution &)
Returns true if the substitution sigma satisfies the property that FV(sigma(x)) is included in {x} fo...
std::ostream & operator<<(std::ostream &out, const abstraction &x)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
void apply(T &result, const data::variable &x)
enumerator_replace_builder(const variable_list::const_iterator variables_begin, const variable_list::const_iterator variables_end, const data_expression_list::const_iterator expressions_begin)
void apply(T &result, const variable &x)
data_expression_builder< enumerator_replace_builder > super
const variable_list::const_iterator m_vars_begin
const data_expression_list::const_iterator m_expressions_begin
const variable_list::const_iterator m_vars_end
Substitution that stores the assignments as a sequence of variables and a sequence of expressions....
data::data_expression expression_type
type used to represent expressions
data::variable_list variables
enumerator_substitution(data::variable_list variables_, data::data_expression_list expressions_)
data::data_expression_list expressions
std::string to_string() const
data::data_expression operator()(const data::variable &v) const
void add_assignment(const data::variable &v, const data::data_expression &e)
enumerator_substitution()=default
data::variable variable_type
type used to represent variables