The word operations defined here may be applied either to the words of a free semigroup or the words of a semigroup with non-trivial relations.
Given words u and v belonging to the same fp-semigroup S, return the product of u and v.
The n-th power of the word u, where n is a positive integer.
Given a sequence Q of words belonging to the fp-semigroup G, return the product Q[1] Q[2] ... Q[n] of the terms of Q as a word in G.
The length of the word u.
The words of an fp-semigroup S are ordered first by length and then lexicographically. The lexicographic ordering is determined by the following ordering on the generators: S.1 < S.2 < S.3 < S.4 < ... Here, u and v are words belonging to some common fp-semigroup.
Returns true if the words u and v are identical (as elements of the appropriate free semigroup), false otherwise.
Returns true if the words u and v are not identical (as elements of the appropriate free semigroup), false otherwise.
Returns true if the word u precedes the word v, with respect to the ordering defined above for elements of an fp-semigroup, false otherwise.
Returns true if the word u either precedes, or is equal to, the word v, with respect to the ordering defined above for elements of an fp-semigroup, false otherwise.
Returns true if the word u either follows, or is equal to, the word v, with respect to the ordering defined above for elements of an fp-semigroup, false otherwise.
Returns true if the word u follows the word v, with respect to the ordering defined above for elements of an fp-semigroup.
Returns true if the word u, belonging to the monoid M, is the identity word, false otherwise.