Stephen¶
This module contains the single class Stephen
which implements a
version of Stephen’s procedure for computing the size and number of
\(\mathscr{R}\)classes of a finitely presented inverse monoid.

class
step_hen.
Stephen
(presn: step_hen.presentation.InverseMonoidPresentation)¶ The class encodes a rudimentary version of Stephen’s procedure as described in [Cut01]

__init__
(presn: step_hen.presentation.InverseMonoidPresentation) → None¶ Construct a new
Stephen
from an inverse monoid presentation. Parameters
presn (InverseMonoidPresentation) – the inverse monoid presentation
 Returns
None
Example
P = InverseMonoidPresentation() P.set_alphabet("xy") P.add_relation("xxx", "x") P.add_relation("yyyyy", "y") P.add_relation("xyxy", "xx") S = Stephen(P)

number_of_r_classes
() → int¶ Returns the number of \(\mathscr{R}\)classes of the inverse monoid defined by the presentation used to define an instance of this type.
 Parameters
None
 Returns
An
int
.
Warning
The procedure implemented by method may never terminate. In particular, it terminates if and only if the inverse monoid defined by the inverse monoid presentation used to construct the class is finite. Even if the monoid defined by the presentation is finite, there is no bound on the run time of this method.
Example
P = InverseMonoidPresentation() P.set_alphabet("xy") P.add_relation("xxx", "x") P.add_relation("yyyyy", "y") P.add_relation("xyxy", "xx") S = Stephen(P) S.number_of_r_classes() # returns 3

size
() → int¶ Returns the size of the inverse monoid defined by the presentation used to define an instance of this type.
 Parameters
None
 Returns
An
int
.
Warning
The procedure implemented by method may never terminate. In particular, it terminates if and only if the inverse monoid defined by the inverse monoid presentation used to construct the class is finite. Even if the monoid defined by the presentation is finite, there is no bound on the run time of this method.
Example
P = InverseMonoidPresentation() P.set_alphabet("xy") P.add_relation("xxx", "x") P.add_relation("yyyyy", "y") P.add_relation("xyxy", "xx") S = Stephen(P) S.size() # returns 13
