Presentations¶
This module contains the classes MonoidPresentation and
InverseMonoidPresentation which can be used to define
presentations. These serve as part of the input to the main algorithms
implemented in this package in stephen.wordgraph.WordGraph,
stephen.schutzenbergergraph.SchutzenbergerGraph, and
stephen.Stephen.
-
class
step_hen.presentation.MonoidPresentation¶ This class is used to define monoid presentations. The alphabet is set using the method
set_alphabet(), and relations can be added usingadd_relation().-
__init__()¶ Constructs an empty presentation.
-
add_relation(word1: str, word2: str) → None¶ Add a relation to the presentation.
- Parameters
word1 – the left hand side of the relation to add.
word2 – the right hand side of the relation to add.
- Returns
None.- Raises
ValueError – If the alphabet has not been defined.
ValueError – If
word1orword2contains a letter not in the alphabet.TypeError – If
word1orword2is not a string.
-
set_alphabet(alphabet: str) → None¶ Set the alphabet of the presentation.
- Parameters
alphabet – the string containing the alphabet.
- Returns
None.- Raises
ValueError – If the alphabet has already been set.
ValueError – If the parameter
alphabetcontains duplicate letters.TypeError – If the alphabet is not a string.`
-
-
class
step_hen.presentation.InverseMonoidPresentation¶ This class is used to define inverse monoid presentations. The alphabet is set using the method
set_alphabet(), and relations can be added usingadd_relation().Letters in the alphabet must be lower case, and upper case letters are used for the inverse of a letter.
-
__init__()¶ Constructs an empty presentation.
-
set_alphabet(alphabet: str) → None¶ Set the alphabet of the presentation.
- Parameters
alphabet – the string containing the alphabet.
- Returns
None.- Raises
ValueError – If the alphabet has already been set.
ValueError – If the parameter
alphabetcontains duplicate letters.ValueError – If the parameter
alphabetcontains upper case letters.TypeError – If the alphabet is not a string.`
-