mCRL2
|
O(m log n)-time branching bisimulation algorithm similar to liblts_bisim_dnj.h which does not use bunches, i.e., partitions of transitions. This algorithm should be slightly faster, but in particular use less memory than liblts_bisim_dnj.h. Otherwise the functionality is exactly the same. More...
Go to the source code of this file.
Namespaces | |
namespace | mcrl2 |
A class that takes a linear process specification and checks all tau-summands of that LPS for confluence. | |
namespace | mcrl2::lts |
The main LTS namespace. | |
namespace | mcrl2::lts::detail |
A base class for the lts_dot labelled transition system. | |
namespace | mcrl2::lts::detail::bisimulation_gj |
Macros | |
#define | INITIAL_PARTITION_WITHOUT_BLC_SETS |
#define | use_BLC_transitions (!initialisation) |
#define | use_BLC_transitions (!initialisation) |
#define | use_BLC_transitions (!initialisation) |
#define | use_BLC_transitions (!initialisation) |
#define | max_below_pivot min_block |
#define | min_above_pivot max_block |
Typedefs | |
typedef std::size_t | mcrl2::lts::detail::bisimulation_gj::state_index |
typedef std::size_t | mcrl2::lts::detail::bisimulation_gj::transition_index |
typedef std::size_t | mcrl2::lts::detail::bisimulation_gj::block_index |
typedef std::size_t | mcrl2::lts::detail::bisimulation_gj::label_index |
typedef std::size_t | mcrl2::lts::detail::bisimulation_gj::constellation_index |
typedef fixed_vector< outgoing_transition_type >::iterator | mcrl2::lts::detail::bisimulation_gj::outgoing_transitions_it |
typedef fixed_vector< outgoing_transition_type >::const_iterator | mcrl2::lts::detail::bisimulation_gj::outgoing_transitions_const_it |
typedef transition_index * | mcrl2::lts::detail::bisimulation_gj::BLC_list_iterator |
typedef transition_index * | mcrl2::lts::detail::bisimulation_gj::BLC_list_iterator_or_null |
typedef const transition_index * | mcrl2::lts::detail::bisimulation_gj::BLC_list_const_iterator |
Functions | |
template<class CONTAINER > | |
void | mcrl2::lts::detail::bisimulation_gj::clear (CONTAINER &c) |
template<class LTS_TYPE > | |
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 | |
template<class LTS_TYPE > | |
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. | |
template<class LTS_TYPE > | |
bool | mcrl2::lts::detail::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. | |
Variables | |
constexpr constellation_index | mcrl2::lts::detail::bisimulation_gj::null_constellation =-1 |
constexpr transition_index | mcrl2::lts::detail::bisimulation_gj::null_transition =-1 |
constexpr label_index | mcrl2::lts::detail::bisimulation_gj::null_action =-1 |
constexpr state_index | mcrl2::lts::detail::bisimulation_gj::null_state =-1 |
constexpr block_index | mcrl2::lts::detail::bisimulation_gj::null_block =-1 |
constexpr transition_index | mcrl2::lts::detail::bisimulation_gj::undefined =-1 |
constexpr transition_index | mcrl2::lts::detail::bisimulation_gj::Rmarked =-2 |
O(m log n)-time branching bisimulation algorithm similar to liblts_bisim_dnj.h which does not use bunches, i.e., partitions of transitions. This algorithm should be slightly faster, but in particular use less memory than liblts_bisim_dnj.h. Otherwise the functionality is exactly the same.
Definition in file liblts_bisim_gj.h.
#define INITIAL_PARTITION_WITHOUT_BLC_SETS |
Definition at line 40 of file liblts_bisim_gj.h.
#define max_below_pivot min_block |
#define min_above_pivot max_block |
#define use_BLC_transitions (!initialisation) |
#define use_BLC_transitions (!initialisation) |
#define use_BLC_transitions (!initialisation) |
#define use_BLC_transitions (!initialisation) |