Include file:
#include "mcrl2/lps/lpsparunfoldlib.h
mcrl2::lps::detail::
unfold_data_manager
¶mcrl2::lps::detail::unfold_data_manager::
m_cache
¶cache for previously unfolded sorts. facilitates reuse of previously introduced sorts and function symbols.
mcrl2::lps::detail::unfold_data_manager::
m_data_equation_argument_generator
¶generator for arguments in left hand side of data equations
mcrl2::lps::detail::unfold_data_manager::
m_dataspec
¶mcrl2::lps::detail::unfold_data_manager::
m_identifier_generator
¶set of identifiers to use during fresh variable generation
mcrl2::lps::detail::unfold_data_manager::
m_possibly_inconsistent
¶Boolean indicating whether rewrite rules may be added that could make the data specification inconsistent.
mcrl2::lps::detail::unfold_data_manager::
m_representative_generator
¶a generator for default data expressions of a given sort;
add_used_identifier
(const core::identifier_string &id)¶add_used_identifiers
(const std::set<core::identifier_string> &ids)¶create_case_function
(const data::sort_expression &det_sort, const data::sort_expression &output_sort)¶Creates the case function with number of arguments determined by the number of affected constructors, the sort of the arguments and result are determined by sort..
Parameters:
Returns: A function that returns the corresponding constructor given the case selector and constructors.
create_cases
(const data::data_expression &target, const data::data_expression_vector &rhss)¶create_determine_function
(const data::sort_expression &sort)¶Creates the determine function.
Parameters:
Returns: A function that maps constructors to the fresh basic sort
create_distribution_law_over_case
(const data::sort_expression &sort, const data::function_symbol &function_for_distribution, const data::function_symbol case_function)¶Create distribution rules for distribution_functions over case_functions.
create_new_constructors
(const data::sort_expression &sort)¶Creates a set of constructors for the fresh basic sort.
Parameters:
Returns: The constructors that are created for the fresh basic sort
create_projection_functions
(const data::sort_expression &sort)¶Creates projection functions for the unfolded process parameter.
Parameters:
Returns: A function that returns the projection functions for the constructors of the unfolded process parameter.
determine_affected_constructors
(const data::sort_expression &sort)¶Determines the constructors that are affected with the unfold process parameter.
Parameters:
Post: The constructors that are affected with the unfold process parameter are stored in m_affected_constructors
filter_illegal_characters
(std::string in) const¶generate_case_function_equations
(const data::sort_expression &sort, const data::function_symbol &case_function)¶Create the data equations for case functions.
generate_determine_function_equations
(const data::sort_expression &sort)¶Create the data equations for the determine function.
generate_fresh_basic_sort
(const data::sort_expression &sort)¶Generates a fresh basic sort given a sort expression.
Parameters:
Returns: A fresh basic sort.
generate_fresh_function_symbol_name
(const std::string &str)¶Generates a fresh name for a constructor or mapping.
Parameters:
Post: A fresh name for a constructor or mapping is generated.
Returns: A fresh name for a constructor or mapping.
generate_fresh_variable
(std::string str, const data::sort_expression &sort)¶Generates variable of type sort based on a given string str.
Parameters:
Post: A fresh variable is generated, which has an unique name.
Returns: A fresh variable.
generate_projection_function_equations
(const data::sort_expression &sort)¶Create the data equations for the projection functions.
unfold_data_manager
(std::map<mcrl2::data::sort_expression, unfold_cache_element> &cache, data::data_specification &dataspec, bool possibly_inconsistent)¶