Semigroups

This chapter describes functions for creating semigroups and determining information about them.

IsSemigroup (Filter)
<#Include Label="IsSemigroup"> <#Include Label="Semigroup"> <#Include Label="Subsemigroup"> <#Include Label="SemigroupByGenerators"> <#Include Label="AsSemigroup"> <#Include Label="AsSubsemigroup"> <#Include Label="GeneratorsOfSemigroup"> <#Include Label="FreeSemigroup"> <#Include Label="SemigroupByMultiplicationTable">

Properties of Semigroups

The following functions determine information about semigroups.

<#Include Label="IsRegularSemigroup"> <#Include Label="IsRegularSemigroupElement"> <#Include Label="IsSimpleSemigroup"> <#Include Label="IsZeroSimpleSemigroup"> <#Include Label="IsZeroGroup"> <#Include Label="IsReesCongruenceSemigroup">

Making transformation semigroups

Cayley's Theorem gives special status to semigroups of transformations, and accordingly there are special functions to deal with them, and to create them from other finite semigroups.

<#Include Label="IsTransformationSemigroup"> <#Include Label="DegreeOfTransformationSemigroup"> <#Include Label="IsomorphismTransformationSemigroup"> <#Include Label="IsFullTransformationSemigroup"> <#Include Label="FullTransformationSemigroup">

Ideals of semigroups

Ideals of semigroups are the same as ideals of the semigroup when considered as a magma. For documentation on ideals for magmas, see .

<#Include Label="SemigroupIdealByGenerators"> <#Include Label="ReesCongruenceOfSemigroupIdeal"> <#Include Label="IsLeftSemigroupIdeal">

Congruences for semigroups

An equivalence or a congruence on a semigroup is the equivalence or congruence on the semigroup considered as a magma. So, to deal with equivalences and congruences on semigroups, magma functions are used. For documentation on equivalences and congruences for magmas, see .

<#Include Label="IsSemigroupCongruence"> <#Include Label="IsReesCongruence">

Quotients

Given a semigroup and a congruence on the semigroup, one can construct a new semigroup: the quotient semigroup. The following functions deal with quotient semigroups in &GAP;.

<#Include Label="[1]{semiquo}"> <#Include Label="IsQuotientSemigroup"> <#Include Label="HomomorphismQuotientSemigroup"> <#Include Label="QuotientSemigroupPreimage">

Green's Relations
<#Include Label="[1]{semirel}"> <#Include Label="GreensRRelation"> <#Include Label="IsGreensRelation"> <#Include Label="IsGreensClass"> <#Include Label="IsGreensLessThanOrEqual"> <#Include Label="RClassOfHClass"> <#Include Label="EggBoxOfDClass"> <#Include Label="DisplayEggBoxOfDClass"> <#Include Label="GreensRClassOfElement"> <#Include Label="GreensRClasses"> <#Include Label="GroupHClassOfGreensDClass"> <#Include Label="IsGroupHClass"> <#Include Label="IsRegularDClass">

Rees Matrix Semigroups
<#Include Label="[1]{reesmat}"> <#Include Label="ReesMatrixSemigroup"> <#Include Label="ReesZeroMatrixSemigroup"> <#Include Label="IsReesMatrixSemigroup"> <#Include Label="IsReesZeroMatrixSemigroup"> <#Include Label="ReesMatrixSemigroupElement"> <#Include Label="IsReesMatrixSemigroupElement"> <#Include Label="SandwichMatrixOfReesMatrixSemigroup"> <#Include Label="RowIndexOfReesMatrixSemigroupElement"> <#Include Label="ReesZeroMatrixSemigroupElementIsZero"> <#Include Label="AssociatedReesMatrixSemigroupOfDClass"> <#Include Label="IsomorphismReesMatrixSemigroup">