#include<sttc/algos/merge.hh>

Namespace: awali::sttc
    template <typename Aut>
    Aut
    merge(const Aut& aut, std::vector<std::vector<state_t>>& partition);

Parameters

Return value

A mutable Awali automaton which is the quotient of the input with respect to the partition. This automaton has a PARTITION history.

The representant of each part is the state with the minimal id; parts are sorted with respect to their representant; the identifiers of states of the quotient are ordered with respect to this ordering.
Outgoing transitions are computed with respect to outgoing transitions of the representants.
There is no checking that the partition is congruent with transitions.


#include<sttc/algos/is-congruence.hh>
Namespace: awali::sttc
    template <typename Aut>
    bool
    is_congruence(const Aut& aut, const std::vector<std::vector<state_t>>& partition);

Parameters

Return value

true if the partition is congruent with the transitions of the input; false otherwise.


#include<sttc/algos/min_quotient.hh>
Namespace: awali::sttc
    template <typename Aut>
    Aut
    min_quotient(const Aut& aut, param_t algo = MOORE);

Parameters

Return value

A mutable Awali automaton which is the minimal quotient of the input. This automaton has a PARTITION history.

    template <typename Aut>
    Aut
    min_quotient_det(const Aut& aut, param_t algo = MOORE);

Parameters

Return value

A deterministic mutable Awali automaton which is the minimal quotient of the input. This automaton has a PARTITION history.

This function is specialization of the previous one for deterministic automata. Weighted deterministic automata are supported.