<p>The semigroups of sizes 1 to 8 are available up to isomorphism and anti-isomorphism in <strong class="pkg">Smallsemi</strong>. Every semigroup in the library is identified by its size <span class="SimpleMath">\(m\)</span> and a number <span class="SimpleMath">\(n\)</span> lying between 1 and the number of semigroups of size <span class="SimpleMath">\(m\)</span> (see Table <a href="chap1_mj.html#X7DFB63A97E67C0A1"><span class="RefLink">1.</span></a>). We call the pair <span class="SimpleMath">\((m,n)\)</span> the <em>ID</em> of the semigroup.</p>
<p>In this section we give details about the functions relating to individual semigroups in <strong class="pkg">Smallsemi</strong>. This includes how to access semigroups in the library and how to identify the semigroup in the library equivalent to an arbitrary semigroup (of size 1 to 8).</p>
<p>If you are interested in the properties of a semigroup in the library or would like to find all the semigroups satisfying a given set of properties please see Section <a href="chap4_mj.html#X78274024827F306D"><span class="RefLink">4.2</span></a> or Section <a href="chap4_mj.html#X82F9C36C86006857"><span class="RefLink">4.5</span></a> respectively.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SmallSemigroup</code>( <var class="Arg">m</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SmallSemigroupNC</code>( <var class="Arg">m</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>returns the semigroup with ID <span class="SimpleMath">\((\textit{m,n})\)</span> from the library, that is the <var class="Arg">n</var>th semigroup with <var class="Arg">m</var> elements.</p>
<p>In <code class="code">SmallSemigroupNC</code> no check is performed to verify that <var class="Arg">m</var> and <var class="Arg">n</var> are valid arguments.</p>
<p>In <code class="code">SmallSemigroup</code> an error is signalled if the semigroups of size <varclass="Arg">m</var> are not classified or if <var class="Arg">n</var> is greater than the number of semigroups with <var class="Arg">m</var> elements.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSmallSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<p>returns <code class="code">true</code> if <var class="Arg">sgrp</var> is a semigroup from the library, that is if it was created using <code class="func">SmallSemigroup</code> (<a href="chap4_mj.html#X8538248D78185960"><span class="RefLink">4.1-1</span></a>). Otherwise <code class="code">false</code> is returned.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSmallSemigroupElt</code>( <var class="Arg">x</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<p>returns <code class="code">true</code> if <var class="Arg">x</var> is an element of a semigroup from the library, and <code class="code">false</code> otherwise.</p>
<p><var class="Arg">IsSmallSemigroupElt</var> is a representation satisfying <var class="Arg">IsPositionalObjectRep</var> and <code class="func">IsMultiplicativeElement</code> (<a href="../../../doc/ref/chap31_mj.html#X797D3B2A7A2B2F53"><span class="RefLink">Reference: IsMultiplicativeElement</span></a>) and <var class="Arg">IsAttributeStoringRep</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RecoverMultiplicationTable</code>( <var class="Arg">m</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RecoverMultiplicationTableNC</code>( <var class="Arg">m</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>return the multiplication table of the <var class="Arg">n</var>-th semigroup with <var class="Arg">m</var> elements from the library.</p>
<p>If <var class="Arg">m</var> is greater than 8 or <var class="Arg">n</var> greater than the number of semigroups of size <var class="Arg">m</var>, then <code class="code">fail</code> is returned. The NC version does not perform any tests on the input and will most likely run into an error in such a case.</p>
<p>Note that no semigroup is created calling this function but just the table is created. This makes it useful if one wants to perform very simple (i.e. quick in <strong class="pkg">GAP</strong>) tests on a large number of semigroups which can be performed on the multiplication table.</p>
<p>To create a semigroup with the multiplication table obtained by <code class="code">RecoverMultiplicationTable(<var class="Arg">m,n</var>)</code> use the function <code class="func">SmallSemigroup</code> (<a href="chap4_mj.html#X8538248D78185960"><span class="RefLink">4.1-1</span></a>) with arguments <var class="Arg">m,n</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SemigroupByMultiplicationTableNC</code>( <var class="Arg">table</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>returns an object with <code class="func">IsSemigroup</code> (<a href="../../../doc/ref/chap51_mj.html#X7B412E5B8543E9B7"><span class="RefLink">Reference: IsSemigroup</span></a>) and multiplication table <var class="Arg">table</var> without checking if the multiplication defined by the table is associative.</p>
<p>If <var class="Arg">table</var> is not associative, this can lead to errors and wrong results or might even crash <strong class="pkg">GAP</strong>.</p>
<p>Note that this function is <em>not</em> used to create semigroups when <code class="func">SmallSemigroup</code> (<a href="chap4_mj.html#X8538248D78185960"><span class="RefLink">4.1-1</span></a>) is called. It can be useful in combination with <code class="func">RecoverMultiplicationTable</code> (<a href="chap4_mj.html#X793FF84E80B334D1"><span class="RefLink">4.1-4</span></a>) if one wants to avoid that a semigroup knows it comes from the library.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IdSmallSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>returns a pair <code class="code">[m, n]</code> such that <span class="SimpleMath">\((m,n)\)</span> is the ID of a semigroup in <strong class="pkg">Smallsemi</strong> equivalent to <var class="Arg">sgrp</var>. The argument <var class="Arg">sgrp</var> has to be a semigroup of size 8 or less, otherwise an error is signalled.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ EquivalenceSmallSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>returns a mapping <code class="code">map</code> from <var class="Arg">sgrp</var> to the semigroup in <strong class="pkg">Smallsemi</strong> equivalent to <var class="Arg">sgrp</var>. The mapping is an isomorphism if such exists and an anti-isomorphism otherwise. The argument <var class="Arg">sgrp</var> has to be a semigroup of size 8 or less, otherwise an error is signalled.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ InfoSmallsemi</code></td><td class="tdright">( info class )</td></tr></table></div>
<p>is the info class (see <a href="../../../doc/ref/chap7_mj.html#X7A9C902479CB6F7C"><span class="RefLink">Reference: Info Functions</span></a>) of <strong class="pkg">Smallsemi</strong>. The info level is initially set to 1 which triggers a message whenever data is loaded into <strong class="pkg">GAP</strong>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ UnloadSmallsemiData</code>( <var class="Arg">use_later</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>deletes most or all of the data from the <strong class="pkg">GAP</strong> workspace that was loaded by <strong class="pkg">Smallsemi</strong>.</p>
<p>If the boolean <var class="Arg">use_later</var> is <code class="code">false</code> all data loaded by <strong class="pkg">Smallsemi</strong> is deleted from the workspace, in which case <strong class="pkg">Smallsemi</strong> is not guaranteed to work properly without restarting your <strongclass="pkg">GAP</strong> session.</p>
<p>If the boolean <var class="Arg">use_later</var> is <code class="code">true</code> only the recoverable data is deleted. This leaves roughly 10 MB of data in the workspace.</p>
<h4>4.2 <span class="Heading">Properties of Semigroups</span></h4>
<p>In this section we detail the <strong class="pkg">GAP</strong> functions that can be used to determine whether a small semigroup satisfies a certain property. Let <var class="Arg">S</var> be a semigroup. Then</p>
<ul>
<li><p><var class="Arg">S</var> is a <em>left zero semigroup</em> if <var class="Arg">xy=x</var> for all <varclass="Arg">x,y</var> in <var class="Arg">S</var>.</p>
</li>
<li><p><var class="Arg">S</var> is a <em>right zero semigroup</em> if <var class="Arg">xy=y</var> for all <var class="Arg">x,y</var> in <var class="Arg">S</var>.</p>
</li>
<li><p><var class="Arg">S</var> is <em>commutative</em> if <var class="Arg">xy=yx</var> for all <var class="Arg">x,y</var> in <var class="Arg">S</var>.</p>
</li>
<li><p><var class="Arg">S</var> is <em>simple</em> if it has no proper two-sided ideals.</p>
</li>
<li><p><var class="Arg">S</var> is <em>zero simple</em> if the only 2-sided ideals are <var class="Arg">{0}</var> and <var class="Arg">S</var>.</p>
</li>
<li><p><var class="Arg">S</var> is <em>regular</em> if for all <var class="Arg">x</var> in <var class="Arg">S</var> there exists <var class="Arg">y</var> in <var class="Arg">S</var> such that <var class="Arg">xyx=x</var>.</p>
</li>
<li><p><var class="Arg">S</var> is <em>completely regular</em> if every element of <var class="Arg">S</var> lies in a subgroup.</p>
</li>
<li><p><var class="Arg">S</var> is an <em>inverse semigroup</em> if every element <var class="Arg">x</var> in <var class="Arg">S</var> has a unique semigroup inverse, that is, a unique element <var class="Arg">y</var> such that <var class="Arg">xyx=x</var> and <var class="Arg">yxy=y</var>.</p>
</li>
<li><p><var class="Arg">S</var> is a <em>Clifford semigroup</em> if it is a regular semigroup whose idempotents are central, that is, for all <var class="Arg">e,x</var> in <var class="Arg">S</var> where <var class="Arg">e^2=e</var> we have that <var class="Arg">ex=xe</var>.</p>
</li>
<li><p><var class="Arg">S</var> is a <em>band</em> if every element is an idempotent, that is, <var class="Arg">x^2=x</var> for all <var class="Arg">x</var> in <var class="Arg">S</var>.</p>
</li>
<li><p><var class="Arg">S</var> is a <em>Brandt semigroup</em> if it is inverse and zero simple.</p>
</li>
<li><p><var class="Arg">S</var> is a <em>rectangular band</em> if for all <var class="Arg">x,y,z</var> in <var class="Arg">S</var> we have that <var class="Arg">x^2=x</var> and <var class="Arg">xyz=xz</var>.</p>
</li>
<li><p><var class="Arg">S</var> is a <em>semiband</em> if it is generated by its idempotent elements, that is, elements satisfying <var class="Arg">x^2=x</var>.</p>
</li>
<li><p><var class="Arg">S</var> is an <em>orthodox semigroup</em> if it is regular and its idempotents (elements satisfying <var class="Arg">x^2=x</var>) form a subsemigroup.</p>
</li>
<li><p><var class="Arg">S</var> is a <em>zero semigroup</em> if there exists an element <var class="Arg">0</var> in <var class="Arg">S</var> such that <var class="Arg">xy=0</var> for all <var class="Arg">x,y</var> in <var class="Arg">S</var>.</p>
</li>
<li><p><var class="Arg">S</var> is a <em>zero group</em> if there exists an element <var class="Arg">0</var> in <var class="Arg">S</var> such that <var class="Arg">S</var> without <var class="Arg">0</var> is a group and for all <var class="Arg">x</var> in <var class="Arg">S</var> we have that <var class="Arg">x0=0x=0</var>.</p>
</li>
</ul>
<p>The <strong class="pkg">MONOID</strong> package was used to determined which semigroups in the library satisfy the properties above. All of the resulting information is stored in the library.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Annihilators</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>returns the set of annihilators of <var class="Arg">sgrp</var> if <var class="Arg">sgrp</var> contains a zero element and <code class="code">fail</code> otherwise.</p>
<p>An element <span class="SimpleMath">\(x\)</span> in a semigroup with zero <span class="SimpleMath">\(z\)</span> is an <em>annihilator</em> if <span class="SimpleMath">\(xy=yx=z\)</span> for every element <span class="SimpleMath">\(y\)</span> in the semigroup.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DiagonalOfMultiplicationTable</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>returns the diagonal of the multiplication table of the semigroup <var class="Arg">sgrp</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DisplaySmallSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>displays all the information about the small semigroup <var class="Arg">sgrp</var> that is stored in the library and its Green's classes and idempotents.
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IndexPeriod</code>( <var class="Arg">x</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>returns the minimum numbers <var class="Arg">m, r</var> such that <var class="Arg">x^{m+r}=x^m</var>; known as the index and period of the small semigroup element <var class="Arg">x</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsBand</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the small semigroup <var class="Arg">sgrp</var> is a band and <code class="keyw">false</code> otherwise.</p>
<p>A semigroup <var class="Arg">sgrp</var> is a <em>band</em> if every element is an idempotent, that is, <var class="Arg">x^2=x</var> for all <var class="Arg">x</var> in <var class="Arg">sgrp</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsBrandtSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the small semigroup <var class="Arg">sgrp</var> is a Brandt semigroup and <code class="keyw">false</code> otherwise.</p>
<p>A finite semigroup <var class="Arg">sgrp</var> is a <em>Brandt semigroup</em> if it is inverse and zero simple.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsCliffordSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the small semigroup <var class="Arg">sgrp</var> is a Clifford semigroup and <code class="keyw">false</code> otherwise.</p>
<p>A semigroup <var class="Arg">sgrp</var> is a <em>Clifford semigroup</em> if it is a regular semigroup whose idempotents are central, that is, for all <var class="Arg">e,x</var> in <var class="Arg">sgrp</var> where <var class="Arg">e^2=e</var> we have that <var class="Arg">ex=xe</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsCommutativeSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsCommutative</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>return <code class="keyw">true</code> if the small semigroup <var class="Arg">sgrp</var> is commutative and <code class="keyw">false</code> otherwise.</p>
<p>A semigroup <var class="Arg">sgrp</var> is <em>commutative</em> if <var class="Arg">xy=yx</var> for all <var class="Arg">x,y</var> in <var class="Arg">sgrp</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsFullTransformationSemigroupCopy</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the semigroup <var class="Arg">sgrp</var> is isomorphic to a full transformation semigroup and <code class="keyw">false</code> otherwise.</p>
<p>The size of the full transformation semigroup on an <var class="Arg">n</var> element set is <span class="SimpleMath">\(n^n\)</span> and so there are only two semigroup in the library that have this property.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsGroupAsSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the small semigroup <var class="Arg">sgrp</var> is mathematically a group, and returns <code class="keyw">false</code> otherwise. Note that no small semigroup can lie in the category <code class="func">IsGroup</code> (<a href="../../../doc/ref/chap39_mj.html#X7939B3177BBD61E4"><span class="RefLink">Reference: IsGroup</span></a>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsIdempotentGenerated</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSemiband</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the semigroup <var class="Arg">sgrp</var> is a semiband and <code class="keyw">false</code> otherwise.</p>
<p>A semigroup <var class="Arg">sgrp</var> is <em>idempotent generated</em> or equivalently a <em>semiband</em> if it is generated by its idempotent elements, i.e elements satisfying <var class="Arg">x^2=x</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsInverseSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the semigroup <var class="Arg">sgrp</var> is an inverse semigroup and <code class="keyw">false</code> otherwise.</p>
<p>A semigroup <var class="Arg">sgrp</var> is an <em>inverse semigroup</em> if every element <var class="Arg">x</var> in <var class="Arg">sgrp</var> has a unique semigroup inverse, that is, a unique element <var class="Arg">y</var> such that <var class="Arg">xyx=x</var> and <var class="Arg">yxy=y</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftZeroSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the semigroup <var class="Arg">sgrp</var> is a left zero semigroup and <code class="keyw">false</code> otherwise.</p>
<p>A semigroup <var class="Arg">sgrp</var> is a <em>left zero semigroup</em> if <var class="Arg">xy=x</var> for all <var class="Arg">x,y</var> in <var class="Arg">sgrp</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMonogenicSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the small semigroup <var class="Arg">sgrp</var> is generated by a single element and <code class="keyw">false</code> otherwise.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMonoidAsSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the semigroup <var class="Arg">sgrp</var> is a monoid (i.e. has an identity element) and <code class="keyw">false</code> otherwise.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMultSemigroupOfNearRing</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if <var class="Arg">sgrp</var> is isomorphic (or anti-isomorphic?) to the multiplicative semigroup of a near-ring and <code class="keyw">false</code> otherwise.</p>
<p>Those semigroups in the library that have this property were identified using the <strong class="pkg">Sonata</strong> package.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsNGeneratedSemigroup</code>( <var class="Arg">sgrp</var>, <var class="Arg">n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the least size of a generating set for the small semigroup <var class="Arg">sgrp</var> is <var class="Arg">n</var> and <code class="keyw">false</code> otherwise.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRectangularBand</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the small semigroup <var class="Arg">sgrp</var> is a rectangular band and <code class="keyw">false</code> otherwise.</p>
<p>A semigroup <var class="Arg">sgrp</var> is a <em>rectangular band</em> if for all <var class="Arg">x,y,z</var> in <var class="Arg">sgrp</var> we have that <var class="Arg">x^2=x</var> and <var class="Arg">xyz=xz</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRegularSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the small semigroup <var class="Arg">sgrp</var> is a regular semigroup and <code class="keyw">false</code> otherwise.</p>
<p>A semigroup <var class="Arg">sgrp</var> is <em>regular</em> if for all <var class="Arg">x</var> in <var class="Arg">sgrp</var> there exists <var class="Arg">y</var> in <var class="Arg">sgrp</var> such that <var class="Arg">xyx=x</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightZeroSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">false</code> for any small semigroup <var class="Arg">sgrp</var> since the library contains only left zero semigroups.</p>
<p>A semigroup <var class="Arg">sgrp</var> is a <em>right zero semigroup</em> if <var class="Arg">xy=y</var> for all <var class="Arg">x,y</var> in <var class="Arg">sgrp</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSelfDualSemigroup</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the semigroup <var class="Arg">sgrp</var> is self dual and <code class="keyw">false</code> otherwise.</p>
<p>A semigroup is <em>self dual</em> if it is isomorphic to its dual, that is, the semigroup <var class="Arg">t</var> with multiplication <var class="Arg">*</var> defined by <var class="Arg">x*y=yx</var> where <var class="Arg">yx</var> denotes the product in <var class="Arg">sgrp</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSemigroupWithClosedIdempotents</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the idempotent elements of the semigroup <var class="Arg">sgrp</var> form a subsemigroup and <code class="keyw">false</code> otherwise.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSemigroupWithZero</code>( <var class="Arg">sgrp</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>returns <code class="keyw">true</code> if the semigroup <var class="Arg">sgrp</var> has a zero element and false otherwise.</p>
<p>An element <span class="SimpleMath">\(z\)</span> is a <em>zero</em> if <span class="SimpleMath">\(z*x=x*z=z\)</span> for all <span class="SimpleMath">\(x\)</span> in the semigroup.</p>
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.153Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.