This page collects the documentation for the functionality in libsemigroups for checking if a finitely presented semigroup or monoid is obviously infinite.
If libsemigroups is compiled with the flag --enable-eigen, then the functions and classes documented on this page may make use of the Eigen library for linear algebra (see [31]).
Classes | |
| class | IsObviouslyInfinite |
| Class for checking if a finitely presented semigroup or monoid is obviously infinite. More... | |
Functions | |
| template<typename Word> | |
| bool | is_obviously_infinite (Congruence< Word > const &c) |
| Function for checking if a congruence obviously has infinite many classes. | |
| template<typename Rewriter, typename ReductionOrder> | |
| bool | is_obviously_infinite (detail::KnuthBendixImpl< Rewriter, ReductionOrder > &kb) |
| Function for checking if the quotient of a finitely presented semigroup or monoid defined by a KnuthBendix object is obviously infinite or not. | |
| bool | is_obviously_infinite (detail::ToddCoxeterImpl const &tc) |
| Function for checking if the quotient of a finitely presented semigroup or monoid defined by a ToddCoxeterImpl object is obviously infinite or not. | |
| template<typename Word> | |
| bool | is_obviously_infinite (Kambites< Word > &k) |
| Function for checking if the finitely presented semigroup or monoid defined by a Kambites object obviously has infinite many classes. | |
| template<> | |
| bool | is_obviously_infinite (Presentation< std::string > const &p) |
| Function for checking if the finitely presented semigroup or monoid defined by a Presentation object is obviously infinite or not. | |
| template<typename Word> | |
| bool | is_obviously_infinite (Presentation< Word > const &p) |
| Function for checking if the finitely presented semigroup or monoid defined by a Presentation object is obviously infinite or not. | |
| bool is_obviously_infinite | ( | Congruence< Word > const & | c | ) |
This function returns true if the quotient of the finitely presented semigroup or monoid defined by the Congruence object c is obviously infinite; false is returned if it is not.
This function exists to make it simpler to call an IsObviouslyInfinite object a single time, and uses some information from the (possible incomplete) Congruence object to assist in this determination.
| c | the Congruence instance. |
false, it is still possible that the congruence has infinitely many classes. | bool is_obviously_infinite | ( | detail::KnuthBendixImpl< Rewriter, ReductionOrder > & | kb | ) |
This function returns true if the quotient of the finitely presented semigroup or monoid defined by the KnuthBendix object kb is obviously infinite; false is returned if it is not.
This function exists to make it simpler to call an IsObviouslyInfinite object a single time, and uses some information from the (possible incomplete) KnuthBendix object to assist in this determination.
| kb | the KnuthBendix instance. |
false, it is still possible that the quotient defined by the KnuthBendix object kb is infinite. | bool is_obviously_infinite | ( | detail::ToddCoxeterImpl const & | tc | ) |
This function returns true if the quotient of the finitely presented semigroup or monoid defined by the ToddCoxeterImpl object tc is obviously infinite; false is returned if it is not.
This function exists to make it simpler to call an IsObviouslyInfinite object a single time, and uses some information from the (possible incomplete) ToddCoxeterImpl object to assist in this determination.
| tc | the ToddCoxeterImpl instance. |
false, it is still possible that the quotient defined by the ToddCoxeterImpl object tc is infinite. | bool is_obviously_infinite | ( | Kambites< Word > & | k | ) |
This function returns true if the finitely presented semigroup or monoid defined by a Kambites object is obviously infinite; false is returned if it is not.
This function exists to make it simpler to call an IsObviouslyInfinite object a single time, and uses some information from the (possible incomplete) Kambites object to assist in this determination.
| k | the Kambites instance. |
false, it is still possible that the finitely presented semigroup or monoid defined by k is infinite. | bool is_obviously_infinite | ( | Presentation< std::string > const & | p | ) |
This function returns true if the finitely presented semigroup or monoid defined by the Presentation object p is obviously infinite. This function exists to make it simpler to call an IsObviouslyInfinite object a single time.
| p | the presentation. |
| LibsemigroupsException | If the presentation p is not valid. |
false, it is still possible that the finitely presented semigroup or monoid defined by p is infinite. | bool is_obviously_infinite | ( | Presentation< Word > const & | p | ) |
This function returns true if the finitely presented semigroup or monoid defined by the Presentation object p is obviously infinite. This function exists to make it simpler to call an IsObviouslyInfinite object a single time.
| Word | the type of the words in the presentation p. |
| p | the presentation. |
| LibsemigroupsException | If the presentation p is not valid. |
false, it is still possible that semigroup or monoid defined by p is infinite.