14 namespace vcsn {
namespace dyn {
1468 tuple(
const std::vector<expression>& es)
automaton derived_term(const expression &exp, const std::string &algo="auto")
The derived-term automaton of exp.
bool is_useless(const automaton &aut)
Whether has no useful state.
std::ostream & print_context(const context &ctx, std::ostream &o, const std::string &fmt)
Bridge (print).
bool is_proper(const automaton &aut)
Whether has no spontaneous transition.
std::shared_ptr< const detail::weight_base > weight
polynomial shortest(const automaton &aut, boost::optional< unsigned > num={}, boost::optional< unsigned > len={})
The approximated behavior of an automaton.
automaton standard(const automaton &a)
A standardized a.
static Registry< is_trim_t > & is_trim_registry()
expression transpose_expression(const expression &exp)
Bridge (transpose).
polynomial ldiv(const polynomial &lhs, const polynomial &rhs)
Left-division of two polynomials (lhs \ rhs).
static Registry< subword_t > & subword_registry()
automaton de_bruijn(const context &ctx, unsigned n)
A simple NFA for (a+b)*a(a+b)^n.
static Registry< expand_t > & expand_registry()
expression rdiv(const expression &lhs, const expression &rhs)
Right-division of two expressions (lhs \ rhs).
automaton transpose(automaton &aut)
Transpose aut.
automaton trie_stream(const context &ctx, std::istream &is, const std::string &format)
Bridge (trie).
automaton proper(const automaton &aut, direction dir=direction::backward, bool prune=true, const std::string &algo="auto")
An equivalent automaton without spontaneous transitions.
bool is_synchronizing(const automaton &aut)
Whether is synchronizing.
static Registry< less_than_expression_t > & less_than_expression_registry()
std::shared_ptr< detail::delay_automaton_impl< Aut >> delay_automaton
An automaton wrapper that presents the delay automaton.
bool are_equivalent(const automaton &lhs, const automaton &rhs)
Whether compute the same series.
expression expression_zero(const context &c, rat::identities ids)
The expression for \z.
static Registry< split_polynomial_t > & split_polynomial_registry()
static Registry< multiply_expression_t > & multiply_expression_registry()
static Registry< compose_t > & compose_registry()
static Registry< tuple_expression_t > & tuple_expression_registry()
automaton insplit(const automaton &aut, bool lazy=false)
Split automaton on the incoming transition.
expression concatenate_expression(const expression &lhs, const expression &rhs)
Bridge (concatenate).
std::size_t num_components(const automaton &aut)
The number of strongly connected components.
static Registry< multiply_repeated_t > & multiply_repeated_registry()
automaton multiply_repeated(const automaton &a, int min, int max, const std::string &algo)
Bridge (multiply).
bool is_letterized(const automaton &aut)
Whether aut is letterized.
static Registry< star_t > & star_registry()
static Registry< multiply_expression_repeated_t > & multiply_expression_repeated_registry()
bool is_trim(const automaton &aut)
Whether has no useless state.
static Registry< make_word_context_t > & make_word_context_registry()
expression left_mult_expression(const weight &weight, const expression &exp)
Bridge (left_mult).
static Registry< synchronizing_word_t > & synchronizing_word_registry()
weight read_weight(const context &ctx, std::istream &is)
Read a weight from a stream.
static Registry< transpose_t > & transpose_registry()
automaton ladybird(const context &ctx, unsigned n)
The ladybird automaton with n states.
static Registry< levenshtein_t > & levenshtein_registry()
static Registry< is_valid_expression_t > & is_valid_expression_registry()
static Registry< realtime_t > & realtime_registry()
static Registry< lgcd_polynomial_t > & lgcd_polynomial_registry()
expression sum_expression(const expression &lhs, const expression &rhs)
Bridge (sum).
static Registry< left_mult_expression_t > & left_mult_expression_registry()
static Registry< shuffle_t > & shuffle_registry()
expansion to_expansion(const expression &exp)
First order development of a exp.
static Registry< right_mult_expression_t > & right_mult_expression_registry()
automaton random_automaton(const context &ctx, unsigned num_states, float density=0.1, unsigned num_initial=1, unsigned num_final=1, float loop_chance=0.0)
Produce a random automaton.
automaton eliminate_state(const automaton &aut, int s=-1)
The LAO automaton aut with state s removed.
expansion sum_expansion(const expansion &lhs, const expansion &rhs)
Bridge (sum).
bool is_out_sorted(const automaton &aut)
Whether the outgoing transitions of each state have increasing labels.
expression lift_expression(const expression &exp)
Bridge (lift).
automaton u(const context &ctx, unsigned n)
The Brzozowski universal witness.
static Registry< infiltration_t > & infiltration_registry()
static Registry< costandard_t > & costandard_registry()
static Registry< is_valid_t > & is_valid_registry()
static Registry< zpc_t > & zpc_registry()
automaton double_ring(const context &ctx, unsigned n, const std::vector< unsigned > &f)
The double_ring automaton with n states and f the list of finals.
expression star_normal_form(const expression &e)
A normalized form where star is applied only to proper expressions.
automaton determinize(const automaton &aut, const std::string &algo="auto")
The determinized automaton.
bool is_accessible(const automaton &aut)
Whether aut is accessible.
automaton scc(const automaton &aut, const std::string &algo="auto")
Build the SCC automaton whose states are labeled with number of the strongly-connected component they...
static Registry< is_synchronized_by_t > & is_synchronized_by_registry()
static Registry< join_t > & join_registry()
static Registry< complete_t > & complete_registry()
static Registry< is_letterized_t > & is_letterized_registry()
static Registry< standard_t > & standard_registry()
static Registry< cotrie_stream_t > & cotrie_stream_registry()
static Registry< u_t > & u_registry()
automaton difference(const automaton &lhs, const automaton &rhs)
An automaton whose behavior is that of lhs on words not accepted by rhs.
static Registry< codeterminize_t > & codeterminize_registry()
expression right_mult_expression(const expression &exp, const weight &weight)
Bridge (right_mult).
static Registry< standard_expression_t > & standard_expression_registry()
static Registry< is_ambiguous_t > & is_ambiguous_registry()
static Registry< ldiv_expression_t > & ldiv_expression_registry()
static Registry< right_mult_expansion_t > & right_mult_expansion_registry()
expression transposition(const expression &r)
Add the transposition operator to r.
static Registry< star_height_t > & star_height_registry()
static Registry< is_accessible_t > & is_accessible_registry()
automaton partial_identity(const automaton &aut)
Create a partial identity transducer from aut.
static Registry< context_of_expansion_t > & context_of_expansion_registry()
static Registry< print_context_t > & print_context_registry()
static Registry< context_of_t > & context_of_registry()
bool less_than(const expression &lhs, const expression &rhs)
Ordering between expressions.
automaton_editor * make_automaton_editor(const context &ctx)
Build an automatonset from its context.
static Registry< left_mult_t > & left_mult_registry()
static Registry< constant_term_t > & constant_term_registry()
An expressionset can implement several different sets of identities on expressions.
bool is_synchronized(const automaton &aut)
Whether is synchronized.
static Registry< are_equivalent_expression_t > & are_equivalent_expression_registry()
polynomial sum_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (sum).
static Registry< is_empty_t > & is_empty_registry()
static Registry< divkbaseb_t > & divkbaseb_registry()
automaton shuffle(const automaton &lhs, const automaton &rhs)
The shuffle product of automata lhs and rhs.
automaton cerny(const context &ctx, unsigned num_states)
Produce a Černý automaton of num_states states.
automaton copy(const automaton &aut)
A copy of aut.
automaton zpc(const expression &exp, const std::string &algo="auto")
The ZPC automaton of exp.
automaton conjunction_repeated(const automaton &aut, unsigned n)
Bridge (conjunction).
static Registry< to_expansion_t > & to_expansion_registry()
automaton trie(const polynomial &p)
A trie-like automaton (single initial state, multiple final states) to accept p.
automaton right_mult(const automaton &aut, const weight &w, const std::string &algo="auto")
The right-mult automaton with w as weight.
static Registry< filter_t > & filter_registry()
polynomial lightest(const automaton &aut, unsigned num=1, const std::string &algo="auto")
The approximated behavior of an automaton with smallest weights.
static Registry< thompson_t > & thompson_registry()
static Registry< derived_term_t > & derived_term_registry()
static Registry< is_normalized_t > & is_normalized_registry()
static Registry< has_twins_property_t > & has_twins_property_registry()
static Registry< pair_t > & pair_registry()
static Registry< conjunction_t > & conjunction_registry()
static Registry< trie_stream_t > & trie_stream_registry()
static Registry< shortest_t > & shortest_registry()
static Registry< lift_expression_t > & lift_expression_registry()
automaton standard_expression(const expression &exp)
Bridge (standard).
static Registry< concatenate_expression_t > & concatenate_expression_registry()
automaton cotrie(const polynomial &p)
A reversed trie-like automaton (multiple initial states, single final state) automaton to accept p...
polynomial split(const expression &exp)
Break exp.
static Registry< cotrie_t > & cotrie_registry()
expression complement_expression(const expression &exp)
Bridge (complement).
static Registry< infiltration_expression_t > & infiltration_expression_registry()
static Registry< sum_polynomial_t > & sum_polynomial_registry()
static Registry< num_components_t > & num_components_registry()
static Registry< weight_series_t > & weight_series_registry()
static Registry< sum_t > & sum_registry()
automaton factor(const automaton &aut)
Create a factor automaton from aut.
static Registry< proper_t > & proper_registry()
static Registry< random_automaton_t > & random_automaton_registry()
polynomial read_polynomial(const context &ctx, std::istream &is)
Read a polynomial from a stream.
static dyn::context ctx(const driver &d)
Get the context of the driver.
static Registry< lightest_t > & lightest_registry()
Abstract Builder (the design pattern) for automata.
rat::identities identities(const expression &exp)
The identities of expression exp.
bool is_complete(const automaton &aut)
Whether aut is complete.
static Registry< insplit_t > & insplit_registry()
automaton multiply(const automaton &lhs, const automaton &rhs, const std::string &algo="auto")
Multiply (concatenate) two automata.
An input/output format for valuesets.
static Registry< is_useless_t > & is_useless_registry()
static Registry< split_t > & split_registry()
automaton star(const automaton &aut, const std::string &algo="auto")
Star of an automaton.
expression copy_expression(const expression &exp, const context &ctx, rat::identities ids)
Bridge (copy).
automaton cominimize(const automaton &aut, const std::string &algo="auto")
The cominimized automaton.
weight multiply_weight_repeated(const weight &wgt, int min, int max)
Bridge (multiply).
static identities ids(const driver &d)
Get the identities of the driver.
static Registry< is_coaccessible_t > & is_coaccessible_registry()
expansion tuple_expansion(const std::vector< expansion > &es)
Bridge (tuple).
automaton condense(const automaton &aut)
The condensation of aut such that each state is a strongly connected component.
static Registry< factor_t > & factor_registry()
static Registry< eliminate_state_t > & eliminate_state_registry()
expression multiply_expression(const expression &lhs, const expression &rhs)
Bridge (multiply).
static Registry< sum_expression_t > & sum_expression_registry()
static Registry< eval_t > & eval_registry()
static Registry< reduce_t > & reduce_registry()
automaton subword(const automaton &aut)
Create a subword automaton from aut.
static Registry< print_t > & print_registry()
bool is_realtime(const automaton &aut)
Whether has no spontaneous transition, and is letterized.
static Registry< is_synchronizing_t > & is_synchronizing_registry()
expression transposition_expression(const expression &exp)
Bridge (transposition).
automaton letterize(const automaton &aut)
The automaton with letter transitions instead of words.
static Registry< has_lightening_cycle_t > & has_lightening_cycle_registry()
expression shuffle_expression(const expression &lhs, const expression &rhs)
Bridge (shuffle).
static Registry< right_mult_t > & right_mult_registry()
static Registry< are_equivalent_t > & are_equivalent_registry()
automaton infiltration(const automaton &lhs, const automaton &rhs)
The infiltration of automata lhs and rhs.
polynomial ldiv_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (ldiv).
automaton suffix(const automaton &aut)
Create a suffix automaton from aut.
automaton conjunction(const automaton &lhs, const automaton &rhs, bool lazy=false)
The conjunction (aka synchronized product) of automata.
expression to_expression(const automaton &aut, rat::identities ids={}, const std::string &algo="auto")
An expression denoting the language of aut.
static Registry< to_expression_t > & to_expression_registry()
label synchronizing_word(const automaton &aut, const std::string &algo="greedy")
A synchronizing word, or raise if there is none.
static Registry< sum_expansion_t > & sum_expansion_registry()
automaton prefix(const automaton &aut)
Create a prefix automaton from aut.
polynomial derivation(const expression &exp, const label &lbl, bool breaking=false)
Derive exp with respect to s.
bool is_partial_identity(const automaton &aut)
Whether aut realizes a partial identity.
static Registry< is_complete_t > & is_complete_registry()
static Registry< info_expression_t > & info_expression_registry()
PolynomialSet::value_t split_polynomial(const PolynomialSet &ps, const typename PolynomialSet::value_t &p)
Split a polynomial of expressions, given the polynomialset.
static Registry< info_t > & info_registry()
automaton complement(const automaton &aut)
The complement of aut.
weight multiply_weight(const weight &lhs, const weight &rhs)
Bridge (multiply).
automaton delay_automaton(const automaton &a)
The automaton with the delay of each state.
polynomial conjunction_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (conjunction).
automaton accessible(const automaton &aut)
The accessible subautomaton of aut.
automaton universal(const automaton &aut)
The universal automaton of aut.
static Registry< multiply_t > & multiply_registry()
static Registry< has_bounded_lag_t > & has_bounded_lag_registry()
expression to_expression_class(const context &ctx, rat::identities ids, const letter_class_t &letters, bool accept)
Bridge (to_expression).
context context_of_expression(const expression &exp)
Bridge (context_of).
context context_of_expansion(const expansion &exp)
Bridge (context_of).
static Registry< context_of_expression_t > & context_of_expression_registry()
automaton minimize(const automaton &aut, const std::string &algo="auto")
The minimized automaton.
static Registry< lightest_automaton_t > & lightest_automaton_registry()
static Registry< derivation_t > & derivation_registry()
expression expand(const expression &e)
Distribute product over addition recursively under the starred subexpressions and group the equal mon...
static Registry< is_synchronized_t > & is_synchronized_registry()
unsigned star_height(const expression &rs)
Star height of an expression.
automaton compose(automaton &lhs, automaton &rhs, bool lazy=false)
The composition of transducers lhs and rhs.
static Registry< multiply_label_t > & multiply_label_registry()
static Registry< is_realtime_t > & is_realtime_registry()
static Registry< conjugate_t > & conjugate_registry()
expression multiply_expression_repeated(const expression &re, int min, int max)
Bridge (multiply).
expression to_expression_label(const context &ctx, rat::identities ids, const label &lbl)
Bridge (to_expression).
label ambiguous_word(const automaton &aut)
An ambiguous word, or raise if there is none.
bool is_codeterministic(const automaton &aut)
Whether aut is codeterministic.
automaton copy_convert(const automaton &aut, const context &ctx)
Bridge (copy).
expression infiltration_expression(const expression &lhs, const expression &rhs)
Bridge (infiltration).
std::set< std::pair< std::string, std::string >> letter_class_t
A set of letter ranges.
std::ostream & info(const automaton &aut, std::ostream &out, bool detailed=false)
Output various facts about an automaton.
static Registry< conjunction_polynomial_t > & conjunction_polynomial_registry()
bool is_valid(const automaton &e)
Whether automaton is valid (epsilon-cycles converge).
automaton realtime(const automaton &aut)
Create the realtime automaton (letterized and proper).
static Registry< is_deterministic_t > & is_deterministic_registry()
static Registry< random_automaton_deterministic_t > & random_automaton_deterministic_registry()
static Registry< strip_t > & strip_registry()
static Registry< is_codeterministic_t > & is_codeterministic_registry()
expansion tuple(const std::vector< expansion > &rs)
Build a k-tape expansion from k expansions.
static Registry< read_polynomial_t > & read_polynomial_registry()
bool is_functional(const automaton &aut)
Whether aut is functional.
static Registry< prefix_t > & prefix_registry()
static Registry< minimize_t > & minimize_registry()
static Registry< to_expression_class_t > & to_expression_class_registry()
polynomial multiply_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (multiply).
automaton coaccessible(const automaton &aut)
The coaccessible subautomaton of aut.
std::shared_ptr< const detail::label_base > label
automaton sum(const automaton &lhs, const automaton &rhs, const std::string &algo="auto")
Sum of two automata.
static Registry< determinize_t > & determinize_registry()
expression conjunction_expression(const expression &lhs, const expression &rhs)
Bridge (conjunction).
static Registry< delay_automaton_t > & delay_automaton_registry()
automaton sort(const automaton &a)
A copy of a with normalized state numbers.
bool are_isomorphic(const automaton &lhs, const automaton &rhs)
Whether there exists an isomorphism between the states of lhs and those of rhs.
automaton filter(const automaton &aut, const std::vector< unsigned > &ss)
The subautomaton based on aut, with only states in ss visible.
polynomial lgcd(const polynomial &lhs, const polynomial &rhs)
Left greatest common divisor of two polynomials (lhs \ rhs).
automaton lightest_automaton(const automaton &aut, const std::string &algo="auto")
The shortest path automaton using the given algorithm.
static Registry< coaccessible_t > & coaccessible_registry()
automaton push_weights(const automaton &aut)
The weight pushing automaton of aut.
automaton lift(const automaton &aut, const std::vector< unsigned > &tapes={}, rat::identities ids={})
Lift some tapes of the transducer, or turn an automaton into a spontaneous automaton.
automaton levenshtein(const context &ls)
The transducer representing the Levenshtein distance.
static Registry< ladybird_t > & ladybird_registry()
expression concatenate(const expression &lhs, const expression &rhs)
Concatenate two expressions.
expression difference_expression(const expression &lhs, const expression &rhs)
Bridge (difference).
static Registry< scc_t > & scc_registry()
bool is_standard(const automaton &aut)
Whether is standard (unique initial state, with weight one, no incoming transition).
static Registry< is_cycle_ambiguous_t > & is_cycle_ambiguous_registry()
static Registry< normalize_t > & normalize_registry()
static Registry< star_normal_form_t > & star_normal_form_registry()
static Registry< suffix_t > & suffix_registry()
std::istringstream is
The input stream: the specification to translate.
static Registry< multiply_weight_t > & multiply_weight_registry()
polynomial lgcd_polynomial(const polynomial &lhs, const polynomial &rhs)
Bridge (lgcd).
expansion left_mult_expansion(const weight &weight, const expansion &exp)
Bridge (left_mult).
automaton divkbaseb(const context &ctx, unsigned divisor, unsigned base)
An automaton which accepts a word n representing a number in base b iff k|n.
std::size_t num_tapes(const context &ctx)
The number of input tapes.
static Registry< transposition_expression_t > & transposition_expression_registry()
auto out(const Aut &aut, state_t_of< Aut > s)
Indexes of visible transitions leaving state s.
static Registry< cominimize_t > & cominimize_registry()
std::ostream & info_expression(const expression &exp, std::ostream &o)
Bridge (info).
bool is_costandard(const automaton &aut)
Whether is costandard (unique final state, with weight one, no outcoming transition).
automaton normalize(const automaton &aut)
Normalize automaton aut.
context context_of(const automaton &a)
The context of this automaton.
context join(const context &lhs, const context &rhs)
The join between two contexts, i.e., their lowest common supertype.
automaton component(const automaton &aut, unsigned num)
The automaton of a strongly connected component.
weight eval(const automaton &aut, const label &l)
Evaluate l on aut.
static Registry< accessible_t > & accessible_registry()
bool has_twins_property(const automaton &aut)
Whether the automaton has the twins property.
static Registry< to_expression_label_t > & to_expression_label_registry()
automaton codeterminize(const automaton &aut, const std::string &algo="auto")
The codeterminized automaton.
std::shared_ptr< const detail::polynomial_base > polynomial
static Registry< copy_convert_t > & copy_convert_registry()
bool is_cycle_ambiguous(const automaton &aut)
Whether the automaton is cycle-ambiguous.
bool are_equivalent_expression(const expression &r1, const expression &r2)
Bridge (are_equivalent).
static Registry< sum_weight_t > & sum_weight_registry()
static Registry< rdiv_expression_t > & rdiv_expression_registry()
static Registry< conjunction_expression_t > & conjunction_expression_registry()
static Registry< complement_expression_t > & complement_expression_registry()
static Registry< is_proper_t > & is_proper_registry()
static Registry< double_ring_t > & double_ring_registry()
static Registry< ambiguous_word_t > & ambiguous_word_registry()
automaton thompson(const expression &e)
The Thompson automaton of e.
static Registry< complement_t > & complement_registry()
expression rdiv_expression(const expression &lhs, const expression &rhs)
Bridge (rdiv).
static Registry< copy_expression_t > & copy_expression_registry()
static Registry< is_eps_acyclic_t > & is_eps_acyclic_registry()
static Registry< is_costandard_t > & is_costandard_registry()
static Registry< expression_zero_t > & expression_zero_registry()
static Registry< is_functional_t > & is_functional_registry()
static Registry< sort_t > & sort_registry()
static Registry< cerny_t > & cerny_registry()
static Registry< synchronize_t > & synchronize_registry()
automaton random_automaton_deterministic(const context &ctx, unsigned num_states)
Produce a random deterministic automaton.
static Registry< tuple_expansion_t > & tuple_expansion_registry()
static Registry< is_standard_t > & is_standard_registry()
automaton cotrie_stream(const context &ctx, std::istream &is, const std::string &format)
Bridge (cotrie).
static Registry< trim_t > & trim_registry()
context make_word_context(const context &ctx)
The context for words.
bool is_eps_acyclic(const automaton &aut)
Whether has no cycle of spontaneous transitions.
expression ldiv_expression(const expression &lhs, const expression &rhs)
Bridge (ldiv).
static Registry< identities_t > & identities_registry()
std::shared_ptr< const detail::expansion_base > expansion
static Registry< is_partial_identity_t > & is_partial_identity_registry()
static Registry< de_bruijn_t > & de_bruijn_registry()
static Registry< are_isomorphic_t > & are_isomorphic_registry()
static Registry< difference_t > & difference_registry()
expansion complement_expansion(const expansion &xpn)
Bridge (complement).
static Registry< copy_t > & copy_registry()
static Registry< component_t > & component_registry()
static Registry< make_automaton_editor_t > & make_automaton_editor_registry()
static Registry< multiply_polynomial_t > & multiply_polynomial_registry()
static Registry< num_tapes_t > & num_tapes_registry()
static Registry< complement_expansion_t > & complement_expansion_registry()
std::shared_ptr< detail::expression_base > expression
automaton reduce(const automaton &aut)
Reduce aut.
static Registry< left_mult_expansion_t > & left_mult_expansion_registry()
automaton costandard(const automaton &a)
A standardized transpositive a.
static Registry< condense_t > & condense_registry()
static Registry< letterize_t > & letterize_registry()
std::shared_ptr< const detail::context_base > context
A dyn::context.
automaton strip(const automaton &a)
The automaton in a with its metadata layers removed.
static Registry< expression_one_t > & expression_one_registry()
bool is_empty(const automaton &aut)
Whether has no state.
weight sum_weight(const weight &lhs, const weight &rhs)
Bridge (sum).
expansion right_mult_expansion(const expansion &exp, const weight &weight)
Bridge (right_mult).
static Registry< read_weight_t > & read_weight_registry()
bool less_than_expression(const expression &lhs, const expression &rhs)
Bridge (less_than).
automaton pair(const automaton &aut, bool keep_initials=false)
Build the pair automaton of the given automaton.
static Registry< ldiv_polynomial_t > & ldiv_polynomial_registry()
expression expression_one(const context &c, rat::identities ids)
The expression for \e.
bool is_normalized(const automaton &aut)
Whether is normalized (in the Thompson sense), i.e., standard and co-standard.
automaton complete(const automaton &aut)
A completed copy of aut.
static Registry< push_weights_t > & push_weights_registry()
bool is_synchronized_by(const automaton &aut, const label &word)
Whether the word synchronizes aut.
automaton left_mult(const weight &w, const automaton &aut, const std::string &algo="auto")
The left-multiplication of an automaton with w as weight.
bool has_lightening_cycle(const automaton &aut)
Whether the automaton has a cycle with lightening weight.
static Registry< conjunction_repeated_t > & conjunction_repeated_registry()
bool has_bounded_lag(const automaton &aut)
Whether the transducer has bounded lag.
bool is_valid_expression(const expression &exp)
Bridge (is_valid).
bool is_coaccessible(const automaton &aut)
Whether aut is coaccessible.
automaton synchronize(const automaton &aut)
Create a synchronized transducer from aut.
label multiply_label(const label &lhs, const label &rhs)
Bridge (multiply).
static Registry< multiply_weight_repeated_t > & multiply_weight_repeated_registry()
static Registry< trie_t > & trie_registry()
bool is_ambiguous(const automaton &aut)
Whether aut is ambiguous.
static Registry< partial_identity_t > & partial_identity_registry()
static Registry< shuffle_expression_t > & shuffle_expression_registry()
static Registry< universal_t > & universal_registry()
static Registry< difference_expression_t > & difference_expression_registry()
automaton conjugate(const automaton &aut)
The conjugate of aut.
automaton trim(const automaton &aut)
The trim subautomaton of aut.
static Registry< is_out_sorted_t > & is_out_sorted_registry()
expression tuple_expression(const std::vector< expression > &es)
Bridge (tuple).
bool is_deterministic(const automaton &aut)
Whether aut is deterministic.
std::shared_ptr< detail::automaton_base > automaton
weight weight_series(const automaton &aut)
Compute weight of the series.
std::ostream & print(const automaton &aut, std::ostream &out, const std::string &format="default")
Print automaton a on o using format format.
static Registry< transpose_expression_t > & transpose_expression_registry()
weight constant_term(const expression &e)
The weight associated to the empty word in e.