Include file:
#include "mcrl2/lps/lpsparunfoldlib.h
mcrl2::lps::
lpsparunfold
¶mcrl2::lps::lpsparunfold::
super
¶typedef for detail::lps_algorithm< lps::stochastic_specification >
mcrl2::lps::lpsparunfold::
case_func_replacement
¶typedef for std::tuple< data::variable, std::map< data::sort_expression, data::function_symbol >, data::variable, data::data_expression_vector >
mcrl2::lps::lpsparunfold::
m_alt_case_placement
¶Boolean to indicate if alternative placement of case functions should be used.
mcrl2::lps::lpsparunfold::
m_datamgr
¶Bookkeeper for recogniser and projection functions.
mcrl2::lps::lpsparunfold::
m_injected_parameters
¶The process parameters that are inserted.
mcrl2::lps::lpsparunfold::
m_pattern_unfolder
¶mcrl2::lps::lpsparunfold::
m_run_before
¶set to true when the algorithm has been run once; as the algorithm should run only once…
mcrl2::lps::lpsparunfold::
m_unfold_parameter
¶The process parameter that needs to be unfold.
mcrl2::lps::lpsparunfold::
m_unfold_pattern_matching
¶Indicates whether functions defined by pattern matching that occur in the scope of a Det or pi in a state update should be unfolded.
algorithm
(const std::size_t parameter_at_index)¶Applies lpsparunfold algorithm on a process parameter of an mCRL2 process specification .
Pre: algorithm has not been called before.
Parameters:
Post: The process parameter at index parameter_at_index is unfolded in the mCRL2 process specification.
lpsparunfold
(lps::stochastic_specification &spec, std::map<data::sort_expression, unfold_cache_element> &cache, bool alt_case_placement = false, bool possibly_inconsistent = false, bool unfold_pattern_matching = true)¶Constructor for lpsparunfold algorithm.
Constructor.
Parameters:
Post: The content of mCRL2 process specification analysed for useful information and class variables are set.
apply_function
(const data::function_symbol &f, const data::data_expression &de) const¶parameter_case_function
()¶parameter_substitution
()¶substitute function for replacing process parameters with unfolded process parameters functions.
Returns: substitute function for replacing process parameters with unfolded process parameters functions.
process_parameter_at
(const std::size_t index)¶Get the process parameter at given index.
Parameters:
Returns: the process parameter at given index.
unfold_constructor
(const mcrl2::data::data_expression &de)¶unfolds a data expression into a vector of process parameters
Parameters:
Returns: The following vector: < det(de), pi_0(de), … ,pi_n(de) >
unfold_summands
(mcrl2::lps::stochastic_action_summand_vector &summands)¶update_linear_process
(std::size_t parameter_at_index)¶substitute unfold process parameter in the linear process
Parameters:
Post: the process parameter at given index is unfolded in the the linear process
update_linear_process_initialization
(std::size_t parameter_at_index)¶substitute unfold process parameter in the initialization of the linear process
Parameters:
Post: the initialization for the linear process is updated by unfolding the parameter at given index is unfolded