Sims1¶

template<typename T>
class Sims1¶ Defined in
sims1.hpp
.On this page we describe the functionality relating to the small index congruence algorithm. The algorithm implemented by this class template is essentially the low index subgroup algorithm for finitely presented groups described in Section 5.6 of Computation with Finitely Presented Groups by C. Sims. The low index subgroups algorithm was adapted for semigroups and monoids by J. D. Mitchell and M. Tsalakou.
The purpose of this class is to provide the functions cbegin and cend, which permit iterating through the onesided congruences of a semigroup or monoid defined by a presentation containing (a possibly empty) set of pairs and with at most a given number of classes. An iterator returned by cbegin points at an ActionDigraph instance containing the action of the semigroup or monoid on the classes of a congruence.
Member types¶
The type of the associated 

Type for letters in the underlying presentation. 

Type for the nodes in the associated 

The size_type of the associated 
Constructors¶
Default constructor  deleted! 

Default copy constructor. 

Default move constructor. 

Construct from 

Construct from 

Construct from 


Construct from 
Default copy assignment operator. 

Default move assignment operator. 
Member functions¶
Returns a forward iterator pointing at the first congruence. 

Returns a forward iterator pointing one beyond the last congruence. 

Returns a const reference to the additional defining pairs. 

Returns the number of onesided congruences with up to a given number of classes. 

Returns a const reference to the defining presentation. 

Only apply certain relations when an otherwise compatible 