Include file:
#include "mcrl2/lps/lpsparunfoldlib.h
mcrl2::lps::detail::
pattern_match_unfolder
¶Class for unfolding expressions f(a1,…,an) based on the pattern-matching rewrite rules that define f.
mcrl2::lps::detail::pattern_match_unfolder::
m_datamgr
¶mcrl2::lps::detail::pattern_match_unfolder::
m_is_pattern_matching
¶mcrl2::lps::detail::pattern_match_unfolder::
m_new_eqns
¶mcrl2::lps::detail::pattern_match_unfolder::
m_repgen
¶find_equations
(const data::function_symbol &f)¶Finds all rewriting equations for f.
is_det_or_pi
(const data::application &expr) const¶Checks whether expr is of the shape Det(h(a1,…,an)) or pi(h(a1,…,an)), where h is defined by patter matching, and, if so, unfolds h(a1,…,an).
matches_only_known_sorts
(const data::function_symbol &f)¶Determines whether f pattern matches on argument arg.
Pre: this->can_unfold(f)
operator()
(T &result, const data::application &x)¶Unfolds expr if it is of the shape h(a1,…,an) and h is defined by pattern matching.
Pre: this->can_unfold(x)
pattern_match_unfolder
(unfold_data_manager &datamgr)¶