Include file:
#include "mcrl2/pbes/bisimulation.h
mcrl2::pbes_system::
bisimulation_algorithm
¶Base class for bisimulation algorithms.
mcrl2::pbes_system::bisimulation_algorithm::
my_iterator
¶typedef for lps::action_summand_vector::const_iterator
The iterator type for non-delta summands.
mcrl2::pbes_system::bisimulation_algorithm::
name_map
¶typedef for std::map< const lps::action_summand *, std::string >
A map type for mapping summands to strings.
mcrl2::pbes_system::bisimulation_algorithm::
model_ptr
¶Store the address of the model.
mcrl2::pbes_system::bisimulation_algorithm::
summand_names
¶Maps summands to strings.
action_list_name
(const process::action_list &l) const¶Generates a name for an action_list.
Parameters:
Returns: A string representation of the list l
is_from_model
(const lps::linear_process &p) const¶Returns true if p is the linear process of the model.
Parameters:
Returns: True if p is the linear process of the model.
make_substitution
(const data::variable_list &v, const data::data_expression_list &e, data::mutable_map_substitution<> &result) const¶process_name
(const lps::linear_process &p) const¶Returns a name of a linear process.
Parameters:
Returns: The name of the linear process.
set_summand_names
(const lps::linear_process &p)¶Used for initializing summand names.
Parameters:
summand_name
(my_iterator i) const¶Returns the name of a summand.
Parameters:
Returns: The name of the summand referred to by i
build_pbes
(const std::vector<pbes_equation> &equations, const lps::specification &M, const lps::specification &S)¶Builds a pbes from the given equations.
Parameters:
Returns: The constructed pbes
compute_process_parameter_name_clashes
(const lps::specification &p, const lps::specification &q) const¶Returns a substitution of variables in q such that there are no name clashes between p and q.
Parameters:
Returns: A substitution that should be applied to q to remove name clashes between p and q.
After this substitution the following holds: [ ((param(p)cup glob(p))cap ((param(q)cup glob(q))=emptyset ] where param(p) denotes p.process().process_parameters() and glob(p) denotes p.global_variables().
compute_summand_variable_name_clashes
(const lps::specification &p, const lps::specification &q) const¶Returns a substitution of variables in q such that there are no name clashes between the summation variables of p and q.
Parameters:
Returns: A substitution that should be applied to q to remove name clashes between p and q.
equals
(const lps::multi_action &a, const lps::multi_action &b) const¶Returns a pbes expression that expresses equality of the multi-actions a and b.
Parameters:
Returns: Necessary conditions for the equality of a and b
init
(const lps::linear_process &model, const lps::linear_process &spec)¶Initializes the name lookup table.
Parameters:
Pre: model and spec must have the same data specification
mu
() const¶Returns the fixpoint symbol mu.
Returns: The fixpoint symbol mu.
nu
() const¶Returns the fixpoint symbol nu.
Returns: The fixpoint symbol nu.
resolve_name_clashes
(const lps::specification &model, lps::specification &spec, bool include_summand_variables = false)¶Resolves name clashes between model and spec.
var
(const core::identifier_string &name, const data::data_expression_list ¶meters) const¶Creates a propositional variable.
Parameters:
Returns: The created propositional variable
var
(const core::identifier_string &name, const data::variable_list ¶meters) const¶Creates a propositional variable.
Parameters:
Returns: The created propositional variable
X
(const lps::linear_process &p, const lps::linear_process &q) const¶Creates a name for the propositional variable Xpq.
Parameters:
Returns: The name for the propositional variable Xpq
Y
(const lps::linear_process &p, const lps::linear_process &q) const¶Creates a name for the propositional variable Ypq.
Parameters:
Returns: The name for the propositional variable Ypq
Y
(const lps::linear_process &p, const lps::linear_process &q, my_iterator i) const¶Creates a name for the propositional variable Ypqi.
Pre: The iterator i must be in p.action_summands().
Parameters:
Returns: The name for the propositional variable Ypqi
Y1
(const lps::linear_process &p, const lps::linear_process &q, my_iterator i) const¶Creates a name for the propositional variable Y1pqi.
Pre: The iterator i must be in p.action_summands().
Parameters:
Returns: The name for the propositional variable Y1pqi
Y2
(const lps::linear_process &p, const lps::linear_process &q, my_iterator i) const¶Creates a name for the propositional variable Y2pqi.
Pre: The iterator i must be in p.action_summands().
Parameters:
Returns: The name for the propositional variable Y2pqi