Limi
Classes | Public Member Functions | List of all members
Limi::antichain_algo< ImplementationA, ImplementationB > Class Template Reference

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...
 

Detailed Description

template<class ImplementationA, class ImplementationB>
class Limi::antichain_algo< ImplementationA, ImplementationB >

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.

Template Parameters
ImplementationAThe implementation class of Automaton A
ImplementationBThe implementation class of Automaton B

Constructor & Destructor Documentation

template<class ImplementationA , class ImplementationB >
Limi::antichain_algo< ImplementationA, ImplementationB >::antichain_algo ( const AutomatonA a,
const AutomatonB b 
)
inline

Constructor that initialises the language inclusion algorithm.

Parameters
aThe automaton a
bThe automaton b. The b automaton must not produce any epsilon transitions.

Member Function Documentation

template<class ImplementationA , class ImplementationB >
inclusion_result<Symbol> Limi::antichain_algo< ImplementationA, ImplementationB >::run ( )
inline

Run the language inclusion.

Can be called several time to obtain several counter-examples.

Returns
Language inclusion result and a counter-example trace (if applicable)

The documentation for this class was generated from the following file: