next_relation

virtual void libsemigroups::FroidurePinBase::next_relation(word_type &relation) = 0

This member function changes relation in-place to contain the next relation of the presentation defining this.

This member function changes relation in-place so that one of the following holds:

FroidurePin::next_relation is guaranteed to output all relations of length 2 before any relations of length 3. If called repeatedly after FroidurePin::reset_next_relation, and until relation is empty, the values placed in relation correspond to a length-reducing confluent rewriting system that defines the semigroup.

This member function can be used in conjunction with FroidurePin::factorisation to obtain a presentation defining the semigroup.

See

FroidurePin::reset_next_relation.