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. |