15#ifndef _LIBLTS_WEAK_BISIM_H
16#define _LIBLTS_WEAK_BISIM_H
35template <
class LTS_TYPE>
38 const bool preserve_divergences =
false)
40 if (1 < l.num_states())
45 std::size_t divergence_label;
46 if (preserve_divergences)
50 if (1 < l.num_states())
59 if (preserve_divergences)
74template <
class LTS_TYPE>
78 const bool preserve_divergences=
false)
98template <
class LTS_TYPE>
102 const bool preserve_divergences =
false)
104 LTS_TYPE l1_copy(l1);
105 LTS_TYPE l2_copy(l2);
107 preserve_divergences);
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 bis...
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.
This file contains a class that contains labelled transition systems in aut format.
This file contains a class that contains labelled transition systems in dot format.
This file contains a class that contains labelled transition systems in fsm format.
void weak_bisimulation_reduce(LTS_TYPE &l, const bool preserve_divergences=false)
Reduce LTS l with respect to (divergence-preserving) weak bisimulation.
void unmark_explicit_divergence_transitions(LTS_TYPE &l, const std::size_t divergent_transition_label)
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.
std::size_t mark_explicit_divergence_transitions(LTS_TYPE &l)
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.
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....
void reflexive_transitive_tau_closure(lts< STATE_LABEL_T, ACTION_LABEL_T, LTS_BASE_CLASS > &l)
void scc_reduce(LTS_TYPE &l, const bool preserve_divergence_loops=false)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...