Include file:
#include "mcrl2/bes/normal_forms.h
mcrl2::bes::detail::
standard_form_traverser
¶Traverser that implements the standard form normalization.
mcrl2::bes::detail::standard_form_traverser::
super
¶typedef for bes::boolean_expression_traverser< standard_form_traverser >
mcrl2::bes::detail::standard_form_traverser::
m_equations
¶A vector containing generated equations.
mcrl2::bes::detail::standard_form_traverser::
m_equations2
¶A vector containing generated equations with new variables.
mcrl2::bes::detail::standard_form_traverser::
m_expression_stack
¶A stack containing sub-terms.
mcrl2::bes::detail::standard_form_traverser::
m_false
¶The expression corresponding to false.
mcrl2::bes::detail::standard_form_traverser::
m_generator
¶For generating fresh variables.
mcrl2::bes::detail::standard_form_traverser::
m_has_false
¶Is set to true if the value false is encountered in the BES.
mcrl2::bes::detail::standard_form_traverser::
m_has_true
¶Is set to true if the value true is encountered in the BES.
mcrl2::bes::detail::standard_form_traverser::
m_name
¶The name of the variable of the current equation, with a trailing underscore added.
mcrl2::bes::detail::standard_form_traverser::
m_recursive_form
¶If true, the result will be in standard recursive normal form, otherwise in standard form.
mcrl2::bes::detail::standard_form_traverser::
m_symbol
¶The fixpoint symbol of the current equation.
mcrl2::bes::detail::standard_form_traverser::
m_table
¶Maps right hand sides of equations to their corresponding left hand side.
mcrl2::bes::detail::standard_form_traverser::
m_true
¶The expression corresponding to true.
create_variable
(const boolean_expression &expr, standard_form_type type, const std::string &hint)¶Generates an equation var=expr for the expression expr (if it does not exist).
Returns: The variable var.
enter
(const boolean_equation &eq)¶Enter an equation.
enter
(const boolean_equation_system &x)¶Enter a boolean equation system.
enter
(const boolean_variable &x)¶Enter boolean_variable node.
Parameters:
equations
() constReturns the generated equations.
fresh_variable
(const std::string &hint)¶Generates a fresh boolean variable.
leave
(const boolean_equation &eq)¶Leave an equation.
leave
(const boolean_equation_system&)¶Leave a boolean equation system.
pop
()Pops the stack and returns the popped element.
push
(const boolean_expression &first, standard_form_type second)¶Pushes (first, second) on the stack.
result
() const¶Returns the top element of the expression stack, which is the result of the normalization.
standard_form_traverser
(bool recursive_form = false)¶Constructor.
Parameters: