public class BisimulationUpToCongruenceLanguageEquivalence extends Object implements LanguageEquivalenceAlgorithm
LanguageEquivalenceAlgorithm.Implementations
Algorithm.OrderingType, Algorithm.SearchType
LANGUAGE_EQUIVALENCE_ITERATION_STEP
Constructor and Description |
---|
BisimulationUpToCongruenceLanguageEquivalence(Algorithm.SearchType type,
boolean computeCounterExample)
Creates a new instance of the bisimulation-up-to-congruence algorithm.
|
Modifier and Type | Method and Description |
---|---|
void |
addComputationListener(ComputationListener l)
Adds the Computation Listener
l to this algorithm. |
void |
cancelComputation()
Cancels the computation of this algorithm.
|
CospanCounterExample |
getLanguageEquivalenceCounterExample()
Returns the counter example, if the language of the first automaton is
not equivalent to the language of the second automaton, and
null
otherwise |
boolean |
isEquivalent(Automaton first,
Automaton second)
Checks whether the language of the first automaton
first is equivalent to
the language of the second automaton second . |
void |
removeComputationListener(ComputationListener l)
Removes the Computation Listener
l from this algorithm. |
public BisimulationUpToCongruenceLanguageEquivalence(Algorithm.SearchType type, boolean computeCounterExample)
type
- the search type of this instancecomputeCounterExample
- if true
a counterexample will be computed
if the language equivalence/inclusion check failspublic void addComputationListener(ComputationListener l)
Algorithm
l
to this algorithm.addComputationListener
in interface Algorithm
l
- the listener to receive computation eventspublic void removeComputationListener(ComputationListener l)
Algorithm
l
from this algorithm.removeComputationListener
in interface Algorithm
l
- the listener to be removedpublic boolean isEquivalent(Automaton first, Automaton second)
LanguageEquivalenceAlgorithm
first
is equivalent to
the language of the second automaton second
.isEquivalent
in interface LanguageEquivalenceAlgorithm
first
- the first automatonsecond
- the second automatontrue
if both automata are equivalent, false
otherwisepublic CospanCounterExample getLanguageEquivalenceCounterExample()
LanguageEquivalenceAlgorithm
null
otherwisegetLanguageEquivalenceCounterExample
in interface LanguageEquivalenceAlgorithm
null
otherwisepublic void cancelComputation()
Algorithm
cancelComputation
in interface Algorithm