Elementary Operators for Words#
Multiplication and Exponentiation#
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.
- u * v: SgpFPElt, SgpFPElt -> SgpFPElt#
Given words \(u\) and \(v\) belonging to the same fp-semigroup \(S\), return the product of \(u\) and \(v\).
- u ^ n: SgpFPElt, RngIntElt -> SgpFPElt#
The \(n\)-th power of the word \(u\), where \(n\) is a positive integer.
- G ! Q: SgpFP, [ SgpFPElt ] -> SgpFPElt#
Given a sequence \(Q\) of words belonging to the fp-semigroup \(G\), return the product \(Q[1] Q[2] \cdots Q[n]\) of the terms of \(Q\) as a word in \(G\).
The Length of a Word#
- # u: SgpFPElt -> RngIntElt#
The length of the word \(u\).
Equality and Comparison#
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:
Here, \(u\) and \(v\) are words belonging to some common fp-semigroup.
- u eq v: SgpFPElt, SgpFPElt -> BoolElt#
Returns
trueif the words \(u\) and \(v\) are identical (as elements of the appropriate free semigroup),falseotherwise.
- u ne v: SgpFPElt, SgpFPElt -> BoolElt#
Returns
trueif the words \(u\) and \(v\) are not identical (as elements of the appropriate free semigroup),falseotherwise.
- u lt v: SgpFPElt, SgpFPElt -> BoolElt#
Returns
trueif the word \(u\) precedes the word \(v\), with respect to the ordering defined above for elements of an fp-semigroup,falseotherwise.
- u le v: SgpFPElt, SgpFPElt -> BoolElt#
Returns
trueif 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,falseotherwise.
- u ge v: SgpFPElt, SgpFPElt -> BoolElt#
Returns
trueif 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,falseotherwise.
- u gt v: SgpFPElt, SgpFPElt -> BoolElt#
Returns
trueif the word \(u\) follows the word \(v\), with respect to the ordering defined above for elements of an fp-semigroup.
- IsOne(u): MonFPElt -> BoolElt#
Returns
trueif the word \(u\), belonging to the monoid \(M\), is the identity word,falseotherwise.