|
mCRL2
|
The main namespace for the LPS library. More...
Namespaces | |
| namespace | anonymous_namespace{lps_summand_group.h} |
| namespace | detail |
| A class that takes a linear process specification and checks all tau-summands of that LPS for confluence. | |
| namespace | tools |
Classes | |
| struct | abortable |
| class | action_label_data_type |
| Models the mapping of mCRL2 action labels to integers. More... | |
| struct | action_label_traverser |
| \brief Traverser class More... | |
| class | action_rename_rule |
| Action rename rule. More... | |
| class | action_rename_specification |
| Action rename specification. More... | |
| class | action_rename_type_checker |
| class | action_summand |
| LPS summand containing a multi-action. More... | |
| struct | add_data_expressions |
| struct | add_data_variable_binding |
| Maintains a multiset of bound data variables during traversal. More... | |
| struct | add_data_variable_builder_binding |
| struct | add_data_variable_traverser_binding |
| struct | add_sort_expressions |
| struct | add_traverser_action_labels |
| struct | add_traverser_data_expressions |
| struct | add_traverser_identifier_strings |
| struct | add_traverser_sort_expressions |
| struct | add_traverser_variables |
| struct | add_variables |
| class | binary_algorithm |
| Algorithm class that can be used to apply the binary algorithm. More... | |
| class | breadth_first_todo_set |
| struct | cf_edge |
| struct | cf_graph |
| struct | cf_vertex |
| struct | commutative_confluence_condition |
| Function object that computes the condition for commutative confluence. More... | |
| class | confluence_checker |
| struct | confluence_summand |
| class | constelm_algorithm |
| Algorithm class for elimination of constant parameters. More... | |
| struct | counting_iterator |
| struct | data_expression_builder |
| \brief Builder class More... | |
| struct | data_expression_traverser |
| \brief Traverser class More... | |
| struct | data_rewriter |
| A rewriter that applies a data rewriter to data expressions in a term. More... | |
| class | dataspec_prune_rewriter |
| A rewriter that removes unused data specifications. More... | |
| class | deadlock |
| Represents a deadlock. More... | |
| class | deadlock_summand |
| LPS summand containing a deadlock. More... | |
| class | decluster_algorithm |
| class | depth_first_todo_set |
| class | explorer |
| struct | explorer_options |
| struct | explorer_summand |
| class | highway_todo_set |
| struct | identifier_string_traverser |
| \brief Traverser class More... | |
| class | invelm_algorithm |
| class | linear_process |
| linear process. More... | |
| class | linear_process_base |
| class | lps_parvalues_algorithm |
| struct | lps_statistics_t |
| Data structure to store the statistics about summands in a linear process. More... | |
| class | lpsparunfold |
| class | multi_action |
| \brief A timed multi-action More... | |
| class | multi_action_type_checker |
| class | parelm_algorithm |
| Algorithm class for elimination of unused parameters from a linear process specification. More... | |
| struct | parunfold_replacement |
| class | pins |
| class | pins_data_type |
| Models a pins data type. A pins data type maintains a mapping between known values of a data type and integers. More... | |
| class | probabilistic_data_expression |
| This class contains labels for probabilistic transistions, consisting of a numerator and a denumerator. More... | |
| class | process_initializer |
| A process initializer. More... | |
| struct | projection_cache_equality |
| struct | projection_cache_hash |
| struct | projection_cache_key |
| class | simulation |
| Simulation process. More... | |
| struct | sort_expression_builder |
| \brief Builder class More... | |
| struct | sort_expression_traverser |
| \brief Traverser class More... | |
| class | specification |
| Linear process specification. More... | |
| class | specification_base |
| struct | square_confluence_condition |
| Function object that computes the condition for square confluence. More... | |
| class | state_data_type |
| Models the mapping of mCRL2 state values to integers. More... | |
| class | state_probability_pair |
| class | stochastic_action_summand |
| LPS summand containing a multi-action. More... | |
| class | stochastic_distribution |
| \brief A stochastic distribution More... | |
| class | stochastic_linear_process |
| linear process. More... | |
| class | stochastic_process_initializer |
| A stochastic process initializer. More... | |
| class | stochastic_specification |
| Linear process specification. More... | |
| struct | stochastic_state |
| struct | stream_printer |
| Prints the object x to a stream. More... | |
| class | sumelm_algorithm |
| Class implementing the sum elimination lemma. More... | |
| class | suminst_algorithm |
| class | summand_base |
| Base class for LPS summands. More... | |
| struct | t_lin_options |
| Options for linearisation. More... | |
| class | todo_set |
| struct | triangular_confluence_condition |
| Function object that computes the condition for triangular confluence. More... | |
| struct | trivial_confluence_condition |
| Function object that computes the condition for triangular confluence. More... | |
| struct | unfold_cache_element |
| Element in the cache that keeps track of the information for a single unfolded sort, say s. More... | |
| class | untime_algorithm |
| struct | update_active_cfg_vertices_timer |
| struct | update_active_cfg_vertices_timer_reporter |
| struct | variable_builder |
| \brief Builder class More... | |
| struct | variable_traverser |
| \brief Traverser class More... | |
Enumerations | |
| enum class | exploration_strategy { es_none , es_breadth , es_depth , es_random , es_value_prioritized , es_value_random_prioritized , es_highway } |
| enum class | caching { none , local , global } |
| enum class | t_lin_method { lmStack , lmRegular , lmRegular2 } |
| The available linearisation methods. More... | |
| enum class | lps_rewriter_type { simplify , quantifier_one_point , condition_one_point , prune_dataspec } |
| An enumerated type for the available lps rewriters. More... | |
Functions | |
| template<typename DataRewriter , typename Specification > | |
| void | constelm (Specification &spec, const DataRewriter &R, bool instantiate_global_variables=false) |
| Removes zero or more constant parameters from the specification spec. | |
| mcrl2::lps::stochastic_specification | linearise (const mcrl2::process::process_specification &type_checked_spec, const mcrl2::lps::t_lin_options &lin_options=t_lin_options()) |
| Linearises a process specification. | |
| mcrl2::lps::stochastic_specification | linearise (const std::string &text, const mcrl2::lps::t_lin_options &lin_options=t_lin_options()) |
| Linearises a process specification from a textual specification. | |
| std::string | log_allow_block_application (const lps_statistics_t &lps_statistics_before, const lps_statistics_t &lps_statistics_after, const bool is_allow, const std::size_t num_allowed_multiactions, const std::size_t num_blocked_actions, const bool apply_delta_elimination, const bool ignore_time, size_t indent=0) |
| bool | allow_ (const detail::allow_list_cache &allow_cache, const process::action_list &multi_action, const process::action &termination_action) |
| Determine if multi_action is allowed by an allow expression in allow_list. | |
| template<typename Container > | |
| bool | encap (const Container &blocked_actions, const process::action_list &multiaction) |
| Calculate if any of the actions in multiaction is blocked by encap_list. | |
| bool | encap (const process::action_name_multiset_list &encaplist, const process::action_list &multiaction) |
| Calculate if any of the actions in multiaction is blocked by encap_list. | |
| void | allowblockcomposition (const process::action_name_multiset_list &allowlist1, const bool is_allow, stochastic_action_summand_vector &action_summands, deadlock_summand_vector &deadlock_summands, const process::action &termination_action, bool ignore_time, bool nodeltaelimination) |
| void | communicationcomposition (const process::communication_expression_list &communications, const process::action_name_multiset_list &allowlist, const bool is_allow, const bool is_block, stochastic_action_summand_vector &action_summands, deadlock_summand_vector &deadlock_summands, const process::action &terminationAction, const bool nosumelm, const bool nodeltaelimination, const bool ignore_time, const std::function< data::data_expression(const data::data_expression &)> &RewriteTerm) |
| std::string | log_hide_application (const lps_statistics_t &lps_statistics_before, const lps_statistics_t &lps_statistics_after, const std::size_t num_hidden_actions, size_t indent=0) |
| process::action_list | hide_ (const core::identifier_string_list &hidelist, const process::action_list &multiaction) |
| multi_action | hide_ (const core::identifier_string_list &hidelist, const multi_action &label) |
| stochastic_action_summand | hide_ (const core::identifier_string_list &hidelist, const stochastic_action_summand &summand) |
| void | hidecomposition (const core::identifier_string_list &hidelist, stochastic_action_summand_vector &action_summands) |
| std::string | log_rename_application (const lps_statistics_t &lps_statistics_before, const lps_statistics_t &lps_statistics_after, const std::size_t num_rename_expressions, size_t indent=0) |
| process::action | rename (const process::rename_expression_list &renamings, const process::action &action) |
| Apply renamings to a single action. | |
| process::action_list | rename (const process::rename_expression_list &renamings, const process::action_list &actions) |
| multi_action | rename (const process::rename_expression_list &renamings, const multi_action &multi_action) |
| stochastic_action_summand | rename (const process::rename_expression_list &renamings, const stochastic_action_summand &summand) |
| void | rename (const process::rename_expression_list &renamings, lps::stochastic_action_summand_vector &action_summands) |
| std::string | print (const lps_statistics_t &stats, std::size_t indent=0) |
| Print statistics of lps as indented block in YAML format. | |
| lps_statistics_t | get_statistics (const stochastic_action_summand_vector &action_summands) |
| lps_statistics_t | get_statistics (const stochastic_action_summand_vector &action_summands, const deadlock_summand_vector &deadlock_summands) |
| Get statistics for action and deadlock summands. | |
| process::action_list | sort_actions (const process::action_list &actions) |
| bool | implies_condition (const data::data_expression &c1, const data::data_expression &c2) |
| bool | subsumes (const stochastic_action_summand &as, const deadlock_summand &ds) |
| bool | subsumes (const deadlock_summand &ds1, const deadlock_summand &ds2) |
| Determine if delta summand ds1 subsumes delta summand ds2. | |
| void | insert_timed_delta_summand (const stochastic_action_summand_vector &action_summands, deadlock_summand_vector &deadlock_summands, const deadlock_summand &s, const bool ignore_time) |
| bool | occursinterm (const data::data_expression &t, const data::variable &var) |
| template<typename T , data::IsSubstitution Substitution, typename IdentifierGenerator > requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | replace_variables_capture_avoiding_with_an_identifier_generator (T &x, Substitution &sigma, IdentifierGenerator &id_generator) |
| template<typename T , data::IsSubstitution Substitution, typename IdentifierGenerator > requires std::is_base_of_v<atermpp::aterm, T> | |
| T | replace_variables_capture_avoiding_with_an_identifier_generator (const T &x, Substitution &sigma, IdentifierGenerator &id_generator) |
| bool | sumelm (action_summand &s) |
| Apply the sum elimination lemma to summand s. | |
| bool | sumelm (stochastic_action_summand &s) |
| Apply the sum elimination lemma to summand s. | |
| bool | sumelm (deadlock_summand &s) |
| Apply the sum elimination lemma to summand s. | |
| std::string | pp (const lps::action_summand &x, bool arg0) |
| std::string | pp (const lps::deadlock &x, bool arg0) |
| std::string | pp (const lps::deadlock_summand &x, bool arg0) |
| std::string | pp (const lps::linear_process &x, bool arg0) |
| std::string | pp (const lps::multi_action &x, bool arg0) |
| std::string | pp (const lps::process_initializer &x, bool arg0) |
| std::string | pp (const lps::specification &x, bool arg0) |
| std::string | pp (const lps::stochastic_action_summand &x, bool arg0) |
| std::string | pp (const lps::stochastic_distribution &x, bool arg0) |
| std::string | pp (const lps::stochastic_linear_process &x, bool arg0) |
| std::string | pp (const lps::stochastic_process_initializer &x, bool arg0) |
| std::string | pp (const lps::stochastic_specification &x, bool arg0) |
| lps::multi_action | normalize_sorts (const lps::multi_action &x, const data::sort_specification &sortspec) |
| void | normalize_sorts (lps::specification &x, const data::sort_specification &) |
| void | normalize_sorts (lps::stochastic_specification &x, const data::sort_specification &) |
| lps::multi_action | translate_user_notation (const lps::multi_action &x) |
| std::set< data::sort_expression > | find_sort_expressions (const lps::specification &x) |
| std::set< data::sort_expression > | find_sort_expressions (const lps::stochastic_specification &x) |
| std::set< data::variable > | find_all_variables (const lps::linear_process &x) |
| std::set< data::variable > | find_all_variables (const lps::stochastic_linear_process &x) |
| std::set< data::variable > | find_all_variables (const lps::specification &x) |
| std::set< data::variable > | find_all_variables (const lps::stochastic_specification &x) |
| std::set< data::variable > | find_all_variables (const lps::deadlock &x) |
| std::set< data::variable > | find_all_variables (const multi_action &x) |
| Returns all variables inside a multi-action. | |
| std::set< data::variable > | find_free_variables (const lps::linear_process &x) |
| std::set< data::variable > | find_free_variables (const lps::stochastic_linear_process &x) |
| std::set< data::variable > | find_free_variables (const lps::specification &x) |
| std::set< data::variable > | find_free_variables (const lps::stochastic_specification &x) |
| std::set< data::variable > | find_free_variables (const lps::deadlock &x) |
| std::set< data::variable > | find_free_variables (const lps::multi_action &x) |
| std::set< data::variable > | find_free_variables (const lps::process_initializer &x) |
| std::set< data::variable > | find_free_variables (const lps::stochastic_process_initializer &x) |
| std::set< data::function_symbol > | find_function_symbols (const lps::specification &x) |
| std::set< data::function_symbol > | find_function_symbols (const lps::stochastic_specification &x) |
| std::set< core::identifier_string > | find_identifiers (const lps::specification &x) |
| std::set< core::identifier_string > | find_identifiers (const lps::stochastic_specification &x) |
| std::set< process::action_label > | find_action_labels (const lps::linear_process &x) |
| std::set< process::action_label > | find_action_labels (const lps::process_initializer &x) |
| std::set< process::action_label > | find_action_labels (const lps::specification &x) |
| std::set< process::action_label > | find_action_labels (const lps::stochastic_specification &x) |
| std::string | pp_extended (const lps::stochastic_specification &x, const std::string &process_name, bool precedence_aware=true) |
| std::string | pp_extended (const specification &x, const std::string &process_name, bool precedence_aware, bool summand_numbers) |
| std::string | pp_extended (const stochastic_specification &x, const std::string &process_name, bool precedence_aware, bool summand_numbers) |
| bool | check_well_typedness (const linear_process &x) |
| bool | check_well_typedness (const stochastic_linear_process &x) |
| bool | check_well_typedness (const specification &x) |
| bool | check_well_typedness (const stochastic_specification &x) |
| template<typename T > requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | normalize_sorts (T &x, const data::sort_specification &sortspec) |
| template<typename T > requires (std::is_base_of_v<atermpp::aterm, T>) | |
| T | normalize_sorts (const T &x, const data::sort_specification &sortspec) |
| template<typename T > | |
| std::string | pp (const T &x, bool precedence_aware=true) |
| Returns a string representation of the object x. | |
| template<typename T > requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | translate_user_notation (T &x) |
| template<typename T > requires (std::is_base_of_v<atermpp::aterm, T>) | |
| T | translate_user_notation (const T &x) |
| atermpp::aterm | linear_process_specification_marker () |
| atermpp::aterm_ostream & | operator<< (atermpp::aterm_ostream &stream, const multi_action &action) |
| atermpp::aterm_istream & | operator>> (atermpp::aterm_istream &stream, multi_action &action) |
| atermpp::aterm_ostream & | operator<< (atermpp::aterm_ostream &stream, const deadlock_summand &summand) |
| atermpp::aterm_istream & | operator>> (atermpp::aterm_istream &stream, deadlock_summand &summand) |
| atermpp::aterm_ostream & | operator<< (atermpp::aterm_ostream &stream, const stochastic_action_summand &summand) |
| atermpp::aterm_istream & | operator>> (atermpp::aterm_istream &stream, stochastic_action_summand &summand) |
| template<typename ActionSummand > | |
| atermpp::aterm_ostream & | operator<< (atermpp::aterm_ostream &stream, const linear_process_base< ActionSummand > &lps) |
| template<typename ActionSummand > | |
| atermpp::aterm_istream & | operator>> (atermpp::aterm_istream &stream, linear_process_base< ActionSummand > &lps) |
| static void | write_spec (atermpp::aterm_ostream &stream, const stochastic_specification &spec) |
| static void | read_spec (atermpp::aterm_istream &stream, stochastic_specification &spec) |
| atermpp::aterm_ostream & | operator<< (atermpp::aterm_ostream &stream, const specification &spec) |
| Writes LPS to the stream. | |
| atermpp::aterm_ostream & | operator<< (atermpp::aterm_ostream &stream, const stochastic_specification &spec) |
| atermpp::aterm_istream & | operator>> (atermpp::aterm_istream &stream, specification &spec) |
| Reads LPS from the stream. | |
| atermpp::aterm_istream & | operator>> (atermpp::aterm_istream &stream, lps::stochastic_specification &spec) |
| template<typename Specification > | |
| void | save_lps (const Specification &spec, std::ostream &stream, const std::string &target="") |
| Save an LPS in the format specified. | |
| template<typename Specification > | |
| void | load_lps (Specification &spec, std::istream &stream, const std::string &source="") |
| Load LPS from file. | |
| template<typename Specification > | |
| void | save_lps (const Specification &spec, const std::string &filename) |
| Saves an LPS to a file. | |
| template<typename Specification > | |
| void | load_lps (Specification &spec, const std::string &filename) |
| Load LPS from file. | |
| void | complete_data_specification (stochastic_specification &spec) |
| Adds all sorts that appear in the process of l to the data specification of l. | |
| std::ostream & | operator<< (std::ostream &out, const stochastic_specification &x) |
| bool | operator== (const stochastic_specification &spec1, const stochastic_specification &spec2) |
| bool | operator!= (const stochastic_specification &spec1, const stochastic_specification &spec2) |
| Inequality operator. | |
| specification | remove_stochastic_operators (const stochastic_specification &spec) |
| Converts a stochastic specification to a specification. Throws an exception if non-empty distributions are encountered. | |
| template<typename Object > | |
| bool | check_well_typedness (const Object &o) |
| template<typename LinearProcess , typename InitialProcessExpression > | |
| atermpp::aterm | specification_to_aterm (const specification_base< LinearProcess, InitialProcessExpression > &spec) |
| Conversion to aterm. | |
| void | complete_data_specification (specification &spec) |
| Adds all sorts that appear in the process of l to the data specification of l. | |
| bool | is_specification (const atermpp::aterm &x) |
| Test for a specification expression. | |
| std::ostream & | operator<< (std::ostream &out, const specification &x) |
| bool | operator== (const specification &spec1, const specification &spec2) |
| Equality operator. | |
| bool | operator!= (const specification &spec1, const specification &spec2) |
| Inequality operator. | |
| template<template< class > class Builder, template< template< class > class, class, class > class Binder> | |
| parunfold_replacement< Builder, Binder > | apply_parunfold_replacement_builder (const lpsparunfold::case_func_replacement &case_funcs, data::set_identifier_generator &id_generator) |
| template<typename T > requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | insert_case_functions (T &x, const lpsparunfold::case_func_replacement &cfv, data::set_identifier_generator &id_generator) |
| template<typename T > requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | insert_case_functions (T &x, const lpsparunfold::case_func_replacement &cfv) |
| template<typename T , typename Substitution > requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | replace_sort_expressions (T &x, const Substitution &sigma, bool innermost) |
| template<typename T , typename Substitution > requires std::is_base_of_v<atermpp::aterm, T> | |
| T | replace_sort_expressions (const T &x, const Substitution &sigma, bool innermost) |
| template<typename T , data::IsSubstitution Substitution> requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | replace_data_expressions (T &x, const Substitution &sigma, bool innermost) |
| template<typename T , data::IsSubstitution Substitution> requires std::is_base_of_v<atermpp::aterm, T> | |
| T | replace_data_expressions (const T &x, const Substitution &sigma, bool innermost) |
| template<typename T , data::IsSubstitution Substitution> requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | replace_variables (T &x, const Substitution &sigma) |
| template<typename T , data::IsSubstitution Substitution> requires std::is_base_of_v<atermpp::aterm, T> | |
| T | replace_variables (const T &x, const Substitution &sigma) |
| template<typename T , data::IsSubstitution Substitution> requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | replace_all_variables (T &x, const Substitution &sigma) |
| template<typename T , data::IsSubstitution Substitution> requires std::is_base_of_v<atermpp::aterm, T> | |
| T | replace_all_variables (const T &x, const Substitution &sigma) |
| template<typename T , data::IsSubstitution Substitution> requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | replace_free_variables (T &x, const Substitution &sigma) |
| template<typename T , data::IsSubstitution Substitution> requires std::is_base_of_v<atermpp::aterm, T> | |
| T | replace_free_variables (const T &x, const Substitution &sigma) |
| template<typename T , data::IsSubstitution Substitution, typename VariableContainer > requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | replace_free_variables (T &x, const Substitution &sigma, const VariableContainer &bound_variables) |
| template<typename T , data::IsSubstitution Substitution, typename VariableContainer > requires std::is_base_of_v<atermpp::aterm, T> | |
| T | replace_free_variables (const T &x, const Substitution &sigma, const VariableContainer &bound_variables) |
| template<data::IsSubstitution Substitution> | |
| void | replace_process_parameters (specification &spec, Substitution sigma) |
| Applies a substitution to the process parameters of the specification spec. | |
| void | replace_summand_variables (specification &spec, data::mutable_map_substitution<> &sigma) |
| Applies a substitution to the process parameters of the specification spec. | |
| std::string | print_probability (const data::data_expression &x) |
| void | check_probability (const data::data_expression &x, const data::rewriter &rewr) |
| void | check_stochastic_state (const stochastic_state &s, const data::rewriter &rewr) |
| atermpp::aterm | action_rename_rule_to_aterm (const action_rename_rule &rule) |
| atermpp::aterm | action_rename_specification_to_aterm (const action_rename_specification &spec) |
| lps::stochastic_specification | action_rename (const action_rename_specification &action_rename_spec, const lps::stochastic_specification &lps_old_spec, const data::rewriter &rewr, const bool enable_rewriting) |
| Rename the actions in a linear specification using a given action_rename_spec. | |
| stochastic_specification | action_rename (const std::regex &matching_regex, const std::string &replacing_fmt, const stochastic_specification &lps_old_spec) |
| Rename actions in given specification based on a regular expression and a string that specifies how the replacement should be formatted. | |
| std::ostream & | operator<< (std::ostream &out, const action_summand &x) |
| void | swap (action_summand &t1, action_summand &t2) noexcept |
| \brief swap overload | |
| bool | operator< (const action_summand &x, const action_summand &y) |
| Comparison operator for action summands. | |
| bool | operator== (const action_summand &x, const action_summand &y) |
| Equality operator of action summands. | |
| atermpp::aterm | action_summand_to_aterm (const action_summand &s) |
| Conversion to aterm. | |
| std::size_t | nr_of_booleans_for_elements (std::size_t n) |
| template<typename Summand > | |
| const stochastic_distribution & | summand_distribution (const Summand &) |
| template<> | |
| const stochastic_distribution & | summand_distribution (const lps::stochastic_action_summand &summand) |
| std::set< data::variable > | used_read_variables (const action_summand &summand) |
| std::set< data::variable > | changed_variables (const action_summand &summand) |
| data::assignment_list | make_assignment_list (const data::variable_list &variables, const data::data_expression_list &expressions) |
| std::string | print_confluence_summand (const confluence_summand &summand, const data::variable_list &process_parameters) |
| bool | disjoint (const confluence_summand &summand1, const confluence_summand &summand2) |
| Indicates whether or not two summands are disjoint. | |
| process::action_label | make_ctau_act_id () |
| Creates an identifier for the ctau action. | |
| process::action | make_ctau_action () |
| Creates the ctau action. | |
| template<typename Specification > | |
| bool | has_ctau_action (const Specification &lpsspec) |
| std::ostream & | operator<< (std::ostream &out, const deadlock &x) |
| void | swap (deadlock &t1, deadlock &t2) noexcept |
| \brief swap overload | |
| std::ostream & | operator<< (std::ostream &out, const deadlock_summand &x) |
| void | swap (deadlock_summand &t1, deadlock_summand &t2) noexcept |
| \brief swap overload | |
| atermpp::aterm | deadlock_summand_to_aterm (const deadlock_summand &s) |
| Conversion to atermappl. | |
| exploration_strategy | parse_exploration_strategy (const std::string &s) |
| std::string | print_exploration_strategy (const exploration_strategy es) |
| std::istream & | operator>> (std::istream &is, exploration_strategy &strat) |
| std::ostream & | operator<< (std::ostream &os, const exploration_strategy strat) |
| std::string | description (const exploration_strategy strat) |
| bool | cfg_mentions_summand (const cf_graph &G, std::size_t s) |
| void | initialize_control_flow_bitsets (cf_graph &G, const edge_label_map &edge_labels, std::size_t number_of_summands) |
| void | print_edge_label_map (const edge_label_map &m) |
| std::vector< cf_graph > | extract_local_control_flow_graphs (const pbes_system::detail::lpsstategraph_algorithm &algorithm) |
| std::vector< cf_graph > | compute_control_flow_graphs (lps::specification &lpsspec, const pbes_system::pbesstategraph_options &stategraph_options, bool compute_marking=false) |
| template<typename Bitset > | |
| void | print_bitset (std::ostream &os, const Bitset &bs) |
| void | print_graph (const cf_graph &G) |
| bool | cfg_allows_summand (std::size_t summand, const data::mutable_indexed_substitution<> &sigma, const std::vector< data::variable > &process_parameters, const std::vector< cf_graph > &cfgs) |
| template<typename Container > | |
| void | update_active_cfg_vertices (const data::mutable_indexed_substitution<> &sigma, const std::vector< data::variable > &process_parameters, const std::vector< cf_graph > &cfgs, Container &active_cfg_vertices) |
| template<typename Container = boost::container::small_vector<std::size_t, 64>> | |
| Container | compute_active_cfg_vertices (const data::mutable_indexed_substitution<> &sigma, const std::vector< data::variable > &process_parameters, const std::vector< cf_graph > &cfgs) |
| template<typename Container > | |
| bool | cfg_allows_summand (std::size_t summand, const std::vector< cf_graph > &cfgs, const Container &active_cfg_vertices) |
| template<typename State > | |
| void | report_cfg_error (std::size_t summand, const State &state, const std::vector< cf_graph > &cfgs) |
| std::ostream & | operator<< (std::ostream &out, const explorer_options &options) |
| template<typename Specification > | |
| std::map< data::variable, std::size_t > | compute_process_parameter_index (const Specification &lpsspec) |
| Assigns a unique index to every parameter of the process. | |
| template<typename Specification > | |
| std::pair< std::vector< std::vector< std::size_t > >, std::vector< std::vector< std::size_t > > > | compute_read_write_patterns_separated (const Specification &lpsspec) |
| std::set< data::function_symbol > | add_real_operators (std::set< data::function_symbol > s) |
| template<typename Specification > | |
| data::rewriter | construct_rewriter (const Specification &lpsspec, data::rewrite_strategy rewrite_strategy, bool remove_unused_rewrite_rules) |
| std::ostream & | operator<< (std::ostream &os, caching c) |
| std::vector< data::data_expression > | make_data_expression_vector (const data::data_expression_list &v) |
| template<> | |
| const stochastic_distribution & | summand_distribution (const lps::stochastic_action_summand &summand) |
| const stochastic_distribution & | initial_distribution (const lps::specification &) |
| const stochastic_distribution & | initial_distribution (const lps::stochastic_specification &lpsspec) |
| std::ostream & | operator<< (std::ostream &out, const explorer_summand &summand) |
| template<typename T , typename OutputIterator > | |
| void | find_all_variables (const T &x, OutputIterator o) |
| Writes all variables that occur in an object to an output iterator. | |
| template<typename T > | |
| std::set< data::variable > | find_all_variables (const T &x) |
| Returns all variables that occur in an object. | |
| template<typename T , typename OutputIterator > | |
| void | find_free_variables (const T &x, OutputIterator o) |
| Writes all free variables that occur in an object to an output iterator. | |
| template<typename T , typename OutputIterator , typename VariableContainer > | |
| void | find_free_variables_with_bound (const T &x, OutputIterator o, const VariableContainer &bound) |
| Writes all free variables that occur in an object to an output iterator. | |
| template<typename T > | |
| std::set< data::variable > | find_free_variables (const T &x) |
| Returns all free variables that occur in an object. | |
| template<typename T , typename VariableContainer > | |
| std::set< data::variable > | find_free_variables_with_bound (const T &x, VariableContainer const &bound) |
| Returns all free variables that occur in an object. | |
| template<typename T , typename OutputIterator > | |
| void | find_identifiers (const T &x, OutputIterator o) |
| Writes all identifiers that occur in an object to an output iterator. | |
| template<typename T > | |
| std::set< core::identifier_string > | find_identifiers (const T &x) |
| Returns all identifiers that occur in an object. | |
| template<typename T , typename OutputIterator > | |
| void | find_sort_expressions (const T &x, OutputIterator o) |
| Writes all sort expressions that occur in an object to an output iterator. | |
| template<typename T > | |
| std::set< data::sort_expression > | find_sort_expressions (const T &x) |
| Returns all sort expressions that occur in an object. | |
| template<typename T , typename OutputIterator > | |
| void | find_function_symbols (const T &x, OutputIterator o) |
| Writes all function symbols that occur in an object to an output iterator. | |
| template<typename T > | |
| std::set< data::function_symbol > | find_function_symbols (const T &x) |
| Returns all function symbols that occur in an object. | |
| template<typename T > | |
| bool | search_free_variable (const T &x, const data::variable &v) |
| Returns true if the term has a given free variable as subterm. | |
| template<typename T , typename OutputIterator > | |
| void | find_action_labels (const T &x, OutputIterator o) |
| Returns all action labels that occur in an object. | |
| template<typename T > | |
| std::set< process::action_label > | find_action_labels (const T &x) |
| Returns all action labels that occur in an object. | |
| template<class OutputIterator > | |
| void | find_all_variables (const multi_action &x, OutputIterator o) |
| Returns all variables inside a multi-action. | |
| template<typename Node , typename GenerateSuccessors > | |
| Node | find_representative (Node &u0, GenerateSuccessors generate_successors) |
| Search for a unique representative in a graph. | |
| template<typename T > requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | if_rewrite (T &x) |
| Applies the if rewriter to all embedded data expressions in an object x. | |
| template<typename T > requires (std::is_base_of_v<atermpp::aterm, T>) | |
| T | if_rewrite (const T &x) |
| Applies the if rewriter to all embedded data expressions in an object x. | |
| template<typename T > | |
| bool | is_stochastic (const T &x) |
| Returns true if the LPS object x contains a stochastic distribution in one of its attributes. | |
| template<typename ActionSummand > | |
| atermpp::aterm | linear_process_to_aterm (const linear_process_base< ActionSummand > &p) |
| Conversion to aterm. | |
| std::ostream & | operator<< (std::ostream &out, const linear_process &x) |
| bool | is_linear_process (const atermpp::aterm &x) |
| Test for a linear_process expression. | |
| std::string | print_lin_method (const t_lin_method lin_method) |
| String representation of a linearisation method. | |
| std::string | description (const t_lin_method lin_method) |
| t_lin_method | parse_lin_method (const std::string &s) |
| Parse a linearisation method. | |
| std::istream & | operator>> (std::istream &is, t_lin_method &l) |
| std::ostream & | operator<< (std::ostream &os, const t_lin_method l) |
| lps_rewriter_type | parse_lps_rewriter_type (const std::string &type) |
| Parses a lps rewriter type. | |
| std::string | print_lps_rewriter_type (const lps_rewriter_type type) |
| Prints a lps rewriter type. | |
| std::string | description (const lps_rewriter_type type) |
| Returns a description of a lps rewriter. | |
| std::istream & | operator>> (std::istream &is, lps_rewriter_type &t) |
| Stream operator for rewriter type. | |
| std::ostream & | operator<< (std::ostream &os, const lps_rewriter_type t) |
| std::vector< std::string > | generate_values (const data::data_specification &dataspec, const data::sort_expression &s, std::size_t max_size=1000) |
| Generates possible values of the data type (at most max_size). | |
| bool | is_multi_action (const atermpp::aterm &x) |
| std::ostream & | operator<< (std::ostream &out, const multi_action &x) |
| void | swap (multi_action &t1, multi_action &t2) noexcept |
| \brief swap overload | |
| template<class... ARGUMENTS> | |
| void | make_multi_action (atermpp::aterm &t, const ARGUMENTS &... args) |
| data::data_expression | equal_multi_actions (const multi_action &a, const multi_action &b) |
| Returns a data expression that expresses under which conditions the multi actions a and b are equal. The multi actions may contain free variables. | |
| data::data_expression | not_equal_multi_actions (const multi_action &a, const multi_action &b) |
| Returns a pbes expression that expresses under which conditions the multi actions a and b are not equal. The multi actions may contain free variables. | |
| template<typename T > requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | one_point_rule_rewrite (T &x) |
| Applies the one point rule rewriter to all embedded data expressions in an object x. | |
| template<typename T > requires (std::is_base_of_v<atermpp::aterm, T>) | |
| T | one_point_rule_rewrite (const T &x) |
| Applies the one point rule rewriter to all embedded data expressions in an object x. | |
| template<typename Specification > | |
| void | order_summand_variables (Specification &lpsspec) |
| Order summand variables to make enumeration over these variables more efficient. | |
| template<typename Specification > | |
| void | parelm (Specification &spec, bool variant1=true) |
| Removes unused parameters from a linear process specification. | |
| multi_action | parse_multi_action (std::stringstream &in, const process::action_label_list &action_decls, const data::data_specification &data_spec=data::detail::default_specification()) |
| Parses a multi_action from an input stream. | |
| multi_action | parse_multi_action (std::stringstream &in, multi_action_type_checker &typechecker, const data::data_specification &data_spec=data::detail::default_specification()) |
| Parses a multi_action from an input stream. | |
| multi_action | parse_multi_action (const std::string &text, const process::action_label_list &action_decls, const data::data_specification &data_spec=data::detail::default_specification()) |
| Parses a multi_action from a string. | |
| multi_action | parse_multi_action (const std::string &text, multi_action_type_checker &typechecker, const data::data_specification &data_spec=data::detail::default_specification()) |
| Parses a multi_action from a string. | |
| action_rename_specification | parse_action_rename_specification (std::istream &in, const lps::stochastic_specification &spec) |
| Parses a process specification from an input stream. | |
| action_rename_specification | parse_action_rename_specification (const std::string &spec_string, const lps::stochastic_specification &spec) |
Parses an action rename specification. Parses an action rename specification. If the action rename specification contains data types that are not present in the data specification of spec they are added to it. | |
| specification | parse_linear_process_specification (std::istream &spec_stream) |
| Parses a linear process specification from an input stream. | |
| specification | parse_linear_process_specification (const std::string &text) |
| Parses a linear process specification from a string. | |
| template<typename Specification > | |
| void | parse_lps (std::istream &, Specification &) |
| template<> | |
| void | parse_lps< specification > (std::istream &from, specification &result) |
| template<> | |
| void | parse_lps< stochastic_specification > (std::istream &from, stochastic_specification &result) |
| Parses a stochastic linear process specification from an input stream. | |
| template<typename Specification > | |
| void | parse_lps (const std::string &text, Specification &result) |
| process::action | parse_action (const std::string &text, const process::action_label_list &action_decls, const data::data_specification &data_spec=data::detail::default_specification()) |
| Parses an action from a string. | |
| std::string | pp (const probabilistic_data_expression &l) |
| std::ostream & | operator<< (std::ostream &out, const probabilistic_data_expression &x) |
| Pretty print to an outstream. | |
| template<class EXPRESSION_LIST > | |
| void | make_process_initializer (atermpp::aterm &t, EXPRESSION_LIST args) |
| bool | is_process_initializer (const atermpp::aterm &x) |
| std::ostream & | operator<< (std::ostream &out, const process_initializer &x) |
| void | swap (process_initializer &t1, process_initializer &t2) noexcept |
| \brief swap overload | |
| template<typename Object > | |
| void | remove_parameters (Object &x, const std::set< data::variable > &to_be_removed) |
| Rewrites an LPS data type. | |
| template<typename Specification > | |
| void | remove_trivial_summands (Specification &spec) |
| Removes summands with condition equal to false from a linear process specification. | |
| template<typename Specification > | |
| void | remove_singleton_sorts (Specification &spec) |
| Removes parameters with a singleton sort from a linear process specification. | |
| data::assignment_list | remove_redundant_assignments (const data::assignment_list &assignments, const data::variable_list &do_not_remove) |
| Removes assignments of the form x := x from v for variables x that are not contained in do_not_remove. | |
| template<typename Specification > | |
| void | remove_redundant_assignments (Specification &lpsspec) |
| Removes redundant assignments of the form x = x from an LPS specification. | |
| template<typename T , data::IsSubstitution Substitution> requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | replace_variables_capture_avoiding (T &x, Substitution &sigma, data::set_identifier_generator &id_generator) |
| template<typename T , data::IsSubstitution Substitution> requires std::is_base_of_v<atermpp::aterm, T> | |
| T | replace_variables_capture_avoiding (const T &x, Substitution &sigma, data::set_identifier_generator &id_generator) |
| template<typename T , data::IsSubstitution Substitution> requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | replace_variables_capture_avoiding (T &x, Substitution &sigma) |
| template<typename T , data::IsSubstitution Substitution> requires std::is_base_of_v<atermpp::aterm, T> | |
| T | replace_variables_capture_avoiding (const T &x, Substitution &sigma) |
| template<typename Substitution > | |
| stochastic_distribution | replace_variables_capture_avoiding (const stochastic_distribution &x, data::data_expression_list &pars, Substitution &sigma, data::set_identifier_generator &id_generator) |
| template<typename Substitution > | |
| stochastic_distribution | replace_variables_capture_avoiding (const stochastic_distribution &x, data::data_expression_list &pars, Substitution &sigma) |
| template<typename T > requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | replace_constants_by_variables (T &x, const data::rewriter &r, data::mutable_indexed_substitution<> &sigma) |
| Replace each constant data application c in x by a fresh variable v, and add extend the substitution sigma with the assignment v := r(c). This can be used in rewriting, to avoid that c is rewritten by the rewriter multiple times. | |
| template<typename T > requires (std::is_base_of_v<atermpp::aterm, T>) | |
| T | replace_constants_by_variables (const T &x, const data::rewriter &r, data::mutable_indexed_substitution<> &sigma) |
| Replace each constant data application c in x by a fresh variable v, and add extend the substitution sigma with the assignment v := r(c). This can be used in rewriting, to avoid that c is rewritten by the rewriter multiple times. | |
| template<typename Specification > | |
| void | resolve_summand_variable_name_clashes (Specification &spec) |
| Renames summand variables such that there are no name clashes between summand variables and process parameters. | |
| template<typename T , typename Rewriter > requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | rewrite (T &x, Rewriter R) |
| template<typename T , typename Rewriter > requires std::is_base_of_v<atermpp::aterm, T> | |
| T | rewrite (const T &x, Rewriter R) |
| template<typename T , typename Rewriter , data::IsSubstitution Substitution> requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | rewrite (T &x, Rewriter R, const Substitution &sigma) |
| template<typename T , typename Rewriter , data::IsSubstitution Substitution> requires std::is_base_of_v<atermpp::aterm, T> | |
| T | rewrite (const T &x, Rewriter R, const Substitution &sigma) |
| template<typename T , typename DataRewriter > requires (!std::is_base_of_v<atermpp::aterm, T>) | |
| void | one_point_condition_rewrite (T &x, const DataRewriter &R) |
| Applies the one point condition rewriter to all embedded data expressions in an object x. | |
| template<typename T , typename DataRewriter > requires (std::is_base_of_v<atermpp::aterm, T>) | |
| T | one_point_condition_rewrite (const T &x, const DataRewriter &R) |
| Applies the one point condition rewriter to all embedded data expressions in an object x. | |
| template<class ForwardTraversalIterator , class Transformer > | |
| void | make_state (state &result, ForwardTraversalIterator p, const std::size_t size, Transformer transformer) |
| template<class ForwardTraversalIterator > | |
| void | make_state (state &result, ForwardTraversalIterator p, const std::size_t size) |
| std::string | pp (const lps::state &x) |
| std::ostream & | operator<< (std::ostream &out, const stochastic_action_summand &x) |
| void | swap (stochastic_action_summand &t1, stochastic_action_summand &t2) noexcept |
| \brief swap overload | |
| bool | operator< (const stochastic_action_summand &x, const stochastic_action_summand &y) |
| Comparison operator for action summands. | |
| bool | operator== (const stochastic_action_summand &x, const stochastic_action_summand &y) |
| Equality operator of stochastic action summands. | |
| atermpp::aterm | action_summand_to_aterm (const stochastic_action_summand &s) |
| Conversion to aterm. | |
| template<class... ARGUMENTS> | |
| void | make_stochastic_distribution (atermpp::aterm &t, const ARGUMENTS &... args) |
| bool | is_stochastic_distribution (const atermpp::aterm &x) |
| std::ostream & | operator<< (std::ostream &out, const stochastic_distribution &x) |
| void | swap (stochastic_distribution &t1, stochastic_distribution &t2) noexcept |
| \brief swap overload | |
| std::ostream & | operator<< (std::ostream &out, const stochastic_linear_process &x) |
| template<class... ARGUMENTS> | |
| void | make_stochastic_process_initializer (atermpp::aterm &t, ARGUMENTS... args) |
| bool | is_stochastic_process_initializer (const atermpp::aterm &x) |
| std::ostream & | operator<< (std::ostream &out, const stochastic_process_initializer &x) |
| void | swap (stochastic_process_initializer &t1, stochastic_process_initializer &t2) noexcept |
| \brief swap overload | |
| std::set< data::sort_expression > | finite_sorts (const data::data_specification &s) |
| Return a set with all finite sorts in data specification s. | |
| multi_action | typecheck_multi_action (process::untyped_multi_action &mult_act, const data::data_specification &data_spec, const process::action_label_list &action_decls) |
| Type check a multi action Throws an exception if something went wrong. | |
| multi_action | typecheck_multi_action (process::untyped_multi_action &mult_act, multi_action_type_checker &typechecker) |
| Type check a multi action Throws an exception if something went wrong. | |
| action_rename_specification | typecheck_action_rename_specification (const action_rename_specification &arspec, const lps::stochastic_specification &lpsspec) |
| Type checks an action rename specification. | |
Variables | |
| update_active_cfg_vertices_timer_reporter | update_active_cfg_vertices_timer_reporter_instance |
The main namespace for the LPS library.
| using mcrl2::lps::action_summand_list = typedef atermpp::term_list<action_summand> |
\brief list of action_summands
Definition at line 113 of file action_summand.h.
| using mcrl2::lps::action_summand_vector = typedef std::vector<action_summand> |
\brief vector of action_summands
Definition at line 116 of file action_summand.h.
| using mcrl2::lps::deadlock_list = typedef atermpp::term_list<deadlock> |
\brief list of deadlocks
Definition at line 86 of file deadlock.h.
| using mcrl2::lps::deadlock_summand_list = typedef atermpp::term_list<deadlock_summand> |
\brief list of deadlock_summands
Definition at line 78 of file deadlock_summand.h.
| using mcrl2::lps::deadlock_summand_vector = typedef std::vector<deadlock_summand> |
\brief vector of deadlock_summands
Definition at line 81 of file deadlock_summand.h.
| using mcrl2::lps::deadlock_vector = typedef std::vector<deadlock> |
\brief vector of deadlocks
Definition at line 89 of file deadlock.h.
| using mcrl2::lps::edge_label_map = typedef std::unordered_map<const cf_edge*, std::set<std::size_t> > |
Definition at line 54 of file explorer_control_flow.h.
| using mcrl2::lps::multi_action_list = typedef atermpp::term_list<multi_action> |
\brief list of multi_actions
Definition at line 89 of file multi_action.h.
| using mcrl2::lps::multi_action_vector = typedef std::vector<multi_action> |
\brief vector of multi_actions
Definition at line 92 of file multi_action.h.
| using mcrl2::lps::process_initializer_list = typedef atermpp::term_list<process_initializer> |
\brief list of process_initializers
Definition at line 74 of file process_initializer.h.
| using mcrl2::lps::process_initializer_vector = typedef std::vector<process_initializer> |
\brief vector of process_initializers
Definition at line 77 of file process_initializer.h.
| using mcrl2::lps::projected_transition = typedef std::pair<multi_action, state> |
Definition at line 100 of file explorer_projections.h.
| using mcrl2::lps::projection_cache_map = typedef atermpp::utilities::unordered_map<lps::state, std::vector<projected_transition>, projection_cache_hash, projection_cache_equality, std::allocator<std::pair<lps::state, std::vector<projected_transition> >>, true> |
Definition at line 172 of file explorer_utilities.h.
| using mcrl2::lps::state = typedef atermpp::term_balanced_tree<data::data_expression> |
| using mcrl2::lps::stochastic_action_summand_list = typedef atermpp::term_list<stochastic_action_summand> |
\brief list of stochastic_action_summands
Definition at line 70 of file stochastic_action_summand.h.
| using mcrl2::lps::stochastic_action_summand_vector = typedef std::vector<stochastic_action_summand> |
\brief vector of stochastic_action_summands
Definition at line 73 of file stochastic_action_summand.h.
| using mcrl2::lps::stochastic_distribution_list = typedef atermpp::term_list<stochastic_distribution> |
\brief list of stochastic_distributions
Definition at line 76 of file stochastic_distribution.h.
| using mcrl2::lps::stochastic_distribution_vector = typedef std::vector<stochastic_distribution> |
\brief vector of stochastic_distributions
Definition at line 79 of file stochastic_distribution.h.
| using mcrl2::lps::stochastic_process_initializer_list = typedef atermpp::term_list<stochastic_process_initializer> |
\brief list of stochastic_process_initializers
Definition at line 58 of file stochastic_process_initializer.h.
| using mcrl2::lps::stochastic_process_initializer_vector = typedef std::vector<stochastic_process_initializer> |
\brief vector of stochastic_process_initializers
Definition at line 61 of file stochastic_process_initializer.h.
| using mcrl2::lps::summand_cache_map = typedef atermpp::utilities::unordered_map<atermpp::aterm, atermpp::term_list<data::data_expression_list>, detail::cache_hash, detail::cache_equality, std::allocator<std::pair<atermpp::aterm, atermpp::term_list<data::data_expression_list> >>, true> |
Definition at line 165 of file explorer_utilities.h.
|
strong |
| Enumerator | |
|---|---|
| none | |
| local | |
| global | |
Definition at line 49 of file explorer_utilities.h.
|
strong |
| Enumerator | |
|---|---|
| es_none | |
| es_breadth | |
| es_depth | |
| es_random | |
| es_value_prioritized | |
| es_value_random_prioritized | |
| es_highway | |
Definition at line 19 of file exploration_strategy.h.
|
strong |
An enumerated type for the available lps rewriters.
| Enumerator | |
|---|---|
| simplify | |
| quantifier_one_point | |
| condition_one_point | |
| prune_dataspec | |
Definition at line 22 of file lps_rewriter_type.h.
|
strong |
The available linearisation methods.
| Enumerator | |
|---|---|
| lmStack | |
| lmRegular | |
| lmRegular2 | |
Definition at line 21 of file linearisation_method.h.
|
inline |
Rename the actions in a linear specification using a given action_rename_spec.
The actions in a linear specification are renamed according to a given action rename specification. Note that the rules are applied in the order they appear in the specification. This yield quite elaborate conditions in the resulting lps, as a latter rule can only be applied if an earlier rule is not applicable. Note also that there is always a default summand, where the action is not renamed. Using sum elimination and rewriting a substantial reduction of the conditions that are generated can be obtained, often allowing many summands to be removed.
| action_rename_spec | The action_rename_specification to be used. |
| lps_old_spec | The input linear specification. |
| rewr | A data rewriter. |
Definition at line 414 of file action_rename.h.
|
inline |
Rename actions in given specification based on a regular expression and a string that specifies how the replacement should be formatted.
Definition at line 781 of file action_rename.h.
|
inline |
Definition at line 244 of file action_rename.h.
|
inline |
Definition at line 250 of file action_rename.h.
|
inline |
Conversion to aterm.
Definition at line 169 of file action_summand.h.
|
inline |
Conversion to aterm.
Definition at line 115 of file stochastic_action_summand.h.
|
inline |
Definition at line 26 of file explorer_utilities.h.
|
inline |
Determine if multi_action is allowed by an allow expression in allow_list.
Calculates if the names of the action in multi_action match with an expression in allow_list. If multi_action is the termination action, or multi_action is the empty multiaction, the result is also true.
Definition at line 105 of file linearise_allow_block.h.
|
inline |
Calculate the application of the allow or block operator over the action summands.
| allowlist1 | the allowset. If is_allow is false, the list has length 1, and its only element contains the blocked actions. |
| is_allow | determines if we calculate the allow or the block operator |
| action_summands | the summands over which to compute the operator |
| deadlock_summands | the deadlock summands tha may be extended. |
| termination_action | the termination action generated by the linearizer. This action is always allowed. |
| ignore_time | if true, and nodeltaelimination is false, a true->delta summand is added that subsumes all other deadlock summands |
| nodeltaaelimination | do not eliminate deadlock summands. |
Cache the list of allowed actions, to avoid linear searches in the allow list.
Definition at line 185 of file linearise_allow_block.h.
| parunfold_replacement< Builder, Binder > mcrl2::lps::apply_parunfold_replacement_builder | ( | const lpsparunfold::case_func_replacement & | case_funcs, |
| data::set_identifier_generator & | id_generator | ||
| ) |
Definition at line 759 of file lpsparunfoldlib.h.
|
inline |
Definition at line 332 of file explorer_control_flow.h.
| bool mcrl2::lps::cfg_allows_summand | ( | std::size_t | summand, |
| const std::vector< cf_graph > & | cfgs, | ||
| const Container & | active_cfg_vertices | ||
| ) |
Definition at line 420 of file explorer_control_flow.h.
|
inline |
Definition at line 57 of file explorer_control_flow.h.
|
inline |
Definition at line 101 of file confluence.h.
|
inline |
Definition at line 66 of file stochastic_state.h.
|
inline |
Definition at line 88 of file stochastic_state.h.
| bool mcrl2::lps::check_well_typedness | ( | const linear_process & | x | ) |
| bool mcrl2::lps::check_well_typedness | ( | const Object & | o | ) |
| bool mcrl2::lps::check_well_typedness | ( | const specification & | x | ) |
| bool mcrl2::lps::check_well_typedness | ( | const stochastic_linear_process & | x | ) |
| bool mcrl2::lps::check_well_typedness | ( | const stochastic_specification & | x | ) |
|
inline |
Definition at line 906 of file linearise_communication.h.
|
inline |
Adds all sorts that appear in the process of l to the data specification of l.
| spec | A linear process specification |
Definition at line 252 of file specification.h.
|
inline |
Adds all sorts that appear in the process of l to the data specification of l.
| spec | A linear process specification |
Definition at line 101 of file stochastic_specification.h.
| Container mcrl2::lps::compute_active_cfg_vertices | ( | const data::mutable_indexed_substitution<> & | sigma, |
| const std::vector< data::variable > & | process_parameters, | ||
| const std::vector< cf_graph > & | cfgs | ||
| ) |
Definition at line 410 of file explorer_control_flow.h.
|
inline |
Definition at line 236 of file explorer_control_flow.h.
| std::map< data::variable, std::size_t > mcrl2::lps::compute_process_parameter_index | ( | const Specification & | lpsspec | ) |
Assigns a unique index to every parameter of the process.
Definition at line 24 of file explorer_projections.h.
| std::pair< std::vector< std::vector< std::size_t > >, std::vector< std::vector< std::size_t > > > mcrl2::lps::compute_read_write_patterns_separated | ( | const Specification & | lpsspec | ) |
Definition at line 37 of file explorer_projections.h.
| void mcrl2::lps::constelm | ( | Specification & | spec, |
| const DataRewriter & | R, | ||
| bool | instantiate_global_variables = false |
||
| ) |
Removes zero or more constant parameters from the specification spec.
| spec | A linear process specification |
| R | A data rewriter |
| instantiate_global_variables | If true, free variables may be instantiated as a side effect of the algorithm |
Definition at line 269 of file constelm.h.
| data::rewriter mcrl2::lps::construct_rewriter | ( | const Specification & | lpsspec, |
| data::rewrite_strategy | rewrite_strategy, | ||
| bool | remove_unused_rewrite_rules | ||
| ) |
Definition at line 35 of file explorer_utilities.h.
|
inline |
Conversion to atermappl.
Definition at line 106 of file deadlock_summand.h.
|
inline |
Definition at line 103 of file exploration_strategy.h.
|
inline |
Returns a description of a lps rewriter.
Definition at line 74 of file lps_rewriter_type.h.
|
inline |
Definition at line 44 of file linearisation_method.h.
|
inline |
Indicates whether or not two summands are disjoint.
Definition at line 172 of file confluence.h.
| bool mcrl2::lps::encap | ( | const Container & | blocked_actions, |
| const process::action_list & | multiaction | ||
| ) |
Calculate if any of the actions in multiaction is blocked by encap_list.
| blocked_actions | is a list of action names that are blocked. |
| multi_action | contains a multiaction a1(d1)|...|an(dn) |
Definition at line 127 of file linearise_allow_block.h.
|
inline |
Calculate if any of the actions in multiaction is blocked by encap_list.
| encap_list | is a list of action_name_multisets of size 1. Its single element contains all the blocked actions. |
| multi_action | contains a multiaction a1(d1)|...|an(dn) |
Definition at line 165 of file linearise_allow_block.h.
|
inline |
Returns a data expression that expresses under which conditions the multi actions a and b are equal. The multi actions may contain free variables.
| a | A sequence of actions |
| b | A sequence of actions |
Definition at line 290 of file multi_action.h.
|
inline |
Definition at line 137 of file explorer_control_flow.h.
| std::set< process::action_label > mcrl2::lps::find_action_labels | ( | const lps::linear_process & | x | ) |
| std::set< process::action_label > mcrl2::lps::find_action_labels | ( | const lps::process_initializer & | x | ) |
| std::set< process::action_label > mcrl2::lps::find_action_labels | ( | const lps::specification & | x | ) |
| std::set< process::action_label > mcrl2::lps::find_action_labels | ( | const lps::stochastic_specification & | x | ) |
| std::set< process::action_label > mcrl2::lps::find_action_labels | ( | const T & | x | ) |
| void mcrl2::lps::find_action_labels | ( | const T & | x, |
| OutputIterator | o | ||
| ) |
| std::set< data::variable > mcrl2::lps::find_all_variables | ( | const lps::deadlock & | x | ) |
| std::set< data::variable > mcrl2::lps::find_all_variables | ( | const lps::linear_process & | x | ) |
| std::set< data::variable > mcrl2::lps::find_all_variables | ( | const lps::specification & | x | ) |
| std::set< data::variable > mcrl2::lps::find_all_variables | ( | const lps::stochastic_linear_process & | x | ) |
| std::set< data::variable > mcrl2::lps::find_all_variables | ( | const lps::stochastic_specification & | x | ) |
| std::set< data::variable > mcrl2::lps::find_all_variables | ( | const lps::multi_action & | x | ) |
| void mcrl2::lps::find_all_variables | ( | const multi_action & | x, |
| OutputIterator | o | ||
| ) |
| std::set< data::variable > mcrl2::lps::find_all_variables | ( | const T & | x | ) |
| void mcrl2::lps::find_all_variables | ( | const T & | x, |
| OutputIterator | o | ||
| ) |
| std::set< data::variable > mcrl2::lps::find_free_variables | ( | const lps::deadlock & | x | ) |
| std::set< data::variable > mcrl2::lps::find_free_variables | ( | const lps::linear_process & | x | ) |
| std::set< data::variable > mcrl2::lps::find_free_variables | ( | const lps::multi_action & | x | ) |
| std::set< data::variable > mcrl2::lps::find_free_variables | ( | const lps::process_initializer & | x | ) |
| std::set< data::variable > mcrl2::lps::find_free_variables | ( | const lps::specification & | x | ) |
| std::set< data::variable > mcrl2::lps::find_free_variables | ( | const lps::stochastic_linear_process & | x | ) |
| std::set< data::variable > mcrl2::lps::find_free_variables | ( | const lps::stochastic_process_initializer & | x | ) |
| std::set< data::variable > mcrl2::lps::find_free_variables | ( | const lps::stochastic_specification & | x | ) |
| std::set< data::variable > mcrl2::lps::find_free_variables | ( | const T & | x | ) |
| void mcrl2::lps::find_free_variables | ( | const T & | x, |
| OutputIterator | o | ||
| ) |
| void mcrl2::lps::find_free_variables_with_bound | ( | const T & | x, |
| OutputIterator | o, | ||
| const VariableContainer & | bound | ||
| ) |
| std::set< data::variable > mcrl2::lps::find_free_variables_with_bound | ( | const T & | x, |
| VariableContainer const & | bound | ||
| ) |
| std::set< data::function_symbol > mcrl2::lps::find_function_symbols | ( | const lps::specification & | x | ) |
| std::set< data::function_symbol > mcrl2::lps::find_function_symbols | ( | const lps::stochastic_specification & | x | ) |
| std::set< data::function_symbol > mcrl2::lps::find_function_symbols | ( | const T & | x | ) |
| void mcrl2::lps::find_function_symbols | ( | const T & | x, |
| OutputIterator | o | ||
| ) |
| std::set< core::identifier_string > mcrl2::lps::find_identifiers | ( | const lps::specification & | x | ) |
| std::set< core::identifier_string > mcrl2::lps::find_identifiers | ( | const lps::stochastic_specification & | x | ) |
| std::set< core::identifier_string > mcrl2::lps::find_identifiers | ( | const T & | x | ) |
| void mcrl2::lps::find_identifiers | ( | const T & | x, |
| OutputIterator | o | ||
| ) |
| Node mcrl2::lps::find_representative | ( | Node & | u0, |
| GenerateSuccessors | generate_successors | ||
| ) |
Search for a unique representative in a graph.
| u0 | The root of the graph. |
| generate_successors | A function that generates successors of a node. |
This function is based on an iterative version of Tarjan's strongly connected components algorithm. It returns the smallest node of the first SCC that is detected. The first SCC is a TSCC, meaning that it has no outgoing edges. In a confluent tau graph there is only one TSCC, so this should guarantee a unique representative. N.B. The implementation is based on https://llbit.se/?p=3379
Definition at line 31 of file find_representative.h.
| std::set< data::sort_expression > mcrl2::lps::find_sort_expressions | ( | const lps::specification & | x | ) |
| std::set< data::sort_expression > mcrl2::lps::find_sort_expressions | ( | const lps::stochastic_specification & | x | ) |
| std::set< data::sort_expression > mcrl2::lps::find_sort_expressions | ( | const T & | x | ) |
| void mcrl2::lps::find_sort_expressions | ( | const T & | x, |
| OutputIterator | o | ||
| ) |
|
inline |
|
inline |
|
inline |
Utility function to calculate the number of summands and the sizes of multiactions in those summands for printing statistics
Definition at line 55 of file linearise_utility.h.
|
inline |
Get statistics for action and deadlock summands.
Definition at line 73 of file linearise_utility.h.
| bool mcrl2::lps::has_ctau_action | ( | const Specification & | lpsspec | ) |
Definition at line 195 of file confluence.h.
|
inline |
Definition at line 58 of file linearise_hide.h.
|
inline |
Definition at line 46 of file linearise_hide.h.
|
inline |
Definition at line 64 of file linearise_hide.h.
|
inline |
Definition at line 75 of file linearise_hide.h.
| T mcrl2::lps::if_rewrite | ( | const T & | x | ) |
Applies the if rewriter to all embedded data expressions in an object x.
| x | an object containing data expressions |
Definition at line 55 of file if_rewrite.h.
| void mcrl2::lps::if_rewrite | ( | T & | x | ) |
Applies the if rewriter to all embedded data expressions in an object x.
| x | an object containing data expressions |
Definition at line 44 of file if_rewrite.h.
|
inline |
Definition at line 89 of file linearise_utility.h.
|
inline |
Definition at line 84 of file explorer_utilities.h.
|
inline |
Definition at line 91 of file explorer_utilities.h.
|
inline |
Definition at line 70 of file explorer_control_flow.h.
| void mcrl2::lps::insert_case_functions | ( | T & | x, |
| const lpsparunfold::case_func_replacement & | cfv | ||
| ) |
Definition at line 776 of file lpsparunfoldlib.h.
| void mcrl2::lps::insert_case_functions | ( | T & | x, |
| const lpsparunfold::case_func_replacement & | cfv, | ||
| data::set_identifier_generator & | id_generator | ||
| ) |
Definition at line 767 of file lpsparunfoldlib.h.
|
inline |
Definition at line 169 of file linearise_utility.h.
|
inline |
Test for a linear_process expression.
| x | A term |
Definition at line 261 of file linear_process.h.
|
inline |
\brief Test for a multi_action expression \param x A term \return True if \a x is a multi_action expression
Definition at line 98 of file multi_action.h.
|
inline |
\brief Test for a process_initializer expression \param x A term \return True if \a x is a process_initializer expression
Definition at line 83 of file process_initializer.h.
|
inline |
Test for a specification expression.
| x | A term |
Definition at line 41 of file specification.h.
| bool mcrl2::lps::is_stochastic | ( | const T & | x | ) |
Returns true if the LPS object x contains a stochastic distribution in one of its attributes.
Definition at line 45 of file is_stochastic.h.
|
inline |
\brief Test for a stochastic_distribution expression \param x A term \return True if \a x is a stochastic_distribution expression
Definition at line 85 of file stochastic_distribution.h.
|
inline |
\brief Test for a stochastic_process_initializer expression \param x A term \return True if \a x is a stochastic_process_initializer expression
Definition at line 67 of file stochastic_process_initializer.h.
| atermpp::aterm mcrl2::lps::linear_process_specification_marker | ( | ) |
Definition at line 18 of file lps_io.cpp.
| atermpp::aterm mcrl2::lps::linear_process_to_aterm | ( | const linear_process_base< ActionSummand > & | p | ) |
Conversion to aterm.
Definition at line 222 of file linear_process.h.
| mcrl2::lps::stochastic_specification mcrl2::lps::linearise | ( | const mcrl2::process::process_specification & | type_checked_spec, |
| const mcrl2::lps::t_lin_options & | lin_options = t_lin_options() |
||
| ) |
Linearises a process specification.
| [in] | type_checked_spec | A process specification |
| [in] | lin_options | options that should be used during linearisation |
| mcrl2::runtime_error | Linearisation failed |
Definition at line 10051 of file linearise.cpp.
|
inline |
Linearises a process specification from a textual specification.
| [in] | text | A string containing a process specification |
| [in] | lin_options | options that should be used during linearisation |
| mcrl2::runtime_error | Linearisation failed |
Definition at line 58 of file linearise.h.
| void mcrl2::lps::load_lps | ( | Specification & | spec, |
| const std::string & | filename | ||
| ) |
| void mcrl2::lps::load_lps | ( | Specification & | spec, |
| std::istream & | stream, | ||
| const std::string & | source = "" |
||
| ) |
|
inline |
Definition at line 27 of file linearise_allow_block.h.
|
inline |
Definition at line 25 of file linearise_hide.h.
|
inline |
Definition at line 24 of file linearise_rename.h.
|
inline |
Definition at line 113 of file confluence.h.
|
inline |
Creates an identifier for the ctau action.
Definition at line 181 of file confluence.h.
|
inline |
Creates the ctau action.
Definition at line 188 of file confluence.h.
|
inline |
Definition at line 65 of file explorer_utilities.h.
|
inline |
\brief Make_multi_action constructs a new term into a given address. \
| t | The reference into which the new multi_action is constructed. |
Definition at line 127 of file multi_action.h.
|
inline |
Definition at line 66 of file process_initializer.h.
| void mcrl2::lps::make_state | ( | state & | result, |
| ForwardTraversalIterator | p, | ||
| const std::size_t | size | ||
| ) |
| void mcrl2::lps::make_state | ( | state & | result, |
| ForwardTraversalIterator | p, | ||
| const std::size_t | size, | ||
| Transformer | transformer | ||
| ) |
|
inline |
\brief The function make_stochastic_distribution constructs a new term into a given address. \
| t | The reference into which the new stochastic_distribution is constructed. |
Definition at line 70 of file stochastic_distribution.h.
|
inline |
Definition at line 50 of file stochastic_process_initializer.h.
| lps::multi_action mcrl2::lps::normalize_sorts | ( | const lps::multi_action & | x, |
| const data::sort_specification & | sortspec | ||
| ) |
| T mcrl2::lps::normalize_sorts | ( | const T & | x, |
| const data::sort_specification & | sortspec | ||
| ) |
Definition at line 31 of file normalize_sorts.h.
| void mcrl2::lps::normalize_sorts | ( | lps::specification & | x, |
| const data::sort_specification & | sortspec | ||
| ) |
| void mcrl2::lps::normalize_sorts | ( | lps::stochastic_specification & | x, |
| const data::sort_specification & | sortspec | ||
| ) |
| void mcrl2::lps::normalize_sorts | ( | T & | x, |
| const data::sort_specification & | sortspec | ||
| ) |
Definition at line 23 of file normalize_sorts.h.
|
inline |
Returns a pbes expression that expresses under which conditions the multi actions a and b are not equal. The multi actions may contain free variables.
| a | A sequence of actions |
| b | A sequence of actions |
Definition at line 327 of file multi_action.h.
|
inline |
|
inline |
Definition at line 216 of file linearise_utility.h.
| T mcrl2::lps::one_point_condition_rewrite | ( | const T & | x, |
| const DataRewriter & | R | ||
| ) |
Applies the one point condition rewriter to all embedded data expressions in an object x.
| x | an object containing data expressions |
Definition at line 178 of file one_point_condition_rewrite.h.
| void mcrl2::lps::one_point_condition_rewrite | ( | T & | x, |
| const DataRewriter & | R | ||
| ) |
Applies the one point condition rewriter to all embedded data expressions in an object x.
| x | an object containing data expressions |
Definition at line 166 of file one_point_condition_rewrite.h.
| T mcrl2::lps::one_point_rule_rewrite | ( | const T & | x | ) |
Applies the one point rule rewriter to all embedded data expressions in an object x.
| x | an object containing data expressions |
Definition at line 56 of file one_point_rule_rewrite.h.
| void mcrl2::lps::one_point_rule_rewrite | ( | T & | x | ) |
Applies the one point rule rewriter to all embedded data expressions in an object x.
| x | an object containing data expressions |
Definition at line 45 of file one_point_rule_rewrite.h.
|
inline |
Inequality operator.
Definition at line 244 of file specification.h.
|
inline |
Inequality operator.
Definition at line 91 of file stochastic_specification.h.
|
inline |
Comparison operator for action summands.
Definition at line 140 of file action_summand.h.
|
inline |
Comparison operator for action summands.
Definition at line 97 of file stochastic_action_summand.h.
| atermpp::aterm_ostream & mcrl2::lps::operator<< | ( | atermpp::aterm_ostream & | stream, |
| const deadlock_summand & | summand | ||
| ) |
Definition at line 42 of file lps_io.cpp.
| atermpp::aterm_ostream & mcrl2::lps::operator<< | ( | atermpp::aterm_ostream & | stream, |
| const linear_process_base< ActionSummand > & | lps | ||
| ) |
Definition at line 97 of file lps_io.cpp.
| atermpp::aterm_ostream & mcrl2::lps::operator<< | ( | atermpp::aterm_ostream & | stream, |
| const multi_action & | action | ||
| ) |
Definition at line 23 of file lps_io.cpp.
| atermpp::aterm_ostream & mcrl2::lps::operator<< | ( | atermpp::aterm_ostream & | stream, |
| const specification & | spec | ||
| ) |
Writes LPS to the stream.
Definition at line 171 of file lps_io.cpp.
| atermpp::aterm_ostream & mcrl2::lps::operator<< | ( | atermpp::aterm_ostream & | stream, |
| const stochastic_action_summand & | summand | ||
| ) |
Definition at line 64 of file lps_io.cpp.
| atermpp::aterm_ostream & mcrl2::lps::operator<< | ( | atermpp::aterm_ostream & | stream, |
| const stochastic_specification & | spec | ||
| ) |
Definition at line 177 of file lps_io.cpp.
|
inline |
Definition at line 52 of file explorer_utilities.h.
|
inline |
Definition at line 97 of file exploration_strategy.h.
|
inline |
Definition at line 111 of file lps_rewriter_type.h.
|
inline |
Definition at line 98 of file linearisation_method.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 126 of file action_summand.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 99 of file deadlock.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 91 of file deadlock_summand.h.
|
inline |
Definition at line 75 of file explorer_options.h.
|
inline |
Definition at line 276 of file explorer_utilities.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 251 of file linear_process.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 111 of file multi_action.h.
|
inline |
Pretty print to an outstream.
Definition at line 546 of file probabilistic_data_expression.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 96 of file process_initializer.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 205 of file specification.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 83 of file stochastic_action_summand.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 98 of file stochastic_distribution.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 86 of file stochastic_linear_process.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 80 of file stochastic_process_initializer.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 77 of file stochastic_specification.h.
|
inline |
Equality operator of action summands.
Definition at line 159 of file action_summand.h.
|
inline |
Equality operator.
Definition at line 237 of file specification.h.
|
inline |
Equality operator of stochastic action summands.
Definition at line 108 of file stochastic_action_summand.h.
|
inline |
Definition at line 84 of file stochastic_specification.h.
| atermpp::aterm_istream & mcrl2::lps::operator>> | ( | atermpp::aterm_istream & | stream, |
| deadlock_summand & | summand | ||
| ) |
Definition at line 50 of file lps_io.cpp.
| atermpp::aterm_istream & mcrl2::lps::operator>> | ( | atermpp::aterm_istream & | stream, |
| linear_process_base< ActionSummand > & | lps | ||
| ) |
Definition at line 107 of file lps_io.cpp.
| atermpp::aterm_istream & mcrl2::lps::operator>> | ( | atermpp::aterm_istream & | stream, |
| lps::stochastic_specification & | spec | ||
| ) |
Definition at line 191 of file lps_io.cpp.
| atermpp::aterm_istream & mcrl2::lps::operator>> | ( | atermpp::aterm_istream & | stream, |
| multi_action & | action | ||
| ) |
Definition at line 30 of file lps_io.cpp.
| atermpp::aterm_istream & mcrl2::lps::operator>> | ( | atermpp::aterm_istream & | stream, |
| lps::specification & | spec | ||
| ) |
Reads LPS from the stream.
Definition at line 183 of file lps_io.cpp.
| atermpp::aterm_istream & mcrl2::lps::operator>> | ( | atermpp::aterm_istream & | stream, |
| stochastic_action_summand & | summand | ||
| ) |
Definition at line 74 of file lps_io.cpp.
|
inline |
Definition at line 81 of file exploration_strategy.h.
|
inline |
Stream operator for rewriter type.
| is | An input stream |
| t | A rewriter type |
Definition at line 95 of file lps_rewriter_type.h.
|
inline |
Definition at line 81 of file linearisation_method.h.
| void mcrl2::lps::order_summand_variables | ( | Specification & | lpsspec | ) |
Order summand variables to make enumeration over these variables more efficient.
Definition at line 22 of file order_summand_variables.h.
| void mcrl2::lps::parelm | ( | Specification & | spec, |
| bool | variant1 = true |
||
| ) |
|
inline |
Parses an action from a string.
| text | A string containing an action | |
| action_decls | An action declaration | |
| [in] | data_spec | A data specification used for sort normalization |
| mcrl2::runtime_error | when the input does not match the syntax of an action. |
|
inline |
Parses an action rename specification. Parses an action rename specification. If the action rename specification contains data types that are not present in the data specification of spec they are added to it.
| spec_string | A string containing an action rename specification. |
| spec | A linear process specification |
|
inline |
|
inline |
Definition at line 29 of file exploration_strategy.h.
|
inline |
Parse a linearisation method.
| [in] | s | A string |
Definition at line 59 of file linearisation_method.h.
|
inline |
Parses a linear process specification from a string.
| text | A string containing a linear process specification |
| non_linear_process | if a non-linear sub-expression is encountered. |
| mcrl2::runtime_error | in the following cases:
|
|
inline |
Parses a linear process specification from an input stream.
| spec_stream | An input stream containing a linear process specification |
| non_linear_process | if a non-linear sub-expression is encountered. |
| mcrl2::runtime_error | in the following cases:
|
| void mcrl2::lps::parse_lps | ( | const std::string & | text, |
| Specification & | result | ||
| ) |
| void mcrl2::lps::parse_lps | ( | std::istream & | , |
| Specification & | |||
| ) |
|
inline |
|
inline |
Parses a stochastic linear process specification from an input stream.
| from | An input stream containing a linear process specification. |
| result | An output parameter in which the parsed stochastic process is put. |
| non_linear_process | if a non-linear sub-expression is encountered. |
| mcrl2::runtime_error | in the following cases:
|
|
inline |
Parses a lps rewriter type.
Definition at line 32 of file lps_rewriter_type.h.
|
inline |
Parses a multi_action from a string.
| text | A string containing a multi_action | |
| [in] | action_decls | A list of allowed action labels that is used for type checking. |
| [in] | data_spec | The data specification that is used for type checking. |
| mcrl2::runtime_error | when the input does not match the syntax of a multi action. |
|
inline |
Parses a multi_action from a string.
| text | A string containing a multi_action | |
| [in] | typechecker | Typechecker used to check the action. |
| [in] | data_spec | The data specification that is used for type checking. |
| mcrl2::runtime_error | when the input does not match the syntax of a multi action. |
|
inline |
Parses a multi_action from an input stream.
| in | An input stream containing a multi_action | |
| [in] | action_decls | A list of allowed action labels that is used for type checking. |
| [in] | data_spec | The data specification that is used for type checking. |
| mcrl2::runtime_error | when the input does not match the syntax of a multi action. |
|
inline |
Parses a multi_action from an input stream.
| in | An input stream containing a multi_action | |
| [in] | typechecker | Typechecker used to check the action. |
| [in] | data_spec | The data specification that is used for type checking. |
| mcrl2::runtime_error | when the input does not match the syntax of a multi action. |
| std::string mcrl2::lps::pp | ( | const lps::action_summand & | x, |
| bool | arg0 = true |
||
| ) |
| std::string mcrl2::lps::pp | ( | const lps::deadlock & | x, |
| bool | arg0 = true |
||
| ) |
| std::string mcrl2::lps::pp | ( | const lps::deadlock_summand & | x, |
| bool | arg0 = true |
||
| ) |
| std::string mcrl2::lps::pp | ( | const lps::linear_process & | x, |
| bool | arg0 = true |
||
| ) |
| std::string mcrl2::lps::pp | ( | const lps::multi_action & | x, |
| bool | arg0 = true |
||
| ) |
| std::string mcrl2::lps::pp | ( | const lps::process_initializer & | x, |
| bool | arg0 = true |
||
| ) |
| std::string mcrl2::lps::pp | ( | const lps::specification & | x, |
| bool | arg0 = true |
||
| ) |
|
inline |
| std::string mcrl2::lps::pp | ( | const lps::stochastic_action_summand & | x, |
| bool | arg0 = true |
||
| ) |
| std::string mcrl2::lps::pp | ( | const lps::stochastic_distribution & | x, |
| bool | arg0 = true |
||
| ) |
| std::string mcrl2::lps::pp | ( | const lps::stochastic_linear_process & | x, |
| bool | arg0 = true |
||
| ) |
| std::string mcrl2::lps::pp | ( | const lps::stochastic_process_initializer & | x, |
| bool | arg0 = true |
||
| ) |
| std::string mcrl2::lps::pp | ( | const lps::stochastic_specification & | x, |
| bool | arg0 = true |
||
| ) |
|
inline |
Definition at line 538 of file probabilistic_data_expression.h.
| std::string mcrl2::lps::pp | ( | const T & | x, |
| bool | precedence_aware = true |
||
| ) |
| std::string mcrl2::lps::pp_extended | ( | const lps::stochastic_specification & | x, |
| const std::string & | process_name, | ||
| bool | precedence_aware = true |
||
| ) |
| std::string mcrl2::lps::pp_extended | ( | const specification & | x, |
| const std::string & | process_name, | ||
| bool | precedence_aware, | ||
| bool | summand_numbers | ||
| ) |
| std::string mcrl2::lps::pp_extended | ( | const stochastic_specification & | x, |
| const std::string & | process_name, | ||
| bool | precedence_aware, | ||
| bool | summand_numbers | ||
| ) |
|
inline |
Print statistics of lps as indented block in YAML format.
Definition at line 36 of file linearise_utility.h.
| void mcrl2::lps::print_bitset | ( | std::ostream & | os, |
| const Bitset & | bs | ||
| ) |
Definition at line 264 of file explorer_control_flow.h.
|
inline |
Definition at line 157 of file confluence.h.
|
inline |
Definition at line 111 of file explorer_control_flow.h.
|
inline |
Definition at line 59 of file exploration_strategy.h.
|
inline |
Definition at line 284 of file explorer_control_flow.h.
|
inline |
String representation of a linearisation method.
| [in] | lin_method | A linerisation method |
Definition at line 32 of file linearisation_method.h.
|
inline |
Prints a lps rewriter type.
Definition at line 55 of file lps_rewriter_type.h.
|
inline |
Definition at line 59 of file stochastic_state.h.
|
static |
Definition at line 136 of file lps_io.cpp.
| void mcrl2::lps::remove_parameters | ( | Object & | x, |
| const std::set< data::variable > & | to_be_removed | ||
| ) |
|
inline |
| void mcrl2::lps::remove_redundant_assignments | ( | Specification & | lpsspec | ) |
| void mcrl2::lps::remove_singleton_sorts | ( | Specification & | spec | ) |
|
inline |
Converts a stochastic specification to a specification. Throws an exception if non-empty distributions are encountered.
Definition at line 110 of file stochastic_specification.h.
| void mcrl2::lps::remove_trivial_summands | ( | Specification & | spec | ) |
|
inline |
Definition at line 77 of file linearise_rename.h.
|
inline |
Apply renamings to a single action.
Definition at line 45 of file linearise_rename.h.
|
inline |
Apply renamings to a list of actions.
Note that the result is not sorted.
Definition at line 63 of file linearise_rename.h.
|
inline |
Definition at line 84 of file linearise_rename.h.
|
inline |
Definition at line 96 of file linearise_rename.h.
| T mcrl2::lps::replace_all_variables | ( | const T & | x, |
| const Substitution & | sigma | ||
| ) |
| void mcrl2::lps::replace_all_variables | ( | T & | x, |
| const Substitution & | sigma | ||
| ) |
| T mcrl2::lps::replace_constants_by_variables | ( | const T & | x, |
| const data::rewriter & | r, | ||
| data::mutable_indexed_substitution<> & | sigma | ||
| ) |
Replace each constant data application c in x by a fresh variable v, and add extend the substitution sigma with the assignment v := r(c). This can be used in rewriting, to avoid that c is rewritten by the rewriter multiple times.
Definition at line 54 of file replace_constants_by_variables.h.
| void mcrl2::lps::replace_constants_by_variables | ( | T & | x, |
| const data::rewriter & | r, | ||
| data::mutable_indexed_substitution<> & | sigma | ||
| ) |
Replace each constant data application c in x by a fresh variable v, and add extend the substitution sigma with the assignment v := r(c). This can be used in rewriting, to avoid that c is rewritten by the rewriter multiple times.
Definition at line 41 of file replace_constants_by_variables.h.
| T mcrl2::lps::replace_data_expressions | ( | const T & | x, |
| const Substitution & | sigma, | ||
| bool | innermost | ||
| ) |
| void mcrl2::lps::replace_data_expressions | ( | T & | x, |
| const Substitution & | sigma, | ||
| bool | innermost | ||
| ) |
| T mcrl2::lps::replace_free_variables | ( | const T & | x, |
| const Substitution & | sigma | ||
| ) |
| T mcrl2::lps::replace_free_variables | ( | const T & | x, |
| const Substitution & | sigma, | ||
| const VariableContainer & | bound_variables | ||
| ) |
| void mcrl2::lps::replace_free_variables | ( | T & | x, |
| const Substitution & | sigma | ||
| ) |
| void mcrl2::lps::replace_free_variables | ( | T & | x, |
| const Substitution & | sigma, | ||
| const VariableContainer & | bound_variables | ||
| ) |
| void mcrl2::lps::replace_process_parameters | ( | specification & | spec, |
| Substitution | sigma | ||
| ) |
| T mcrl2::lps::replace_sort_expressions | ( | const T & | x, |
| const Substitution & | sigma, | ||
| bool | innermost | ||
| ) |
| void mcrl2::lps::replace_sort_expressions | ( | T & | x, |
| const Substitution & | sigma, | ||
| bool | innermost | ||
| ) |
|
inline |
| T mcrl2::lps::replace_variables | ( | const T & | x, |
| const Substitution & | sigma | ||
| ) |
| void mcrl2::lps::replace_variables | ( | T & | x, |
| const Substitution & | sigma | ||
| ) |
| stochastic_distribution mcrl2::lps::replace_variables_capture_avoiding | ( | const stochastic_distribution & | x, |
| data::data_expression_list & | pars, | ||
| Substitution & | sigma | ||
| ) |
\brief Applies sigma as a capture avoiding substitution to a stochastic_distribution and a list of parameters. \param x The object to which the substiution is applied. \param pars The parameters of which the variables are bound. This list is changed if necessary. \param sigma A substitution.
Definition at line 276 of file replace_capture_avoiding.h.
| stochastic_distribution mcrl2::lps::replace_variables_capture_avoiding | ( | const stochastic_distribution & | x, |
| data::data_expression_list & | pars, | ||
| Substitution & | sigma, | ||
| data::set_identifier_generator & | id_generator | ||
| ) |
\brief Applies sigma as a capture avoiding substitution to x with x a distribution.. \details The capture avoiding substitution must also be applied to the expression to which the distribution is applied. \param x The object to which the substiution is applied. \param pars The parameter list to which the distribution is applied. \param sigma A substitution. \param id_generator An identifier generator that generates names that do not appear in x and sigma
Definition at line 258 of file replace_capture_avoiding.h.
| T mcrl2::lps::replace_variables_capture_avoiding | ( | const T & | x, |
| Substitution & | sigma | ||
| ) |
\brief Applies sigma as a capture avoiding substitution to x. \param x The object to which the substiution is applied. \param sigma A substitution.
Definition at line 236 of file replace_capture_avoiding.h.
| T mcrl2::lps::replace_variables_capture_avoiding | ( | const T & | x, |
| Substitution & | sigma, | ||
| data::set_identifier_generator & | id_generator | ||
| ) |
\brief Applies sigma as a capture avoiding substitution to x. \param x The object to which the substiution is applied. \param sigma A substitution. \param id_generator An identifier generator that generates names that do not appear in x and sigma
Definition at line 202 of file replace_capture_avoiding.h.
| void mcrl2::lps::replace_variables_capture_avoiding | ( | T & | x, |
| Substitution & | sigma | ||
| ) |
\brief Applies sigma as a capture avoiding substitution to x. \param x The object to which the subsitution is applied. \param sigma A substitution.
Definition at line 218 of file replace_capture_avoiding.h.
| void mcrl2::lps::replace_variables_capture_avoiding | ( | T & | x, |
| Substitution & | sigma, | ||
| data::set_identifier_generator & | id_generator | ||
| ) |
\brief Applies sigma as a capture avoiding substitution to x. \param x The object to which the subsitution is applied. \param sigma A substitution. \param id_generator An identifier generator that generates names that do not appear in x and sigma
Definition at line 187 of file replace_capture_avoiding.h.
| T mcrl2::lps::replace_variables_capture_avoiding_with_an_identifier_generator | ( | const T & | x, |
| Substitution & | sigma, | ||
| IdentifierGenerator & | id_generator | ||
| ) |
\brief Applies sigma as a capture avoiding substitution to x using an identifier generator.. \details This substitution function is much faster than replace_variables_capture_avoiding, but it requires an identifier generator that generates strings for fresh variables. These strings must be unique in the sense that they have not been used for other variables. \param x The object to which the substiution is applied. \param sigma A mutable substitution of which it can efficiently be checked whether a variable occurs in its right hand side. The class maintain_variables_in_rhs is useful for this purpose. \param id_generator A generator that generates unique strings, not yet used as variable names. \return The result is the term x to which sigma has been applied.
Definition at line 160 of file replace_capture_avoiding_with_an_identifier_generator.h.
| void mcrl2::lps::replace_variables_capture_avoiding_with_an_identifier_generator | ( | T & | x, |
| Substitution & | sigma, | ||
| IdentifierGenerator & | id_generator | ||
| ) |
\brief Applies sigma as a capture avoiding substitution to x using an identifier generator. \details This substitution function is much faster than replace_variables_capture_avoiding, but it requires an identifier generator that generates strings for fresh variables. These strings must be unique in the sense that they have not been used for other variables. \param x The object to which the subsitution is applied. \param sigma A mutable substitution of which it can efficiently be checked whether a variable occurs in its right hand side. The class maintain_variables_in_rhs is useful for this purpose. \param id_generator A generator that generates unique strings, not yet used as variable names.
Definition at line 141 of file replace_capture_avoiding_with_an_identifier_generator.h.
| void mcrl2::lps::report_cfg_error | ( | std::size_t | summand, |
| const State & | state, | ||
| const std::vector< cf_graph > & | cfgs | ||
| ) |
Definition at line 442 of file explorer_control_flow.h.
| void mcrl2::lps::resolve_summand_variable_name_clashes | ( | Specification & | spec | ) |
Renames summand variables such that there are no name clashes between summand variables and process parameters.
Definition at line 140 of file resolve_name_clashes.h.
| T mcrl2::lps::rewrite | ( | const T & | x, |
| Rewriter | R | ||
| ) |
| T mcrl2::lps::rewrite | ( | const T & | x, |
| Rewriter | R, | ||
| const Substitution & | sigma | ||
| ) |
| void mcrl2::lps::rewrite | ( | T & | x, |
| Rewriter | R | ||
| ) |
| void mcrl2::lps::rewrite | ( | T & | x, |
| Rewriter | R, | ||
| const Substitution & | sigma | ||
| ) |
| void mcrl2::lps::save_lps | ( | const Specification & | spec, |
| const std::string & | filename | ||
| ) |
| void mcrl2::lps::save_lps | ( | const Specification & | spec, |
| std::ostream & | stream, | ||
| const std::string & | target = "" |
||
| ) |
Save an LPS in the format specified.
| spec | The LPS to be stored |
| stream | The stream to which the output is written. |
| target | A string indicating the target stream, used to print information. utilities::file_format::unknown() is specified, then a default format is chosen. |
| bool mcrl2::lps::search_free_variable | ( | const T & | x, |
| const data::variable & | v | ||
| ) |
|
inline |
Definition at line 83 of file linearise_utility.h.
| atermpp::aterm mcrl2::lps::specification_to_aterm | ( | const specification_base< LinearProcess, InitialProcessExpression > & | spec | ) |
Conversion to aterm.
Definition at line 224 of file specification.h.
|
inline |
Determine if delta summand ds1 subsumes delta summand ds2.
Definition at line 161 of file linearise_utility.h.
|
inline |
Determine if action summand as subsumes delta summand ds.
The action summand subsumes the deadlock summand if its condition is implied by that of the deadlock summand, and either the action summand is not timed, or the timestamp of the deadlock summand and the action summand coincide.
Definition at line 153 of file linearise_utility.h.
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 79 of file confluence.h.
|
inline |
Definition at line 78 of file explorer_utilities.h.
|
inline |
Definition at line 71 of file confluence.h.
|
inlinenoexcept |
\brief swap overload
Definition at line 132 of file action_summand.h.
\brief swap overload
Definition at line 105 of file deadlock.h.
|
inlinenoexcept |
\brief swap overload
Definition at line 97 of file deadlock_summand.h.
|
inlinenoexcept |
\brief swap overload
Definition at line 117 of file multi_action.h.
|
inlinenoexcept |
\brief swap overload
Definition at line 102 of file process_initializer.h.
|
inlinenoexcept |
\brief swap overload
Definition at line 89 of file stochastic_action_summand.h.
|
inlinenoexcept |
\brief swap overload
Definition at line 104 of file stochastic_distribution.h.
|
inlinenoexcept |
\brief swap overload
Definition at line 86 of file stochastic_process_initializer.h.
| lps::multi_action mcrl2::lps::translate_user_notation | ( | const lps::multi_action & | x | ) |
| T mcrl2::lps::translate_user_notation | ( | const T & | x | ) |
Definition at line 30 of file translate_user_notation.h.
| void mcrl2::lps::translate_user_notation | ( | T & | x | ) |
Definition at line 23 of file translate_user_notation.h.
|
inline |
Type checks an action rename specification.
| arspec | An action rename specifition. |
| lpsspec | A linear process specification, used for the datatypes and action declarations. |
Definition at line 154 of file typecheck.h.
|
inline |
Type check a multi action Throws an exception if something went wrong.
| [in] | mult_act | A multi action that has not been type checked. |
| [in] | data_spec | A data specification to use as context. |
| [in] | action_decls | A list of action declarations to use as context. |
Definition at line 125 of file typecheck.h.
|
inline |
Type check a multi action Throws an exception if something went wrong.
| [in] | mult_act | A multi action that has not been type checked. |
| [in] | typechecker | Checker that will be used to check multi_act |
Definition at line 141 of file typecheck.h.
| void mcrl2::lps::update_active_cfg_vertices | ( | const data::mutable_indexed_substitution<> & | sigma, |
| const std::vector< data::variable > & | process_parameters, | ||
| const std::vector< cf_graph > & | cfgs, | ||
| Container & | active_cfg_vertices | ||
| ) |
Definition at line 395 of file explorer_control_flow.h.
|
inline |
Definition at line 85 of file confluence.h.
|
static |
Definition at line 122 of file lps_io.cpp.
|
inline |
Definition at line 392 of file explorer_control_flow.h.