add_rules(FroidurePinBase&)

void libsemigroups::CongruenceWrapper::add_rules(FroidurePinBase &S)

Add the rules of a finite presentation for S to this.

Complexity

At most \(O(|S||A|)\) where \(A\) is a generating set for S.

Parameters

S – a FroidurePin object representing a semigroup.

Throws

LibsemigroupsException – if any of the following apply:

  • alphabet() is empty;

  • the number of generators of S is not equal to alphabet().size(); or

  • started() returns true;

Returns

(None)