Wrapper class for internal storage and substitution updates using operator()
std::multiset< variable_type > & m_variables_in_rhs
assignment(const variable_type &v, Substitution &sigma, std::multiset< variable_type > &variables_in_rhs, std::set< variable_type > &scratch_set)
Constructor.
const variable_type & m_variable
std::set< variable_type > & m_scratch_set
void operator=(const expression_type &e)
Actual assignment.
Wrapper that extends any substitution to a substitution maintaining the vars in its rhs.
bool variable_occurs_in_a_rhs(const variable_type &v)
Indicates whether a variable occurs in some rhs of this substitution.
assignment operator[](variable_type const &v)
Assigment operator.
std::set< variable_type > m_scratch_set
const std::multiset< variable > & variables_in_rhs()
Provides a set of variables that occur in the right hand sides of the assignments.
super::expression_type expression_type
std::multiset< variable_type > m_variables_in_rhs
maintain_variables_in_rhs()
Default constructor.
super::variable_type variable_type