#include<sttc/algos/merge.hh>Namespace: awali::sttc
template <typename Aut> Aut merge(const Aut& aut, std::vector<std::vector<state_t>>& partition);
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);
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);
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);
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.