# Structure Descriptions (GAP) in semigroups

As can be easily seen through GAP manual:

37.6 Structure Descriptions

StructureDescription( G ) A


The method for StructureDescription exhibits the structure of the given group to some extend using the strategy outlined below. The idea is to return a possibly short string which gives some insight in the structure of the considered group and can be computed reasonably quickly.

One can search the site to see this code has been used in some Computational group theory problems, for example here.

A.H.Clifford gives a prime constructive theorem in his book, The Algebraic Theory of Semigroups as follows:

Theorem 1.9. Let $a$ be an element of a semigroup $S$, and let $\langle a\rangle$ be the cyclic subsemigroup of $S$ generated by $a$. If $\langle a\rangle$ is infinite, all the powers of $a$ are distict. If $\langle a\rangle$ is finite, there exist two positive integers, the index $r$ and the period $m$ of $a$, such that $a^{m+r}=a^r$ and the order of $\langle a\rangle$ being $m+r-1$. The set $$K_a=\{a^r,a^{r+1},...,a^{m+r-1}\}$$ is a cyclic subgroup of $S$ of order $m$.

My question: We see that for any semigroup $S$ and $a\in S$ of finite order, we have an structure like $K_a$ which is a group. How can be investigated which finite group(s) has(have) the same structure(s) with a given $K_a$. It seems that cause of existing words in $K_a$ it is so difficult maybe impossible to use above code. Is there any code I don't missing? Any hint is welcomed and is appreciated.

• You know, sometimes, you have a group structure inside a semigroup. $K_a$ is just an example. I have seen these structures in some papers. I want to know what can we do about these group-like structures inside a semigroup as StructureDescription command does for all groups in GAP. – Mikasa May 30 '13 at 6:33
• It does if it is a properly-defined group. I guess you will need to extract the corresponding group structure from the given semigroup. Once you get a group then you can use StructureDescription command, otherwise it seems it is not clear what are the group elments. Anyway, I didn't use semigroup much, so I am not sure what will be the way to do this. Hope someone will be able to help you. – Easy May 30 '13 at 6:57
• Thanks so much. So stay with me to find him. :-) – Mikasa May 30 '13 at 7:01
• Sure, my friend. – Easy May 30 '13 at 7:10

I don't understand the question. Are you asking:

If $S$ is a semigroup and $a$ is an element of $S$ with finite order, then what groups can occur as $K_a$?

The answer to this question is given in the theorem you quote: the cyclic groups.

Perhaps you meant to ask: which groups occur as subgroups of semigroups? Then the answer is all groups, since every group is also a semigroup.

Or maybe you meant: in GAP how can I determine the structure' of a maximal subgroup of a finite semigroups? Here is how:

gap> LoadPackage("citrus", false);;
gap> s:=RandomTransformationSemigroup(4,4);
<semigroup with 4 generators>
gap> d:=Filtered(DClasses(s), IsRegularDClass);
[ {Transformation( [ 3, 1, 1, 3 ] )}, {Transformation( [ 3, 3, 4, 1 ] )},
{Transformation( [ 3, 3, 3, 3 ] )} ]
gap> List(d, x-> StructureDescription(GroupHClass(x)));
[ "C2", "C3", "1" ]
`