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 [30]).
|
| template<typename Word> |
| bool | is_obviously_infinite (Congruence< Word > &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.
|
| |
◆ is_obviously_infinite() [1/6]
template<typename Word>
| bool is_obviously_infinite |
( |
Congruence< Word > & | 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.
- Parameters
-
- Returns
- Whether or not the congruence obviously has infinitely many classes.
- Note
- If this function returns
false, it is still possible that the congruence has infinitely many classes.
◆ is_obviously_infinite() [2/6]
template<typename Rewriter, typename ReductionOrder>
| 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.
- Parameters
-
- Returns
- Whether or not the quotient defined by a KnuthBendix instance is obviously infinite.
- Note
- If this function returns
false, it is still possible that the quotient defined by the KnuthBendix object kb is infinite.
◆ is_obviously_infinite() [3/6]
| 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.
- Parameters
-
| tc | the ToddCoxeterImpl instance. |
- Returns
- Whether or not the quotient defined by a ToddCoxeterImpl instance is obviously infinite.
- Note
- If this function returns
false, it is still possible that the quotient defined by the ToddCoxeterImpl object tc is infinite.
◆ is_obviously_infinite() [4/6]
template<typename Word>
| 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.
- Parameters
-
- Returns
- Whether or not the finitely presented semigroup or monoid defined by a Kambites object is obviously infinite.
- Note
- If this function returns
false, it is still possible that the finitely presented semigroup or monoid defined by k is infinite.
◆ is_obviously_infinite() [5/6]
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.
- Parameters
-
- Returns
- Whether or not the presentation defines an obviously infinite semigroup or monoid.
- Exceptions
-
- Note
- If this function returns
false, it is still possible that the finitely presented semigroup or monoid defined by p is infinite.
◆ is_obviously_infinite() [6/6]
template<typename Word>
| 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.
- Template Parameters
-
| Word | the type of the words in the presentation p. |
- Parameters
-
- Returns
- Whether or not the presentation defines an obviously infinite semigroup or monoid.
- Exceptions
-
- Note
- If this function returns
false, it is still possible that semigroup or monoid defined by p is infinite.