Presentation¶
-
template<typename W>
class Presentation : public libsemigroups::PresentationBase¶ Defined in
present.hpp
.This class template can be used to construction presentations for semigroups or monoids and is intended to be used as the input to other algorithms in
libsemigroups
. The idea is to provide a shallow wrapper around a vector of words of typeW
. We refer to this vector of words as the rules of the presentation. The Presentation class template also provide some checks that the rules really defines a presentation, (i.e. it’s consistent with its alphabet), and some related functionality is available in the namespacelibsemigroups::presentation
.- Template Parameters
W – the type of the underlying words.
Member types¶
Type of a const iterator to either side of a rule. |
|
Type of an iterator to either side of a rule. |
|
The type of the letters in the words that constitute the rules of a |
|
Size type for rules. |
|
The type of the words in the rules of a |
Constructors¶
Default constructor. |
|
Default move constructor. |
|
Default copy constructor. |
|
Remove the alphabet and all rules. |
|
Default move assignment operator. |
|
Default copy assignment operator. |
Alphabet + letters¶
Returns the alphabet of the presentation. |
|
Set the alphabet by size. |
|
Set the alphabet const reference. |
|
Set the alphabet from rvalue reference. |
|
Set the alphabet to be the letters in the rules. |
|
Check if the presentation should contain the empty word. |
|
Specify that the presentation should (not) contain the empty word. |
|
Check if a letter belongs to the alphabet or not. |
|
Get the index of a letter in the alphabet. |
|
Get a letter in the alphabet by index. |
Rules¶
Add a rule to the presentation. |
|
Add a rule to the presentation and check it is valid. |
|
Data member holding the rules of the presentation. |
Validation¶
Check if the alphabet and rules are valid. |
|
Check if the alphabet is valid. |
|
Check if a letter belongs to the alphabet or not. |
|
Check if every rule consists of letters belonging to the alphabet. |
|
Check if every letter in a range belongs to the alphabet. |