mCRL2
|
A base class for the lts_dot labelled transition system. More...
Namespaces | |
namespace | bisim_dnj |
namespace | bisim_gjkw |
namespace | bisimulation_gj |
Typedefs | |
typedef std::size_t | state_type |
type used to store state (numbers and) counts | |
typedef std::size_t | trans_type |
type used to store transition (numbers and) counts | |
typedef std::make_signed< trans_type >::type | signed_trans_type |
type used to store differences between transition counters | |
typedef std::size_t | label_type |
type used to store label numbers and counts | |
typedef std::set< state_type > | set_of_states |
typedef std::multimap< detail::state_type, detail::set_of_states > | anti_chain_type |
typedef std::set< label_type > | action_label_set |
template<class El > | |
using | iterator_or_null_t = typename simple_list< El >::iterator_or_null |
typedef std::set< bisim_gjkw::constln_t *, constln_ptr_less > | R_map_t |
Enumerations | |
enum | t_reach { unknown , reached , explored } |
Functions | |
std::string | split_string_until (std::string &s, const std::string &c1, const std::string &c2="") |
lts_fsm_base::probabilistic_state | parse_distribution (const std::string &distribution) |
template<class LTS_TYPE > | |
void | add_an_action_loop_to_each_state (LTS_TYPE &l, std::size_t action) |
template<class LTS_TYPE > | |
void | bisimulation_reduce (LTS_TYPE &l, const bool branching=false, const bool preserve_divergences=false) |
Reduce transition system l with respect to strong or (divergence preserving) branching bisimulation. | |
template<class LTS_TYPE > | |
bool | destructive_bisimulation_compare (LTS_TYPE &l1, LTS_TYPE &l2, const bool branching=false, const bool preserve_divergences=false, const bool generate_counter_examples=false, const std::string &counter_example_file="", const bool structured_output=false) |
Checks whether the two initial states of two lts's are strong or branching bisimilar. | |
template<class LTS_TYPE > | |
bool | bisimulation_compare (const LTS_TYPE &l1, const LTS_TYPE &l2, const bool branching=false, const bool preserve_divergences=false, const bool generate_counter_examples=false, const std::string &counter_example_file="", const bool structured_output=false) |
Checks whether the two initial states of two lts's are strong or branching bisimilar. | |
template<class LTS_TYPE > | |
void | bisimulation_reduce_dnj (LTS_TYPE &l, bool const branching=false, bool const preserve_divergence=false) |
Reduce transition system l with respect to strong or (divergence-preserving) branching bisimulation. | |
template<class LTS_TYPE > | |
bool | destructive_bisimulation_compare_dnj (LTS_TYPE &l1, LTS_TYPE &l2, bool const branching=false, bool const preserve_divergence=false, bool const generate_counter_examples=false, const std::string &="", bool=false) |
Checks whether the two initial states of two LTSs are strong or (divergence-preserving) branching bisimilar. | |
template<class LTS_TYPE > | |
bool | bisimulation_compare_dnj (const LTS_TYPE &l1, const LTS_TYPE &l2, bool const branching=false, bool const preserve_divergence=false) |
Checks whether the two initial states of two LTSs are strong or (divergence-preserving) branching bisimilar. | |
template<class LTS_TYPE > | |
void | bisimulation_reduce_gj (LTS_TYPE &l, const bool branching=false, const bool preserve_divergence=false) |
nonmember functions serving as interface with the rest of mCRL2 | |
template<class LTS_TYPE > | |
bool | destructive_bisimulation_compare_gj (LTS_TYPE &l1, LTS_TYPE &l2, const bool branching=false, const bool preserve_divergence=false, const bool generate_counter_examples=false, const std::string &="", bool=false) |
Checks whether the two initial states of two LTSs are strong or (divergence-preserving) branching bisimilar. | |
template<class LTS_TYPE > | |
bool | bisimulation_compare_gj (const LTS_TYPE &l1, const LTS_TYPE &l2, const bool branching=false, const bool preserve_divergence=false) |
Checks whether the two initial states of two LTSs are strong or (divergence-preserving) branching bisimilar. | |
template<class LTS_TYPE > | |
void | bisimulation_reduce_gjkw (LTS_TYPE &l, bool branching=false, bool preserve_divergence=false) |
Reduce transition system l with respect to strong or (divergence preserving) branching bisimulation. | |
template<class LTS_TYPE > | |
bool | destructive_bisimulation_compare_gjkw (LTS_TYPE &l1, LTS_TYPE &l2, bool branching=false, bool preserve_divergence=false, bool generate_counter_examples=false) |
Checks whether the two initial states of two LTSs are strong or branching bisimilar. | |
template<class LTS_TYPE > | |
bool | bisimulation_compare_gjkw (const LTS_TYPE &l1, const LTS_TYPE &l2, bool branching=false, bool preserve_divergence=false) |
Checks whether the two initial states of two LTSs are strong or branching bisimilar. | |
template<class LTS_TYPE > | |
bool | destructive_bisimulation_compare_gjkw (LTS_TYPE &l1, LTS_TYPE &l2, bool branching, bool preserve_divergence, bool generate_counter_examples, const std::string &, bool) |
template<class LTS_TYPE > | |
bool | destructive_bisimulation_compare_minimal_depth (LTS_TYPE &l1, LTS_TYPE &l2, const std::string &counter_example_file) |
template<class LTS_TYPE > | |
bool | destructive_branching_bisimulation_compare_minimal_depth (LTS_TYPE &l1, LTS_TYPE &l2, const std::string &counter_example_file) |
bool | operator== (const cs_game_node &n0, const cs_game_node &n1) |
bool | operator!= (const cs_game_node &n0, const cs_game_node &n1) |
bool | operator< (const cs_game_node &n0, const cs_game_node &n1) |
std::string | to_string (const cs_game_node &n) |
bool | equals (const cs_game_move &m0, const cs_game_move &m1, bool weak_transition=false) |
bool | operator< (const cs_game_move &m0, const cs_game_move &m1) |
template<class LTS_TYPE > | |
bool | coupled_simulation_compare (LTS_TYPE &l1, LTS_TYPE &l2) |
template<class COUNTER_EXAMPLE_CONSTRUCTOR > | |
bool | antichain_insert (anti_chain_type &anti_chain, const state_states_counter_example_index_triple< COUNTER_EXAMPLE_CONSTRUCTOR > &impl_spec) |
template<class LTS_TYPE > | |
set_of_states | collect_reachable_states_via_taus (const state_type s, const lts_cache< LTS_TYPE > &weak_property_cache, const bool weak_reduction) |
template<class LTS_TYPE > | |
set_of_states | collect_reachable_states_via_an_action (const state_type s, const label_type e, const lts_cache< LTS_TYPE > &weak_property_cache, const bool weak_reduction, const LTS_TYPE &l) |
template<class LTS_TYPE > | |
bool | refusals_contained_in (const state_type impl, const set_of_states &spec, const lts_cache< LTS_TYPE > &weak_property_cache, label_type &culprit, const LTS_TYPE &l, const bool provide_a_counter_example, const bool structured_output) |
This function checks that the refusals(impl) are contained in the refusals of spec, where the refusals of spec are defined by { r | exists s in spec. r in refusals(s) and stable(r) }. | |
template<class LTS_TYPE > | |
set_of_states | collect_reachable_states_via_taus (const set_of_states &s, const lts_cache< LTS_TYPE > &weak_property_cache, const bool weak_reduction) |
template<class LTS_TYPE > | |
const set_of_states & | calculate_tau_reachable_states (const set_of_states &states, const lts_cache< LTS_TYPE > &weak_property_cache) |
template<class LTS_TYPE > | |
void | merge (LTS_TYPE &l1, const LTS_TYPE &l2) |
template<class LTS_TYPE > | |
void | probabilistic_bisimulation_reduce_bem (LTS_TYPE &l, utilities::execution_timer &timer) |
Reduce transition system l with respect to probabilistic bisimulation. | |
template<class LTS_TYPE > | |
bool | destructive_probabilistic_bisimulation_compare_bem (LTS_TYPE &l1, LTS_TYPE &l2, utilities::execution_timer &timer) |
Checks whether the two initial states of two plts's are probabilistic bisimilar. | |
template<class LTS_TYPE > | |
bool | probabilistic_bisimulation_compare_bem (const LTS_TYPE &l1, const LTS_TYPE &l2, utilities::execution_timer &timer) |
Checks whether the two initial states of two plts's are probabilistic bisimilar. | |
template<class LTS_TYPE > | |
void | probabilistic_bisimulation_reduce_grv (LTS_TYPE &l, utilities::execution_timer &timer) |
Reduce transition system l with respect to probabilistic bisimulation. | |
template<class LTS_TYPE > | |
bool | destructive_probabilistic_bisimulation_compare_grv (LTS_TYPE &l1, LTS_TYPE &l2, utilities::execution_timer &timer) |
Checks whether the two initial states of two plts's are probabilistic bisimilar. | |
template<class LTS_TYPE > | |
bool | probabilistic_bisimulation_compare_grv (const LTS_TYPE &l1, const LTS_TYPE &l2, utilities::execution_timer &timer) |
Checks whether the two initial states of two plts's are probabilistic bisimilar. | |
template<class LTS_TYPE > | |
void | plts_merge (LTS_TYPE &l1, const LTS_TYPE &l2) |
template<class STATE_LABEL_T , class ACTION_LABEL_T , class PROBABILISTIC_STATE_T , class LTS_BASE > | |
void | swap_to_non_probabilistic_lts (probabilistic_lts< STATE_LABEL_T, ACTION_LABEL_T, PROBABILISTIC_STATE_T, LTS_BASE > &l_probabilistic, lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE > &l_plain) |
template<class STATE_LABEL_T , class ACTION_LABEL_T , class PROBABILISTIC_STATE_T , class LTS_BASE > | |
void | translate_to_probabilistic_lts (const lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE > &l_plain, probabilistic_lts< STATE_LABEL_T, ACTION_LABEL_T, PROBABILISTIC_STATE_T, LTS_BASE > &l_probabilistic) |
template<class STATE_LABEL_T , class ACTION_LABEL_T , class LTS_BASE_CLASS > | |
std::map< std::size_t, std::set< typename lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE_CLASS >::states_size_type > > | calculate_non_reflexive_transitive_tau_closure (lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE_CLASS > &l, const bool forward) |
This procedure calculates the transitive tau closure as a separate vector of transitions, for a given transition system. \parameter l A labelled transition system \parameter forward A boolean that indicates whether the resulting closure. | |
template<class STATE_LABEL_T , class ACTION_LABEL_T , class LTS_BASE_CLASS > | |
void | reflexive_transitive_tau_closure (lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE_CLASS > &l) |
template<class STATE_LABEL_T , class ACTION_LABEL_T , class LTS_BASE_CLASS > | |
void | remove_redundant_transitions (lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE_CLASS > &l) |
Removes each transition s-a->s' if also transitions s-a->-tau->s' or s-tau->-a->s' are present. It uses the hidden_label_set to determine whether transitions are internal. | |
template<class STATE_LABEL_T , class ACTION_LABEL_T , class LTS_BASE_CLASS > | |
void | tau_star_reduce (lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE_CLASS > &l) |
template<class LTS_TYPE > | |
void | weak_bisimulation_reduce (LTS_TYPE &l, const bool preserve_divergences=false) |
Reduce LTS l with respect to (divergence-preserving) weak bisimulation. | |
template<class LTS_TYPE > | |
bool | destructive_weak_bisimulation_compare (LTS_TYPE &l1, LTS_TYPE &l2, const bool preserve_divergences=false) |
Checks whether the initial states of two LTSs are weakly bisimilar. | |
template<class LTS_TYPE > | |
bool | weak_bisimulation_compare (const LTS_TYPE &l1, const LTS_TYPE &l2, const bool preserve_divergences=false) |
Checks whether the initial states of two LTSs are weakly bisimilar. | |
utilities::probabilistic_arbitrary_precision_fraction | translate_probability_data_to_arbitrary_size_probability (const data::data_expression &d) |
Translate a fraction given as a data_expression to a representation with an arbitrary size fraction. | |
template<class PROBABILISTIC_STATE1 , class PROBABILISTIC_STATE2 > | |
PROBABILISTIC_STATE2 | lts_convert_probabilistic_state (const PROBABILISTIC_STATE1 &) |
mcrl2::utilities::probabilistic_arbitrary_precision_fraction | translate_probability_data_prob (const data::data_expression &d) |
action_label_lts | translate_label_aux (const action_label_string &l1, const data::data_specification &data, lps::multi_action_type_checker &typechecker) |
void | lts_convert_base_class (const lts_lts_base &base_in, lts_lts_base &base_out) |
void | lts_convert_base_class (const lts_lts_base &base_in, lts_lts_base &base_out, const data::data_specification &, const process::action_label_list &, const data::variable_list &, const bool extra_data_is_defined=true) |
action_label_lts | lts_convert_translate_label (const action_label_lts &l_in, convertor< lts_lts_base, lts_lts_base > &) |
void | lts_convert_translate_state (const state_label_lts &state_label_in, state_label_lts &state_label_out, convertor< lts_lts_base, lts_lts_base > &) |
void | lts_convert_base_class (const lts_lts_base &base_in, lts_fsm_base &base_out) |
action_label_string | lts_convert_translate_label (const action_label_lts &l_in, convertor< lts_lts_base, lts_fsm_base > &) |
void | lts_convert_base_class (const lts_lts_base &base_in, lts_fsm_base &base_out, const data::data_specification &, const process::action_label_list &, const data::variable_list &, const bool extra_data_is_defined=true) |
void | lts_convert_translate_state (const state_label_lts &state_label_in, state_label_fsm &state_label_out, convertor< lts_lts_base, lts_fsm_base > &c) |
void | lts_convert_base_class (const lts_lts_base &, lts_aut_base &) |
void | lts_convert_base_class (const lts_lts_base &base_in, lts_aut_base &base_out, const data::data_specification &, const process::action_label_list &, const data::variable_list &, const bool extra_data_is_defined=true) |
action_label_string | lts_convert_translate_label (const action_label_lts &l_in, convertor< lts_lts_base, lts_aut_base > &) |
void | lts_convert_translate_state (const state_label_lts &, state_label_empty &state_label_out, convertor< lts_lts_base, lts_aut_base > &) |
void | lts_convert_base_class (const lts_lts_base &, lts_dot_base &) |
void | lts_convert_base_class (const lts_lts_base &base_in, lts_dot_base &base_out, const data::data_specification &, const process::action_label_list &, const data::variable_list &, const bool extra_data_is_defined=true) |
action_label_string | lts_convert_translate_label (const action_label_lts &l_in, convertor< lts_lts_base, lts_dot_base > &) |
void | lts_convert_translate_state (const state_label_lts &state_label_in, state_label_dot &state_label_out, convertor< lts_lts_base, lts_dot_base > &c) |
void | lts_convert_base_class (const lts_fsm_base &, lts_lts_base &) |
void | lts_convert_base_class (const lts_fsm_base &base_in, lts_lts_base &base_out, const data::data_specification &data, const process::action_label_list &action_labels, const data::variable_list &process_parameters, const bool extra_data_is_defined=true) |
action_label_lts | lts_convert_translate_label (const action_label_string &l1, convertor< lts_fsm_base, lts_lts_base > &c) |
void | lts_convert_translate_state (const state_label_fsm &state_label_in, state_label_lts &state_label_out, convertor< lts_fsm_base, lts_lts_base > &c) |
void | lts_convert_base_class (const lts_fsm_base &base_in, lts_fsm_base &base_out) |
void | lts_convert_base_class (const lts_fsm_base &base_in, lts_fsm_base &base_out, const data::data_specification &, const process::action_label_list &, const data::variable_list &, const bool extra_data_is_defined=true) |
void | lts_convert_translate_state (const state_label_fsm &state_label_in, state_label_fsm &state_label_out, convertor< lts_fsm_base, lts_fsm_base > &) |
action_label_string | lts_convert_translate_label (const action_label_string &l_in, convertor< lts_fsm_base, lts_fsm_base > &) |
void | lts_convert_base_class (const lts_fsm_base &, lts_aut_base &) |
void | lts_convert_base_class (const lts_fsm_base &base_in, lts_aut_base &base_out, const data::data_specification &, const process::action_label_list &, const data::variable_list &, const bool extra_data_is_defined=true) |
void | lts_convert_translate_state (const state_label_fsm &, state_label_empty &state_label_out, convertor< lts_fsm_base, lts_aut_base > &) |
action_label_string | lts_convert_translate_label (const action_label_string &l_in, convertor< lts_fsm_base, lts_aut_base > &) |
void | lts_convert_base_class (const lts_fsm_base &, lts_dot_base &) |
void | lts_convert_base_class (const lts_fsm_base &base_in, lts_dot_base &base_out, const data::data_specification &, const process::action_label_list &, const data::variable_list &, const bool extra_data_is_defined=true) |
void | lts_convert_translate_state (const state_label_fsm &state_label_in, state_label_dot &state_label_out, convertor< lts_fsm_base, lts_dot_base > &c) |
action_label_string | lts_convert_translate_label (const action_label_string &l_in, convertor< lts_fsm_base, lts_dot_base > &) |
void | lts_convert_base_class (const lts_aut_base &, lts_lts_base &) |
void | lts_convert_base_class (const lts_aut_base &base_in, lts_lts_base &base_out, const data::data_specification &data, const process::action_label_list &action_labels, const data::variable_list &process_parameters, const bool extra_data_is_defined=true) |
action_label_lts | lts_convert_translate_label (const action_label_string &l_in, convertor< lts_aut_base, lts_lts_base > &c) |
void | lts_convert_translate_state (const state_label_empty &, state_label_lts &state_label_out, convertor< lts_aut_base, lts_lts_base > &) |
void | lts_convert_base_class (const lts_aut_base &, lts_fsm_base &base_out) |
void | lts_convert_base_class (const lts_aut_base &base_in, lts_fsm_base &base_out, const data::data_specification &, const process::action_label_list &, const data::variable_list &, const bool extra_data_is_defined=true) |
action_label_string | lts_convert_translate_label (const action_label_string &l_in, convertor< lts_aut_base, lts_fsm_base > &) |
void | lts_convert_translate_state (const state_label_empty &, state_label_fsm &state_label_out, convertor< lts_aut_base, lts_fsm_base > &) |
void | lts_convert_base_class (const lts_aut_base &base_in, lts_aut_base &base_out) |
void | lts_convert_base_class (const lts_aut_base &base_in, lts_aut_base &base_out, const data::data_specification &, const process::action_label_list &, const data::variable_list &, const bool extra_data_is_defined=true) |
void | lts_convert_translate_state (const state_label_empty &state_label_in, state_label_empty &state_label_out, convertor< lts_aut_base, lts_aut_base > &) |
action_label_string | lts_convert_translate_label (const action_label_string &l_in, convertor< lts_aut_base, lts_aut_base > &) |
void | lts_convert_base_class (const lts_aut_base &, lts_dot_base &) |
void | lts_convert_base_class (const lts_aut_base &base_in, lts_dot_base &base_out, const data::data_specification &, const process::action_label_list &, const data::variable_list &, const bool extra_data_is_defined=true) |
void | lts_convert_translate_state (const state_label_empty &, state_label_dot &state_label_out, convertor< lts_aut_base, lts_dot_base > &) |
action_label_string | lts_convert_translate_label (const action_label_string &l_in, convertor< lts_aut_base, lts_dot_base > &) |
template<class STATE_LABEL1 , class ACTION_LABEL1 , class LTS_BASE1 , class STATE_LABEL2 , class ACTION_LABEL2 , class LTS_BASE2 > | |
void | lts_convert_aux (const lts< STATE_LABEL1, ACTION_LABEL1, LTS_BASE1 > <s_in, lts< STATE_LABEL2, ACTION_LABEL2, LTS_BASE2 > <s_out) |
template<class STATE_LABEL1 , class ACTION_LABEL1 , class LTS_BASE1 , class STATE_LABEL2 , class ACTION_LABEL2 , class LTS_BASE2 > | |
void | lts_convert (const lts< STATE_LABEL1, ACTION_LABEL1, LTS_BASE1 > <s_in, lts< STATE_LABEL2, ACTION_LABEL2, LTS_BASE2 > <s_out) |
template<class STATE_LABEL1 , class ACTION_LABEL1 , class LTS_BASE1 , class STATE_LABEL2 , class ACTION_LABEL2 , class LTS_BASE2 > | |
void | lts_convert (const lts< STATE_LABEL1, ACTION_LABEL1, LTS_BASE1 > <s_in, lts< STATE_LABEL2, ACTION_LABEL2, LTS_BASE2 > <s_out, const data::data_specification &ds, const process::action_label_list &all, const data::variable_list &vl, const bool extra_data_is_defined=true) |
template<class STATE_LABEL1 , class ACTION_LABEL1 , class PROBABILISTIC_STATE1 , class LTS_BASE1 , class STATE_LABEL2 , class ACTION_LABEL2 , class LTS_BASE2 > | |
void | remove_probabilities (const probabilistic_lts< STATE_LABEL1, ACTION_LABEL1, PROBABILISTIC_STATE1, LTS_BASE1 > <s_in, lts< STATE_LABEL2, ACTION_LABEL2, LTS_BASE2 > <s_out) |
template<class STATE_LABEL1 , class ACTION_LABEL1 , class LTS_BASE1 , class PROBABILISTIC_STATE1 , class STATE_LABEL2 , class ACTION_LABEL2 , class LTS_BASE2 > | |
void | lts_convert (const probabilistic_lts< STATE_LABEL1, ACTION_LABEL1, PROBABILISTIC_STATE1, LTS_BASE1 > <s_in, lts< STATE_LABEL2, ACTION_LABEL2, LTS_BASE2 > <s_out) |
template<class STATE_LABEL1 , class ACTION_LABEL1 , class PROBABILISTIC_STATE1 , class LTS_BASE1 , class STATE_LABEL2 , class ACTION_LABEL2 , class LTS_BASE2 > | |
void | lts_convert (const probabilistic_lts< STATE_LABEL1, ACTION_LABEL1, PROBABILISTIC_STATE1, LTS_BASE1 > <s_in, lts< STATE_LABEL2, ACTION_LABEL2, LTS_BASE2 > <s_out, const data::data_specification &data, const process::action_label_list &action_label_list, const data::variable_list &process_parameters, const bool extra_data_is_defined=true) |
template<class STATE_LABEL1 , class ACTION_LABEL1 , class LTS_BASE1 , class STATE_LABEL2 , class ACTION_LABEL2 , class PROBABILISTIC_STATE2 , class LTS_BASE2 > | |
void | add_probabilities (const lts< STATE_LABEL1, ACTION_LABEL1, LTS_BASE1 > <s_in, probabilistic_lts< STATE_LABEL2, ACTION_LABEL2, PROBABILISTIC_STATE2, LTS_BASE2 > <s_out) |
template<class STATE_LABEL1 , class ACTION_LABEL1 , class LTS_BASE1 , class STATE_LABEL2 , class ACTION_LABEL2 , class PROBABILISTIC_STATE2 , class LTS_BASE2 > | |
void | lts_convert (const lts< STATE_LABEL1, ACTION_LABEL1, LTS_BASE1 > <s_in, probabilistic_lts< STATE_LABEL2, ACTION_LABEL2, PROBABILISTIC_STATE2, LTS_BASE2 > <s_out) |
template<class STATE_LABEL1 , class ACTION_LABEL1 , class LTS_BASE1 , class STATE_LABEL2 , class ACTION_LABEL2 , class PROBABILISTIC_STATE2 , class LTS_BASE2 > | |
void | lts_convert (const lts< STATE_LABEL1, ACTION_LABEL1, LTS_BASE1 > <s_in, probabilistic_lts< STATE_LABEL2, ACTION_LABEL2, PROBABILISTIC_STATE2, LTS_BASE2 > <s_out, const data::data_specification &data, const process::action_label_list &action_label_list, const data::variable_list &process_parameters, const bool extra_data_is_defined=true) |
template<class STATE_LABEL1 , class ACTION_LABEL1 , class PROBABILISTIC_STATE1 , class LTS_BASE1 , class STATE_LABEL2 , class ACTION_LABEL2 , class PROBABILISTIC_STATE2 , class LTS_BASE2 > | |
void | translate_probability_labels (const probabilistic_lts< STATE_LABEL1, ACTION_LABEL1, PROBABILISTIC_STATE1, LTS_BASE1 > <s_in, probabilistic_lts< STATE_LABEL2, ACTION_LABEL2, PROBABILISTIC_STATE2, LTS_BASE2 > <s_out) |
template<class STATE_LABEL1 , class ACTION_LABEL1 , class PROBABILISTIC_STATE1 , class LTS_BASE1 , class STATE_LABEL2 , class ACTION_LABEL2 , class PROBABILISTIC_STATE2 , class LTS_BASE2 > | |
void | lts_convert (const probabilistic_lts< STATE_LABEL1, ACTION_LABEL1, PROBABILISTIC_STATE1, LTS_BASE1 > <s_in, probabilistic_lts< STATE_LABEL2, ACTION_LABEL2, PROBABILISTIC_STATE2, LTS_BASE2 > <s_out) |
template<class STATE_LABEL1 , class ACTION_LABEL1 , class PROBABILISTIC_STATE1 , class LTS_BASE1 , class STATE_LABEL2 , class ACTION_LABEL2 , class PROBABILISTIC_STATE2 , class LTS_BASE2 > | |
void | lts_convert (const probabilistic_lts< STATE_LABEL1, ACTION_LABEL1, PROBABILISTIC_STATE1, LTS_BASE1 > <s_in, probabilistic_lts< STATE_LABEL2, ACTION_LABEL2, PROBABILISTIC_STATE2, LTS_BASE2 > <s_out, const data::data_specification &data, const process::action_label_list &action_label_list, const data::variable_list &process_parameters, const bool extra_data_is_defined=true) |
void | add_options (utilities::interface_description &desc) |
template<class LTS_TYPE > | |
void | load_lts (const utilities::command_line_parser &parser, const std::string <sfilename, LTS_TYPE &result) |
template<class LTS_TYPE > | |
lps::stochastic_specification | extract_specification (const LTS_TYPE &l) |
std::size_t | apply_hidden_labels (const std::size_t n, const std::set< std::size_t > &hidden_action_set) |
template<class LTS_TYPE > | |
void | get_trans (const outgoing_transitions_per_state_t &begin, tree_set_store &tss, std::size_t d, std::vector< transition > &d_trans, LTS_TYPE &aut) |
lts_type | guess_format (std::string const &s, const bool be_verbose=true) |
Determines the LTS format from a filename by its extension. | |
lts_type | parse_format (std::string const &s) |
Determines the LTS format from a format specification string. | |
std::string | string_for_type (const lts_type type) |
Gives a string representation of an LTS format. | |
std::string | extension_for_type (const lts_type type) |
Gives the filename extension associated with an LTS format. | |
std::string | mime_type_for_type (const lts_type type) |
Gives the MIME type associated with an LTS format. | |
const std::set< lts_type > & | supported_lts_formats () |
Gives the set of all supported LTS formats. | |
std::string | supported_lts_formats_text (lts_type default_format=lts_none, const std::set< lts_type > &supported=supported_lts_formats()) |
Gives a textual list describing supported LTS formats. | |
std::string | supported_lts_formats_text (const std::set< lts_type > &supported) |
Gives a textual list describing supported LTS formats. | |
std::string | lts_extensions_as_string (const std::string &sep=",", const std::set< lts_type > &supported=supported_lts_formats()) |
Gives a list of extensions for supported LTS formats. | |
std::string | lts_extensions_as_string (const std::set< lts_type > &supported) |
Gives a list of extensions for supported LTS formats. | |
void | read_lps_context (const std::string &data_file, data::data_specification &data, process::action_label_list &action_labels, data::variable_list &process_parameters) |
void | read_data_context (const std::string &data_file, data::data_specification &data, process::action_label_list &action_labels) |
void | read_mcrl2_context (const std::string &data_file, data::data_specification &data, process::action_label_list &action_labels) |
template<class LTS_TYPE_IN , class LTS_TYPE_OUT > | |
void | convert_to_lts_lts (LTS_TYPE_IN &src, LTS_TYPE_OUT &dest, const data_file_type_t extra_data_file_type, const std::string &extra_data_file_name) |
template<class LABEL_TYPE > | |
LABEL_TYPE | make_divergence_label (const std::string &s) |
template<> | |
mcrl2::lts::action_label_lts | make_divergence_label< mcrl2::lts::action_label_lts > (const std::string &s) |
template<class LTS_TYPE > | |
std::size_t | mark_explicit_divergence_transitions (LTS_TYPE &l) |
template<class LTS_TYPE > | |
void | unmark_explicit_divergence_transitions (LTS_TYPE &l, const std::size_t divergent_transition_label) |
bool | save_trace (class trace &tr, const std::string &filename) |
void | save_traces (class trace &tr, const std::string &filename1, class trace &tr2, const std::string &filename2) |
static const std::set< lts_type > & | initialise_supported_lts_formats () |
template<typename T > | |
bool | lts_named_cmp (const std::string N[], T a, T b) |
static const atermpp::aterm & | transition_mark () |
static const atermpp::aterm & | probabilistic_transition_mark () |
static const atermpp::aterm & | initial_state_mark () |
static const atermpp::aterm & | labelled_transition_system_mark () |
static void | set_initial_state (lts_lts_t <s, const probabilistic_lts_lts_t::probabilistic_state_t &initial_state) |
static void | set_initial_state (probabilistic_lts_lts_t <s, const probabilistic_lts_lts_t::probabilistic_state_t &initial_state) |
template<class LTS > | |
static void | read_lts (atermpp::aterm_istream &stream, LTS <s) |
template<class LTS_TRANSITION_SYSTEM > | |
static void | read_from_lts (LTS_TRANSITION_SYSTEM <s, const std::string &filename) |
void | write_initial_state (atermpp::aterm_ostream &stream, const probabilistic_lts_lts_t <s) |
void | write_initial_state (atermpp::aterm_ostream &stream, const lts_lts_t <s) |
template<class LTS > | |
static void | write_lts (atermpp::aterm_ostream &stream, const LTS <s) |
template<class LTS_TRANSITION_SYSTEM > | |
static void | write_to_lts (const LTS_TRANSITION_SYSTEM <s, const std::string &filename) |
Variables | |
const unsigned char | NODE_ATK = 0 |
const unsigned char | NODE_DEF = 1 |
const unsigned char | NODE_CPL = 2 |
static const std::string | type_strings [] = { "unknown", "lts", "aut", "fsm", "dot" } |
static const std::string | extension_strings [] = { "", "lts", "aut", "fsm", "dot" } |
static std::string | type_desc_strings [] |
static std::string | mime_type_strings [] |
A base class for the lts_dot labelled transition system.
typedef std::set< label_type > mcrl2::lts::detail::action_label_set |
Definition at line 37 of file liblts_failures_refinement.h.
typedef std::multimap<detail::state_type,detail::set_of_states> mcrl2::lts::detail::anti_chain_type |
Definition at line 36 of file liblts_failures_refinement.h.
using mcrl2::lts::detail::iterator_or_null_t = typedef typename simple_list<El>::iterator_or_null |
Definition at line 612 of file simple_list.h.
typedef std::size_t mcrl2::lts::detail::label_type |
type used to store label numbers and counts
It would be better to define it as LTS_TYPE::labels_size_type, but that would require most classes to become templates.
Definition at line 113 of file liblts_bisim_dnj.h.
typedef std::set<bisim_gjkw::constln_t*, constln_ptr_less> mcrl2::lts::detail::R_map_t |
Definition at line 2984 of file liblts_bisim_gjkw.cpp.
typedef std::set<state_type> mcrl2::lts::detail::set_of_states |
Definition at line 35 of file liblts_failures_refinement.h.
typedef std::make_signed<trans_type>::type mcrl2::lts::detail::signed_trans_type |
type used to store differences between transition counters
Definition at line 114 of file check_complexity.h.
typedef std::size_t mcrl2::lts::detail::state_type |
type used to store state (numbers and) counts
defined here because this is the most basic #include header that uses it.
It would be better to define it as LTS_TYPE::states_size_type but that would require most classes to become templates.
Definition at line 97 of file check_complexity.h.
typedef std::size_t mcrl2::lts::detail::trans_type |
type used to store transition (numbers and) counts
defined here because this is the most basic #include header that uses it.
It would be better to define it as LTS_TYPE::transitions_size_type but that would require most classes to become templates.
Definition at line 107 of file check_complexity.h.
Enumerator | |
---|---|
unknown | |
reached | |
explored |
Definition at line 26 of file liblts_tau_star_reduce.h.
void mcrl2::lts::detail::add_an_action_loop_to_each_state | ( | LTS_TYPE & | l, |
std::size_t | action | ||
) |
Definition at line 25 of file liblts_add_an_action_loop.h.
|
inline |
Definition at line 26 of file lts_load.h.
|
inline |
Definition at line 906 of file lts_convert.h.
|
inline |
Definition at line 504 of file liblts_failures_refinement.h.
|
inline |
Definition at line 25 of file transition.h.
bool mcrl2::lts::detail::bisimulation_compare | ( | const LTS_TYPE & | l1, |
const LTS_TYPE & | l2, | ||
const bool | branching = false , |
||
const bool | preserve_divergences = false , |
||
const bool | generate_counter_examples = false , |
||
const std::string & | counter_example_file = "" , |
||
const bool | structured_output = false |
||
) |
Checks whether the two initial states of two lts's are strong or branching bisimilar.
The current transitions system and the lts l2 are first duplicated and subsequently reduced modulo bisimulation. If memory space is a concern, one could consider to use destructive_bisimulation_compare. This routine uses the Groote-Vaandrager branching bisimulation routine. It runs in O(mn) and uses O(n) memory where n is the number of states and m is the number of transitions.
[in/out] | l1 A first transition system. | |
[in/out] | l2 A second transistion system. | |
[in] | branching | If true branching bisimulation is used, otherwise strong bisimulation is applied. |
[in] | preserve_divergences | If true and branching is true, preserve tau loops on states. |
[in] | generate_counter_examples | Whether to generate a counter example |
[in] | counter_example_file | The file to store the counter example in |
[in] | structured_output |
True | iff the initial states of the current transition system and l2 are (divergence preserving) (branching) bisimilar |
Definition at line 1214 of file liblts_bisim.h.
|
inline |
Checks whether the two initial states of two LTSs are strong or (divergence-preserving) branching bisimilar.
The LTSs l1 and l2 are first duplicated and subsequently reduced modulo bisimulation. If memory is a concern, one could consider to use destructive_bisimulation_compare(). This routine uses the O(m log n) branching bisimulation algorithm developed in 2018 by David N. Jansen. It runs in O(m log n) time and uses O(m) memory, where n is the number of states and m is the number of transitions.
l1 | A first transition system. |
l2 | A second transistion system. |
branching | If true branching bisimulation is used, otherwise strong bisimulation is applied. |
preserve_divergence | If true and branching is true, preserve tau loops on states. |
True | iff the initial states of the transition systems l1 and l2 are ((divergence-preserving) branching) bisimilar. |
Definition at line 7136 of file liblts_bisim_gj.h.
void mcrl2::lts::detail::bisimulation_reduce | ( | LTS_TYPE & | l, |
const bool | branching = false , |
||
const bool | preserve_divergences = false |
||
) |
Reduce transition system l with respect to strong or (divergence preserving) branching bisimulation.
[in/out] | l The transition system that is reduced. | |
[in] | branching | If true branching bisimulation is applied, otherwise strong bisimulation. |
[in] | preserve_divergences | Indicates whether loops of internal actions on states must be preserved. If false these are removed. If true these are preserved. |
Definition at line 1195 of file liblts_bisim.h.
void mcrl2::lts::detail::bisimulation_reduce_gj | ( | LTS_TYPE & | l, |
const bool | branching = false , |
||
const bool | preserve_divergence = false |
||
) |
nonmember functions serving as interface with the rest of mCRL2
These functions are copied, almost without changes, from liblts_bisim_gw.h, which was written by Anton Wijs.
Reduce transition system l with respect to strong or (divergence-preserving) branching bisimulation.
[in,out] | l | The transition system that is reduced. |
branching | If true branching bisimulation is applied, otherwise strong bisimulation. | |
preserve_divergence | Indicates whether loops of internal actions on states must be preserved. If false these are removed. If true these are preserved. |
Definition at line 7043 of file liblts_bisim_gj.h.
std::map< std::size_t, std::set< typename lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE_CLASS >::states_size_type > > mcrl2::lts::detail::calculate_non_reflexive_transitive_tau_closure | ( | lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE_CLASS > & | l, |
const bool | forward | ||
) |
This procedure calculates the transitive tau closure as a separate vector of transitions, for a given transition system. \parameter l A labelled transition system \parameter forward A boolean that indicates whether the resulting closure.
Definition at line 40 of file liblts_tau_star_reduce.h.
const set_of_states & mcrl2::lts::detail::calculate_tau_reachable_states | ( | const set_of_states & | states, |
const lts_cache< LTS_TYPE > & | weak_property_cache | ||
) |
Definition at line 543 of file liblts_failures_refinement.h.
set_of_states mcrl2::lts::detail::collect_reachable_states_via_an_action | ( | const state_type | s, |
const label_type | e, | ||
const lts_cache< LTS_TYPE > & | weak_property_cache, | ||
const bool | weak_reduction, | ||
const LTS_TYPE & | l | ||
) |
Definition at line 468 of file liblts_failures_refinement.h.
set_of_states mcrl2::lts::detail::collect_reachable_states_via_taus | ( | const set_of_states & | s, |
const lts_cache< LTS_TYPE > & | weak_property_cache, | ||
const bool | weak_reduction | ||
) |
Definition at line 428 of file liblts_failures_refinement.h.
set_of_states mcrl2::lts::detail::collect_reachable_states_via_taus | ( | const state_type | s, |
const lts_cache< LTS_TYPE > & | weak_property_cache, | ||
const bool | weak_reduction | ||
) |
Definition at line 458 of file liblts_failures_refinement.h.
|
inline |
bool mcrl2::lts::detail::coupled_simulation_compare | ( | LTS_TYPE & | l1, |
LTS_TYPE & | l2 | ||
) |
(q,p1)a
Definition at line 148 of file liblts_coupledsim.h.
bool mcrl2::lts::detail::destructive_bisimulation_compare | ( | LTS_TYPE & | l1, |
LTS_TYPE & | l2, | ||
const bool | branching = false , |
||
const bool | preserve_divergences = false , |
||
const bool | generate_counter_examples = false , |
||
const std::string & | counter_example_file = "" , |
||
const bool | structured_output = false |
||
) |
Checks whether the two initial states of two lts's are strong or branching bisimilar.
This lts and the lts l2 are not usable anymore after this call. The space consumption is O(n) and time is O(nm). It uses the branching bisimulation algorithm by Groote and Vaandrager from 1990.
[in/out] | l1 A first transition system. | |
[in/out] | l2 A second transition system. | |
[in] | branching | If true branching bisimulation is used, otherwise strong bisimulation is applied. |
[in] | preserve_divergences | If true and branching is true, preserve tau loops on states. |
[in] | generate_counter_examples | Whether to generate a counter example |
[in] | counter_example_file | The file to store the counter example in |
[in] | structured_output |
True | iff the initial states of the current transition system and l2 are (divergence preserving) (branching) bisimilar |
Definition at line 1242 of file liblts_bisim.h.
bool mcrl2::lts::detail::destructive_bisimulation_compare_gj | ( | LTS_TYPE & | l1, |
LTS_TYPE & | l2, | ||
const bool | branching = false , |
||
const bool | preserve_divergence = false , |
||
const bool | generate_counter_examples = false , |
||
const std::string & | = "" , |
||
bool | = false |
||
) |
Checks whether the two initial states of two LTSs are strong or (divergence-preserving) branching bisimilar.
This routine uses the O(m log n) branching bisimulation algorithm developed in 2018 by David N. Jansen. It runs in O(m log n) time and uses O(m) memory, where n is the number of states and m is the number of transitions.
The LTSs l1 and l2 are not usable anymore after this call.
[in,out] | l1 | A first transition system. |
[in,out] | l2 | A second transistion system. |
branching | If true branching bisimulation is used, otherwise strong bisimulation is applied. | |
preserve_divergence | If true and branching is true, preserve tau loops on states. | |
generate_counter_examples | (non-functional, only in the interface for historical reasons) |
Definition at line 7090 of file liblts_bisim_gj.h.
bool mcrl2::lts::detail::destructive_bisimulation_compare_minimal_depth | ( | LTS_TYPE & | l1, |
LTS_TYPE & | l2, | ||
const std::string & | counter_example_file | ||
) |
Definition at line 631 of file liblts_bisim_minimal_depth.h.
bool mcrl2::lts::detail::destructive_branching_bisimulation_compare_minimal_depth | ( | LTS_TYPE & | l1, |
LTS_TYPE & | l2, | ||
const std::string & | counter_example_file | ||
) |
Definition at line 613 of file liblts_branching_bisim_minimal_depth.h.
bool mcrl2::lts::detail::destructive_probabilistic_bisimulation_compare_bem | ( | LTS_TYPE & | l1, |
LTS_TYPE & | l2, | ||
utilities::execution_timer & | timer | ||
) |
Checks whether the two initial states of two plts's are probabilistic bisimilar.
This lts and the lts l2 are not usable anymore after this call.
[in/out] | l1 A first probabilistic transition system. |
[in/out] | l2 A second probabilistic transition system. |
True | iff the initial states of the current transition system and l2 are probabilistic bisimilar |
Definition at line 834 of file liblts_pbisim_bem.h.
bool mcrl2::lts::detail::destructive_probabilistic_bisimulation_compare_grv | ( | LTS_TYPE & | l1, |
LTS_TYPE & | l2, | ||
utilities::execution_timer & | timer | ||
) |
Checks whether the two initial states of two plts's are probabilistic bisimilar.
This lts and the lts l2 are not usable anymore after this call.
[in/out] | l1 A first probabilistic transition system. |
[in/out] | l2 A second probabilistic transition system. |
True | iff the initial states of the current transition system and l2 are probabilistic bisimilar |
Definition at line 1378 of file liblts_pbisim_grv.h.
bool mcrl2::lts::detail::destructive_weak_bisimulation_compare | ( | LTS_TYPE & | l1, |
LTS_TYPE & | l2, | ||
const bool | preserve_divergences = false |
||
) |
Checks whether the initial states of two LTSs are weakly bisimilar.
The LTSs l1 and l2 are not usable anymore after this call. The space consumption is O(n) and running time is dominated by the transitive closure (after branching bisimulation).
[in/out] | l1 A first transition system. |
[in/out] | l2 A second transistion system. |
[preserve_divergences] | If true and branching is true, preserve tau loops on states. |
True | iff the initial states of the current transition system and l2 are (divergence preserving) (branching) bisimilar |
Definition at line 75 of file liblts_weak_bisim.h.
|
inline |
Definition at line 131 of file liblts_coupledsim.h.
std::string mcrl2::lts::detail::extension_for_type | ( | const lts_type | type | ) |
Gives the filename extension associated with an LTS format.
[in] | type | The LTS format. |
Definition at line 118 of file liblts.cpp.
lps::stochastic_specification mcrl2::lts::detail::extract_specification | ( | const LTS_TYPE & | l | ) |
Definition at line 87 of file lts_load.h.
void mcrl2::lts::detail::get_trans | ( | const outgoing_transitions_per_state_t & | begin, |
tree_set_store & | tss, | ||
std::size_t | d, | ||
std::vector< transition > & | d_trans, | ||
LTS_TYPE & | aut | ||
) |
Definition at line 1036 of file lts_algorithm.h.
lts_type mcrl2::lts::detail::guess_format | ( | std::string const & | s, |
const bool | be_verbose = true |
||
) |
Determines the LTS format from a filename by its extension.
[in] | s | The name of the file of which the format will be determined. |
[in] | be_verbose | If true, messages about the detected file format are printed in verbose mode. |
Definition at line 26 of file liblts.cpp.
|
static |
Definition at line 102 of file liblts_lts.cpp.
|
static |
Definition at line 128 of file liblts.cpp.
|
static |
Definition at line 108 of file liblts_lts.cpp.
void mcrl2::lts::detail::load_lts | ( | const utilities::command_line_parser & | parser, |
const std::string & | ltsfilename, | ||
LTS_TYPE & | result | ||
) |
Definition at line 44 of file lts_load.h.
|
inline |
Definition at line 826 of file lts_convert.h.
|
inline |
Definition at line 835 of file lts_convert.h.
|
inline |
Definition at line 918 of file lts_convert.h.
|
inline |
Definition at line 927 of file lts_convert.h.
|
inline |
Definition at line 879 of file lts_convert.h.
|
inline |
Definition at line 891 of file lts_convert.h.
|
inline |
Definition at line 956 of file lts_convert.h.
|
inline |
Definition at line 966 of file lts_convert.h.
|
inline |
Definition at line 789 of file lts_convert.h.
|
inline |
Definition at line 751 of file lts_convert.h.
|
inline |
Definition at line 688 of file lts_convert.h.
|
inline |
Definition at line 646 of file lts_convert.h.
|
inline |
Definition at line 720 of file lts_convert.h.
|
inline |
Definition at line 725 of file lts_convert.h.
|
inline |
Definition at line 756 of file lts_convert.h.
|
inline |
Definition at line 694 of file lts_convert.h.
|
inline |
Definition at line 651 of file lts_convert.h.
|
inline |
Definition at line 541 of file lts_convert.h.
|
inline |
Definition at line 586 of file lts_convert.h.
|
inline |
Definition at line 436 of file lts_convert.h.
|
inline |
Definition at line 546 of file lts_convert.h.
|
inline |
Definition at line 591 of file lts_convert.h.
|
inline |
Definition at line 510 of file lts_convert.h.
|
inline |
Definition at line 515 of file lts_convert.h.
|
inline |
Definition at line 441 of file lts_convert.h.
|
inline |
Definition at line 343 of file lts_convert.h.
|
inline |
Definition at line 386 of file lts_convert.h.
|
inline |
Definition at line 348 of file lts_convert.h.
|
inline |
Definition at line 391 of file lts_convert.h.
|
inline |
Definition at line 271 of file lts_convert.h.
|
inline |
Definition at line 286 of file lts_convert.h.
|
inline |
Definition at line 225 of file lts_convert.h.
|
inline |
Definition at line 230 of file lts_convert.h.
|
inline |
Definition at line 50 of file lts_convert.h.
|
inline |
Definition at line 362 of file lts_convert.h.
|
inline |
Definition at line 405 of file lts_convert.h.
|
inline |
Definition at line 281 of file lts_convert.h.
|
inline |
Definition at line 244 of file lts_convert.h.
|
inline |
Definition at line 460 of file lts_convert.h.
|
inline |
Definition at line 744 of file lts_convert.h.
|
inline |
Definition at line 775 of file lts_convert.h.
|
inline |
Definition at line 708 of file lts_convert.h.
|
inline |
Definition at line 670 of file lts_convert.h.
|
inline |
Definition at line 565 of file lts_convert.h.
|
inline |
Definition at line 624 of file lts_convert.h.
|
inline |
Definition at line 534 of file lts_convert.h.
|
inline |
Definition at line 770 of file lts_convert.h.
|
inline |
Definition at line 713 of file lts_convert.h.
|
inline |
Definition at line 675 of file lts_convert.h.
|
inline |
Definition at line 739 of file lts_convert.h.
|
inline |
Definition at line 560 of file lts_convert.h.
|
inline |
Definition at line 605 of file lts_convert.h.
|
inline |
Definition at line 529 of file lts_convert.h.
|
inline |
Definition at line 465 of file lts_convert.h.
|
inline |
Definition at line 367 of file lts_convert.h.
|
inline |
Definition at line 410 of file lts_convert.h.
|
inline |
Definition at line 300 of file lts_convert.h.
|
inline |
Definition at line 249 of file lts_convert.h.
std::string mcrl2::lts::detail::lts_extensions_as_string | ( | const std::set< lts_type > & | supported | ) |
Gives a list of extensions for supported LTS formats.
[in] | supported | The formats that should be considered supported. |
Definition at line 220 of file liblts.cpp.
std::string mcrl2::lts::detail::lts_extensions_as_string | ( | const std::string & | sep = "," , |
const std::set< lts_type > & | supported = supported_lts_formats() |
||
) |
Gives a list of extensions for supported LTS formats.
[in] | sep | The separator to use between each extension. |
[in] | supported | The formats that should be considered supported. |
Definition at line 190 of file liblts.cpp.
bool mcrl2::lts::detail::lts_named_cmp | ( | const std::string | N[], |
T | a, | ||
T | b | ||
) |
Definition at line 148 of file liblts.cpp.
LABEL_TYPE mcrl2::lts::detail::make_divergence_label | ( | const std::string & | s | ) |
Definition at line 784 of file lts_utilities.h.
|
inline |
Definition at line 790 of file lts_utilities.h.
std::size_t mcrl2::lts::detail::mark_explicit_divergence_transitions | ( | LTS_TYPE & | l | ) |
Definition at line 800 of file lts_utilities.h.
void mcrl2::lts::detail::merge | ( | LTS_TYPE & | l1, |
const LTS_TYPE & | l2 | ||
) |
Definition at line 43 of file liblts_merge.h.
std::string mcrl2::lts::detail::mime_type_for_type | ( | const lts_type | type | ) |
Gives the MIME type associated with an LTS format.
[in] | type | The LTS format. |
Definition at line 123 of file liblts.cpp.
|
inline |
Definition at line 87 of file liblts_coupledsim.h.
|
inline |
Definition at line 140 of file liblts_coupledsim.h.
|
inline |
Definition at line 93 of file liblts_coupledsim.h.
|
inline |
Definition at line 77 of file liblts_coupledsim.h.
|
inline |
Definition at line 45 of file fsm_builder.h.
lts_type mcrl2::lts::detail::parse_format | ( | std::string const & | s | ) |
Determines the LTS format from a format specification string.
This can be any of the following strings:
[in] | s | The format specification string. |
Definition at line 92 of file liblts.cpp.
void mcrl2::lts::detail::plts_merge | ( | LTS_TYPE & | l1, |
const LTS_TYPE & | l2 | ||
) |
Definition at line 43 of file liblts_plts_merge.h.
bool mcrl2::lts::detail::probabilistic_bisimulation_compare_bem | ( | const LTS_TYPE & | l1, |
const LTS_TYPE & | l2, | ||
utilities::execution_timer & | timer | ||
) |
Checks whether the two initial states of two plts's are probabilistic bisimilar.
The current transitions system and the lts l2 are first duplicated and subsequently reduced modulo bisimulation. If memory space is a concern, one could consider to use destructive_bisimulation_compare.
[in/out] | l1 A first transition system. |
[in/out] | l2 A second transistion system. |
True | iff the initial states of the current transition system and l2 are probabilistic bisimilar |
Definition at line 823 of file liblts_pbisim_bem.h.
bool mcrl2::lts::detail::probabilistic_bisimulation_compare_grv | ( | const LTS_TYPE & | l1, |
const LTS_TYPE & | l2, | ||
utilities::execution_timer & | timer | ||
) |
Checks whether the two initial states of two plts's are probabilistic bisimilar.
The current transitions system and the lts l2 are first duplicated and subsequently reduced modulo bisimulation. If memory space is a concern, one could consider to use destructive_bisimulation_compare.
[in/out] | l1 A first transition system. |
[in/out] | l2 A second transistion system. |
True | iff the initial states of the current transition system and l2 are probabilistic bisimilar |
Definition at line 1367 of file liblts_pbisim_grv.h.
void mcrl2::lts::detail::probabilistic_bisimulation_reduce_bem | ( | LTS_TYPE & | l, |
utilities::execution_timer & | timer | ||
) |
Reduce transition system l with respect to probabilistic bisimulation.
[in/out] | l The transition system that is reduced. |
[in/out] | timer A timer that can be used to report benchmarking results. |
Definition at line 807 of file liblts_pbisim_bem.h.
void mcrl2::lts::detail::probabilistic_bisimulation_reduce_grv | ( | LTS_TYPE & | l, |
utilities::execution_timer & | timer | ||
) |
Reduce transition system l with respect to probabilistic bisimulation.
[in/out] | l The transition system that is reduced. |
Definition at line 1352 of file liblts_pbisim_grv.h.
|
static |
Definition at line 96 of file liblts_lts.cpp.
|
inline |
|
static |
Definition at line 299 of file liblts_lts.cpp.
|
inline |
|
static |
Definition at line 132 of file liblts_lts.cpp.
|
inline |
void mcrl2::lts::detail::reflexive_transitive_tau_closure | ( | lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE_CLASS > & | l | ) |
Definition at line 91 of file liblts_tau_star_reduce.h.
bool mcrl2::lts::detail::refusals_contained_in | ( | const state_type | impl, |
const set_of_states & | spec, | ||
const lts_cache< LTS_TYPE > & | weak_property_cache, | ||
label_type & | culprit, | ||
const LTS_TYPE & | l, | ||
const bool | provide_a_counter_example, | ||
const bool | structured_output | ||
) |
This function checks that the refusals(impl) are contained in the refusals of spec, where the refusals of spec are defined by { r | exists s in spec. r in refusals(s) and stable(r) }.
This is equivalent to saying that for all enabled actions of impl it must be contained in the enabled actions of every stable state in spec. If enable(t') is not included in enable(s'), their is a problematic action a. This action is returned as "culprit". It can be used to construct an extended counterexample.
Definition at line 607 of file liblts_failures_refinement.h.
void mcrl2::lts::detail::remove_probabilities | ( | const probabilistic_lts< STATE_LABEL1, ACTION_LABEL1, PROBABILISTIC_STATE1, LTS_BASE1 > & | lts_in, |
lts< STATE_LABEL2, ACTION_LABEL2, LTS_BASE2 > & | lts_out | ||
) |
Definition at line 849 of file lts_convert.h.
void mcrl2::lts::detail::remove_redundant_transitions | ( | lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE_CLASS > & | l | ) |
Removes each transition s-a->s' if also transitions s-a->-tau->s' or s-tau->-a->s' are present. It uses the hidden_label_set to determine whether transitions are internal.
Definition at line 139 of file liblts_tau_star_reduce.h.
|
inline |
Definition at line 43 of file state_space_generator.h.
|
inline |
Definition at line 62 of file state_space_generator.h.
|
static |
Definition at line 116 of file liblts_lts.cpp.
|
static |
Definition at line 126 of file liblts_lts.cpp.
|
inline |
Definition at line 22 of file fsm_builder.h.
std::string mcrl2::lts::detail::string_for_type | ( | const lts_type | type | ) |
Gives a string representation of an LTS format.
This is the "inverse" of parse_format.
[in] | type | The LTS format. |
Definition at line 113 of file liblts.cpp.
const std::set< lts_type > & mcrl2::lts::detail::supported_lts_formats | ( | ) |
Gives the set of all supported LTS formats.
Definition at line 140 of file liblts.cpp.
std::string mcrl2::lts::detail::supported_lts_formats_text | ( | const std::set< lts_type > & | supported | ) |
Gives a textual list describing supported LTS formats.
[in] | supported | The formats that should be considered supported. |
Definition at line 185 of file liblts.cpp.
std::string mcrl2::lts::detail::supported_lts_formats_text | ( | lts_type | default_format = lts_none , |
const std::set< lts_type > & | supported = supported_lts_formats() |
||
) |
Gives a textual list describing supported LTS formats.
[in] | default_format | The format that should be marked as default (or lts_none for no default). |
[in] | supported | The formats that should be considered supported. |
Definition at line 153 of file liblts.cpp.
void mcrl2::lts::detail::swap_to_non_probabilistic_lts | ( | probabilistic_lts< STATE_LABEL_T, ACTION_LABEL_T, PROBABILISTIC_STATE_T, LTS_BASE > & | l_probabilistic, |
lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE > & | l_plain | ||
) |
Definition at line 28 of file liblts_swap_to_from_probabilistic_lts.h.
void mcrl2::lts::detail::tau_star_reduce | ( | lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE_CLASS > & | l | ) |
Definition at line 245 of file liblts_tau_star_reduce.h.
|
inline |
Definition at line 103 of file liblts_coupledsim.h.
|
static |
Definition at line 90 of file liblts_lts.cpp.
|
inline |
Definition at line 198 of file lts_convert.h.
|
inline |
Definition at line 92 of file lts_convert.h.
|
inline |
Translate a fraction given as a data_expression to a representation with an arbitrary size fraction.
Definition at line 37 of file lts_convert.h.
|
inline |
Definition at line 942 of file lts_convert.h.
void mcrl2::lts::detail::translate_to_probabilistic_lts | ( | const lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE > & | l_plain, |
probabilistic_lts< STATE_LABEL_T, ACTION_LABEL_T, PROBABILISTIC_STATE_T, LTS_BASE > & | l_probabilistic | ||
) |
Definition at line 63 of file liblts_swap_to_from_probabilistic_lts.h.
void mcrl2::lts::detail::unmark_explicit_divergence_transitions | ( | LTS_TYPE & | l, |
const std::size_t | divergent_transition_label | ||
) |
Definition at line 818 of file lts_utilities.h.
bool mcrl2::lts::detail::weak_bisimulation_compare | ( | const LTS_TYPE & | l1, |
const LTS_TYPE & | l2, | ||
const bool | preserve_divergences = false |
||
) |
Checks whether the initial states of two LTSs are weakly bisimilar.
The LTSs l1 and l2 are first duplicated and subsequently reduced modulo bisimulation. If memory space is a concern, one could consider to use destructive_weak_bisimulation_compare. The running time of this routine is dominated by the transitive closure (after branching bisimulation). It uses O(m+n) memory in addition to the copies of l1 and l2, where n is the number of states and m is the number of transitions.
[in/out] | l1 A first transition system. |
[in/out] | l2 A second transistion system. |
[preserve_divergences] | If true and branching is true, preserve tau loops on states. |
True | iff the initial states of the current transition system and l2 are (divergence preserving) (branching) bisimilar |
Definition at line 99 of file liblts_weak_bisim.h.
void mcrl2::lts::detail::weak_bisimulation_reduce | ( | LTS_TYPE & | l, |
const bool | preserve_divergences = false |
||
) |
Reduce LTS l with respect to (divergence-preserving) weak bisimulation.
[in/out] | l The transition system that is reduced. | |
[in] | preserve_divergences | Indicates whether loops of internal actions on states must be preserved. If false these are removed. If true these are preserved. |
Definition at line 36 of file liblts_weak_bisim.h.
void mcrl2::lts::detail::write_initial_state | ( | atermpp::aterm_ostream & | stream, |
const lts_lts_t & | lts | ||
) |
Definition at line 347 of file liblts_lts.cpp.
void mcrl2::lts::detail::write_initial_state | ( | atermpp::aterm_ostream & | stream, |
const probabilistic_lts_lts_t & | lts | ||
) |
Definition at line 341 of file liblts_lts.cpp.
|
static |
Definition at line 354 of file liblts_lts.cpp.
|
static |
Definition at line 394 of file liblts_lts.cpp.
|
static |
Definition at line 73 of file liblts.cpp.
|
static |
Definition at line 85 of file liblts.cpp.
const unsigned char mcrl2::lts::detail::NODE_ATK = 0 |
Definition at line 45 of file liblts_coupledsim.h.
const unsigned char mcrl2::lts::detail::NODE_CPL = 2 |
Definition at line 47 of file liblts_coupledsim.h.
const unsigned char mcrl2::lts::detail::NODE_DEF = 1 |
Definition at line 46 of file liblts_coupledsim.h.
|
static |
Definition at line 75 of file liblts.cpp.
|
static |
Definition at line 71 of file liblts.cpp.