Limi
|
The classic antichain algorithm compares two automata for language inclusion (no independence relation) More...
#include <antichain_algo.h>
Public Member Functions | |
antichain_algo (const AutomatonA &a, const AutomatonB &b) | |
Constructor that initialises the language inclusion algorithm. More... | |
inclusion_result< Symbol > | run () |
Run the language inclusion. More... | |
The classic antichain algorithm compares two automata for language inclusion (no independence relation)
The class already accepts the automata as constructor arguments and therefore cannot be reused for more than one language inclusion query. The run() function runs until a counter-example is produced. Run can be called again to produce another counter-example.
The algorithm is faster than antichain_algo_ind and is guaranteed to terminate.
ImplementationA | The implementation class of Automaton A |
ImplementationB | The implementation class of Automaton B |
|
inline |
Constructor that initialises the language inclusion algorithm.
a | The automaton a |
b | The automaton b. The b automaton must not produce any epsilon transitions. |
|
inline |
Run the language inclusion.
Can be called several time to obtain several counter-examples.