Awali
Another Weighted Automata library
quotient.hh
Go to the documentation of this file.
1 // This file is part of Awali.
2 // Copyright 2016-2022 Sylvain Lombardy, Victor Marsault, Jacques Sakarovitch
3 //
4 // Awali is a free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 
17 #ifndef DYN_MODULES_QUOTIENT_HH
18 #define DYN_MODULES_QUOTIENT_HH
20 
21 #include <vector>
22 
24 #include <awali/dyn/core/ratexp.hh>
26 
27 // NB: symmetric functions are in dyn/algos/aliases.hh
28 
29 namespace awali {
30  namespace dyn {
31 
44 
45  namespace internal {
46  bool is_quotient(automaton_t aut1, automaton_t aut2); //DO NOT WORK
47  }
48 
49 // automaton_t merge(automaton_t aut, std::vector<std::vector<state_t>>& equiv);
50 
51 
52 
77  automaton_t quotient(automaton_t aut, std::vector<std::vector<state_t>>& equiv,
78  options_t opts= {});
79 
92  bool is_congruence(automaton_t aut, std::vector<std::vector<state_t>>& equiv);
93 
105 
120 
121 
122  }
123 }//end of ns awali::dyn
124 
125 #endif
An automaton_t is essentially a shared pointer to an abstract_automaton_t, but also contains static f...
Definition: automaton.hh:93
An options_t is a set of optional parameters that is passed on to called functions.
Definition: options.hh:86
Main class for representing rational expresson at the dynamical layer.
Definition: ratexp.hh:66
automaton_t quotient(automaton_t aut, std::vector< std::vector< state_t >> &equiv, options_t opts={})
Computes the quotient of an automaton with respect to a given equivalence.
bool is_quotient(automaton_t aut1, automaton_t aut2)
automaton_t min_quotient(automaton_t aut, options_t opts={})
Computes the minimal quotient of aut.
bool is_congruence(automaton_t aut, std::vector< std::vector< state_t >> &equiv)
Check whether an equivalence is a congruence.
automaton_t minimal_automaton(automaton_t aut, options_t opts={})
Computes the minimal complete deterministic automaton of the language accepted by aut.
Main namespace of Awali.
Definition: ato.hh:22