Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Bib Ind

### 16 Properties and attributes specific to inverse semigroups

In this chapter we describe the attributes which are specific to inverse semigroups that can be determined using Semigroups.

The functions

• IsJoinIrreducible (16.2-7)

• IsMajorantlyClosed (16.2-8)

• JoinIrreducibleDClasses (16.1-2)

• MajorantClosure (16.1-3)

• Minorants (16.1-4)

• RightCosetsOfInverseSemigroup (16.1-6)

• SmallerDegreePartialPermRepresentation (16.1-8)

• VagnerPrestonRepresentation (16.1-9)

were written by Wilf A. Wilson and Robert Hancock.

The function CharacterTableOfInverseSemigroup (16.1-10) was written by Jhevon Smith and Ben Steinberg.

#### 16.1 Attributes specific to inverse semigroups

##### 16.1-1 NaturalLeqInverseSemigroup
 ‣ NaturalLeqInverseSemigroup( S ) ( attribute )

Returns: An function.

NaturalLeqInverseSemigroup returns a function that, when given two elements x, y of the inverse semigroup S, returns true if x is less than or equal to y in the natural partial order on S.

gap> S := Monoid(Transformation([1, 3, 4, 4]),
>                Transformation([1, 4, 2, 4]));
<transformation monoid of degree 4 with 2 generators>
gap> IsInverseSemigroup(S);
true
gap> Size(S);
6
gap> NaturalPartialOrder(S);
[ [ 2, 5, 6 ], [ 6 ], [ 6 ], [ 6 ], [ 6 ], [  ] ]

##### 16.1-2 JoinIrreducibleDClasses
 ‣ JoinIrreducibleDClasses( S ) ( attribute )

Returns: A list of $$\mathscr{D}$$-classes.

JoinIrreducibleDClasses returns a list of the join irreducible $$\mathscr{D}$$-classes of the inverse semigroup of partial permutations, block bijections or partial permutation bipartitions S.

A join irreducible $$\mathscr{D}$$-class is a $$\mathscr{D}$$-class containing only join irreducible elements. See IsJoinIrreducible (16.2-7). If a $$\mathscr{D}$$-class contains one join irreducible element, then all of the elements in the $$\mathscr{D}$$-class are join irreducible.

gap> S := SymmetricInverseSemigroup(3);
<symmetric inverse monoid of degree 3>
gap> JoinIrreducibleDClasses(S);
[ <Green's D-class: <identity partial perm on [ 2 ]>> ]
gap> T := InverseSemigroup([
>   PartialPerm([1, 2, 4, 3]),
>   PartialPerm([1]),
>   PartialPerm([0, 2])]);
<inverse partial perm semigroup of rank 4 with 3 generators>
gap> JoinIrreducibleDClasses(T);
[ <Green's D-class: <identity partial perm on [ 1, 2, 3, 4 ]>>,
<Green's D-class: <identity partial perm on [ 1 ]>>,
<Green's D-class: <identity partial perm on [ 2 ]>> ]
gap> D := DualSymmetricInverseSemigroup(3);
<inverse block bijection monoid of degree 3 with 3 generators>
gap> JoinIrreducibleDClasses(D);
[ <Green's D-class: <block bijection: [ 1, 2, -1, -2 ], [ 3, -3 ]>> ]

##### 16.1-3 MajorantClosure
 ‣ MajorantClosure( S, T ) ( operation )

Returns: A majorantly closed list of elements.

MajorantClosure returns a majorantly closed subset of an inverse semigroup of partial permutations, block bijections or partial permutation bipartitions, S, as a list. See IsMajorantlyClosed (16.2-8).

The result contains all elements of S which are greater than or equal to any element of T (with respect to the natural partial order NaturalLeqPartialPerm (Reference: NaturalLeqPartialPerm)). In particular, the result is a superset of T.

Note that T can be a subset of S or a subsemigroup of S.

gap> S := SymmetricInverseSemigroup(4);
<symmetric inverse monoid of degree 4>
gap> T := [PartialPerm([1, 0, 3, 0])];
[ <identity partial perm on [ 1, 3 ]> ]
gap> U := MajorantClosure(S, T);
[ <identity partial perm on [ 1, 3 ]>,
<identity partial perm on [ 1, 2, 3 ]>, [2,4](1)(3), [4,2](1)(3),
<identity partial perm on [ 1, 3, 4 ]>,
<identity partial perm on [ 1, 2, 3, 4 ]>, (1)(2,4)(3) ]
gap> B := InverseSemigroup([
>  Bipartition([[1, -2], [2, -1], [3, -3], [4, 5, -4, -5]]),
>  Bipartition([[1, -3], [2, -4], [3, -2], [4, -1], [5, -5]])]);;
gap> T := [Bipartition([[1, -2], [2, 3, 5, -1, -3, -5], [4, -4]]),
>  Bipartition([[1, -4], [2, 3, 5, -1, -3, -5], [4, -2]])];;
gap> IsMajorantlyClosed(B, T);
false
gap> MajorantClosure(B, T);
[ <block bijection: [ 1, -2 ], [ 2, 3, 5, -1, -3, -5 ], [ 4, -4 ]>,
<block bijection: [ 1, -4 ], [ 2, 3, 5, -1, -3, -5 ], [ 4, -2 ]>,
<block bijection: [ 1, -2 ], [ 2, 5, -1, -5 ], [ 3, -3 ], [ 4, -4 ]>
, <block bijection: [ 1, -2 ], [ 2, -1 ], [ 3, 5, -3, -5 ],
[ 4, -4 ]>,
<block bijection: [ 1, -4 ], [ 2, 5, -3, -5 ], [ 3, -1 ], [ 4, -2 ]>
, <block bijection: [ 1, -4 ], [ 2, -3 ], [ 3, 5, -1, -5 ],
[ 4, -2 ]>, <block bijection: [ 1, -4 ], [ 2, -3 ], [ 3, -1 ],
[ 4, -2 ], [ 5, -5 ]> ]
gap> IsMajorantlyClosed(B, last);
true


##### 16.1-4 Minorants
 ‣ Minorants( S, f ) ( operation )

Returns: A list of elements.

Minorants takes an element f from an inverse semigroup of partial permutations, block bijections or partial permutation bipartitions S, and returns a list of the minorants of f in S.

A minorant of f is an element of S which is strictly less than f in the natural partial order of S. See NaturalLeqPartialPerm (Reference: NaturalLeqPartialPerm).

gap> S := SymmetricInverseSemigroup(3);
<symmetric inverse monoid of degree 3>
gap> x := Elements(S)[13];
[1,3](2)
gap> Minorants(S, x);
[ <empty partial perm>, [1,3], <identity partial perm on [ 2 ]> ]
gap> x := PartialPerm([3, 2, 4, 0]);
[1,3,4](2)
gap> S := InverseSemigroup(x);
<inverse partial perm semigroup of rank 4 with 1 generator>
gap> Minorants(S, x);
[ <identity partial perm on [ 2 ]>, [1,3](2), [3,4](2) ]

##### 16.1-5 PrimitiveIdempotents
 ‣ PrimitiveIdempotents( S ) ( attribute )

Returns: A list of elements.

An idempotent in an inverse semigroup S is primitive if it is non-zero and minimal with respect to the NaturalPartialOrder (Reference: NaturalPartialOrder) on S. PrimitiveIdempotents returns the list of primitive idempotents in the inverse semigroup S.

gap> S := InverseMonoid(
> PartialPerm([1], [4]),
> PartialPerm([1, 2, 3], [2, 1, 3]),
> PartialPerm([1, 2, 3], [3, 1, 2]));;
gap> MultiplicativeZero(S);
<empty partial perm>
gap> Set(PrimitiveIdempotents(S));
[ <identity partial perm on [ 1 ]>, <identity partial perm on [ 2 ]>,
<identity partial perm on [ 3 ]>, <identity partial perm on [ 4 ]> ]
gap> S := DualSymmetricInverseMonoid(4);
<inverse block bijection monoid of degree 4 with 3 generators>
gap> Set(PrimitiveIdempotents(S));
[ <block bijection: [ 1, 2, 3, -1, -2, -3 ], [ 4, -4 ]>,
<block bijection: [ 1, 2, 4, -1, -2, -4 ], [ 3, -3 ]>,
<block bijection: [ 1, 2, -1, -2 ], [ 3, 4, -3, -4 ]>,
<block bijection: [ 1, 3, 4, -1, -3, -4 ], [ 2, -2 ]>,
<block bijection: [ 1, 3, -1, -3 ], [ 2, 4, -2, -4 ]>,
<block bijection: [ 1, 4, -1, -4 ], [ 2, 3, -2, -3 ]>,
<block bijection: [ 1, -1 ], [ 2, 3, 4, -2, -3, -4 ]> ]

##### 16.1-6 RightCosetsOfInverseSemigroup
 ‣ RightCosetsOfInverseSemigroup( S, T ) ( operation )

Returns: A list of lists of elements.

RightCosetsOfInverseSemigroup takes a majorantly closed inverse subsemigroup T of an inverse semigroup of partial permutations, block bijections or partial permutation bipartitions S. See IsMajorantlyClosed (16.2-8). The result is a list of the right cosets of T in S.

For $$s \in S$$, the right coset $$\overline{Ts}$$ is defined if and only if $$ss^{-1} \in T$$, in which case it is defined to be the majorant closure of the set $$Ts$$. See MajorantClosure (16.1-3). Distinct cosets are disjoint but do not necessarily partition S.

gap> S := SymmetricInverseSemigroup(3);
<symmetric inverse monoid of degree 3>
gap> T := InverseSemigroup(MajorantClosure(S, [PartialPerm([1])]));
<inverse partial perm monoid of rank 3 with 6 generators>
gap> IsMajorantlyClosed(S, T);
true
gap> RC := RightCosetsOfInverseSemigroup(S, T);
[ [ <identity partial perm on [ 1 ]>,
<identity partial perm on [ 1, 2 ]>, [2,3](1), [3,2](1),
<identity partial perm on [ 1, 3 ]>,
<identity partial perm on [ 1, 2, 3 ]>, (1)(2,3) ],
[ [1,3], [2,1,3], [1,3](2), (1,3), [1,3,2], (1,3,2), (1,3)(2) ],
[ [1,2], (1,2), [1,2,3], [3,1,2], [1,2](3), (1,2)(3), (1,2,3) ] ]

##### 16.1-7 SameMinorantsSubgroup
 ‣ SameMinorantsSubgroup( H ) ( attribute )

Returns: A list of elements of the group $$\mathscr{H}$$-class H.

Given a group $$\mathscr{H}$$-class H in an inverse semigroup of partial permutations, block bijections or partial permutation bipartitions S, SameMinorantsSubgroup returns a list of the elements of H which have the same strict minorants as the identity element of H. A strict minorant of x in H is an element of S which is less than x (with respect to the natural partial order), but is not equal to x.

The returned list of elements of H describe a subgroup of H.

gap> S := SymmetricInverseSemigroup(3);
<symmetric inverse monoid of degree 3>
gap> H := GroupHClass(DClass(S, PartialPerm([1, 2, 3])));
<Green's H-class: <identity partial perm on [ 1, 2, 3 ]>>
gap> Elements(H);
[ <identity partial perm on [ 1, 2, 3 ]>, (1)(2,3), (1,2)(3),
(1,2,3), (1,3,2), (1,3)(2) ]
gap> SameMinorantsSubgroup(H);
[ <identity partial perm on [ 1, 2, 3 ]> ]
gap> T := InverseSemigroup(
> PartialPerm([1, 2, 3, 4], [1, 2, 4, 3]),
> PartialPerm([1], [1]), PartialPerm([2], [2]));
<inverse partial perm semigroup of rank 4 with 3 generators>
gap> Elements(T);
[ <empty partial perm>, <identity partial perm on [ 1 ]>,
<identity partial perm on [ 2 ]>,
<identity partial perm on [ 1, 2, 3, 4 ]>, (1)(2)(3,4) ]
gap> x := GroupHClass(DClass(T, PartialPerm([1, 2, 3, 4])));
<Green's H-class: <identity partial perm on [ 1, 2, 3, 4 ]>>
gap> Elements(x);
[ <identity partial perm on [ 1, 2, 3, 4 ]>, (1)(2)(3,4) ]
gap> AsSet(SameMinorantsSubgroup(x));
[ <identity partial perm on [ 1, 2, 3, 4 ]>, (1)(2)(3,4) ]

##### 16.1-8 SmallerDegreePartialPermRepresentation
 ‣ SmallerDegreePartialPermRepresentation( S ) ( attribute )

Returns: An isomorphism.

SmallerDegreePartialPermRepresentation attempts to find an isomorphism from the inverse semigroup S to an inverse semigroup of partial permutations with small degree. If S is already a partial permutation semigroup, and the function cannot reduce the degree, the identity mapping is returned.

There is no guarantee that the smallest possible degree representation is returned. For more information see [Sch92].

gap> S := InverseSemigroup(PartialPerm([2, 1, 4, 3, 6, 5, 8, 7]));
<partial perm group of rank 8 with 1 generator>
gap> Elements(S);
[ <identity partial perm on [ 1, 2, 3, 4, 5, 6, 7, 8 ]>,
(1,2)(3,4)(5,6)(7,8) ]
gap> iso := SmallerDegreePartialPermRepresentation(S);;
gap> Source(iso) = S;
true
gap> R := Range(iso);
<partial perm group of rank 2 with 1 generator>
gap> Elements(R);
[ <identity partial perm on [ 1, 2 ]>, (1,2) ]
gap> S := DualSymmetricInverseMonoid(5);;
gap> T := Range(IsomorphismPartialPermSemigroup(S));
<inverse partial perm monoid of size 6721, rank 6721 with 3
generators>
gap> SmallerDegreePartialPermRepresentation(T);
MappingByFunction( <inverse partial perm monoid of size 6721,
rank 6721 with 3 generators>, <inverse partial perm semigroup of
rank 30 with 3 generators>
, function( x ) ... end, function( x ) ... end )

##### 16.1-9 VagnerPrestonRepresentation
 ‣ VagnerPrestonRepresentation( S ) ( attribute )

Returns: An isomorphism to an inverse semigroup of partial permutations.

VagnerPrestonRepresentation returns an isomorphism from an inverse semigroup S where the elements of S have a unique semigroup inverse accessible via Inverse (Reference: Inverse), to the inverse semigroup of partial permutations T of degree equal to the size of S, which is obtained using the Vagner-Preston Representation Theorem.

More precisely, if $$f:S\to T$$ is the isomorphism returned by VagnerPrestonRepresentation(S) and $$x$$ is in S, then $$f(x)$$ is the partial permutation with domain $$Sx^{-1}$$ and range $$Sx^{-1}x$$ defined by $$f(x): sx^{-1}\mapsto sx^{-1}x$$.

In many cases, it is possible to find a smaller degree representation than that provided by VagnerPrestonRepresentation using IsomorphismPartialPermSemigroup (Reference: IsomorphismPartialPermSemigroup) or SmallerDegreePartialPermRepresentation (16.1-8).

gap> S := SymmetricInverseSemigroup(2);
<symmetric inverse monoid of degree 2>
gap> Size(S);
7
gap> iso := VagnerPrestonRepresentation(S);
MappingByFunction( <symmetric inverse monoid of degree 2>,
<inverse partial perm monoid of rank 7 with 2 generators>
, function( x ) ... end, function( x ) ... end )
gap> RespectsMultiplication(iso);
true
gap> inv := InverseGeneralMapping(iso);;
gap> ForAll(S, x -> (x ^ iso) ^ inv = x);
true
gap> V := InverseSemigroup(
> Bipartition([[1, -4], [2, -1], [3, -5], [4], [5], [-2], [-3]]),
> Bipartition([[1, -5], [2, -1], [3, -3], [4], [5], [-2], [-4]]),
> Bipartition([[1, -2], [2, -4], [3, -5], [4, -1], [5, -3]]));
<inverse bipartition semigroup of degree 5 with 3 generators>
gap> IsInverseSemigroup(V);
true
gap> VagnerPrestonRepresentation(V);
MappingByFunction( <inverse bipartition semigroup of size 394,
degree 5 with 3 generators>, <inverse partial perm semigroup of
rank 394 with 5 generators>
, function( x ) ... end, function( x ) ... end )

##### 16.1-10 CharacterTableOfInverseSemigroup
 ‣ CharacterTableOfInverseSemigroup( S ) ( attribute )

Returns: The character table of the inverse semigroup S and a list of conjugacy class representatives of S.

Returns a list with two entries: the first entry being the character table of the inverse semigroup S as a matrix, while the second entry is a list of conjugacy class representatives of S.

The order of the columns in the character table matrix follows the order of the conjugacy class representatives list. The conjugacy representatives are grouped by $$\mathscr{D}$$-class and then sorted by rank. Also, as is typical of character tables, the rows of the matrix correspond to the irreducible characters and the columns correspond to the conjugacy classes.

This function was contributed by Jhevon Smith and Ben Steinberg.

gap> S := InverseMonoid([
>   PartialPerm([1, 2], [3, 1]),
>  PartialPerm([1, 2, 3], [1, 3, 4]),
>  PartialPerm([1, 2, 3], [2, 4, 1]),
>  PartialPerm([1, 3, 4], [3, 4, 1])]);;
gap> CharacterTableOfInverseSemigroup(S);
[ [ [ 1, 0, 0, 0, 0, 0, 0, 0 ], [ 3, 1, 1, 1, 0, 0, 0, 0 ],
[ 3, 1, E(3), E(3)^2, 0, 0, 0, 0 ],
[ 3, 1, E(3)^2, E(3), 0, 0, 0, 0 ], [ 6, 3, 0, 0, 1, -1, 0, 0 ],
[ 6, 3, 0, 0, 1, 1, 0, 0 ], [ 4, 3, 0, 0, 2, 0, 1, 0 ],
[ 1, 1, 1, 1, 1, 1, 1, 1 ] ],
[ <identity partial perm on [ 1, 2, 3, 4 ]>,
<identity partial perm on [ 1, 3, 4 ]>, (1,3,4), (1,4,3),
<identity partial perm on [ 1, 3 ]>, (1,3),
<identity partial perm on [ 3 ]>, <empty partial perm> ] ]
gap> S := SymmetricInverseMonoid(4);;
gap> CharacterTableOfInverseSemigroup(S);
[ [ [ 1, -1, 1, 1, -1, 0, 0, 0, 0, 0, 0, 0 ],
[ 3, -1, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0 ],
[ 2, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0 ],
[ 3, 1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0 ],
[ 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 ],
[ 4, -2, 1, 0, 0, 1, -1, 1, 0, 0, 0, 0 ],
[ 8, 0, -1, 0, 0, 2, 0, -1, 0, 0, 0, 0 ],
[ 4, 2, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0 ],
[ 6, 0, 0, -2, 0, 3, -1, 0, 1, -1, 0, 0 ],
[ 6, 2, 0, 2, 0, 3, 1, 0, 1, 1, 0, 0 ],
[ 4, 2, 1, 0, 0, 3, 1, 0, 2, 0, 1, 0 ],
[ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ],
[ <identity partial perm on [ 1, 2, 3, 4 ]>, (1)(2)(3,4),
(1)(2,3,4), (1,2)(3,4), (1,2,3,4),
<identity partial perm on [ 1, 2, 3 ]>, (1)(2,3), (1,2,3),
<identity partial perm on [ 2, 3 ]>, (2,3),
<identity partial perm on [ 1 ]>, <empty partial perm> ] ]

##### 16.1-11 EUnitaryInverseCover
 ‣ EUnitaryInverseCover( S ) ( attribute )

Returns: A homomorphism between semigroups.

If the argument S is an inverse semigroup then this function returns a finite E-unitary inverse cover of S. A finite E-unitary cover of S is a surjective idempotent separating homomorphism from a finite semigroup satisfying IsEUnitaryInverseSemigroup (16.2-3) to S. A semigroup homomorphism is said to be idempotent separating if no two idempotents are mapped to the same element of the image.

gap> S := InverseSemigroup([PartialPermNC([1, 2], [2, 1]),
> PartialPermNC([1], [1])]);
<inverse partial perm semigroup of rank 2 with 2 generators>
gap> cov := EUnitaryInverseCover(S);
MappingByFunction( <inverse partial perm semigroup of rank 4 with 2
generators>, <inverse partial perm semigroup of rank 2 with 2
generators>, function( x ) ... end )
gap> IsEUnitaryInverseSemigroup(Source(cov));
true
gap> S = Range(cov);
true

#### 16.2 Properties of inverse semigroups

##### 16.2-1 IsCliffordSemigroup
 ‣ IsCliffordSemigroup( S ) ( property )

Returns: true or false.

IsCliffordSemigroup returns true if the semigroup S is regular and its idempotents are central, and false if it is not.

gap> S := Semigroup(Transformation([1, 2, 4, 5, 6, 3, 7, 8]),
>                   Transformation([3, 3, 4, 5, 6, 2, 7, 8]),
>                   Transformation([1, 2, 5, 3, 6, 8, 4, 4]));;
gap> IsCliffordSemigroup(S);
true
gap> T := Range(IsomorphismPartialPermSemigroup(S));;
gap> IsCliffordSemigroup(S);
true
gap> S := DualSymmetricInverseMonoid(5);;
gap> T := IdempotentGeneratedSubsemigroup(S);;
gap> IsCliffordSemigroup(T);
true

##### 16.2-2 IsBrandtSemigroup
 ‣ IsBrandtSemigroup( S ) ( property )

Returns: true or false.

IsBrandtSemigroup return true if the semigroup S is a finite 0-simple inverse semigroup, and false if it is not. See also IsZeroSimpleSemigroup (15.1-28) and IsInverseSemigroup (Reference: IsInverseSemigroup).

gap> S := Semigroup(
> Transformation([2, 8, 8, 8, 8, 8, 8, 8]),
> Transformation([5, 8, 8, 8, 8, 8, 8, 8]),
> Transformation([8, 3, 8, 8, 8, 8, 8, 8]),
> Transformation([8, 6, 8, 8, 8, 8, 8, 8]),
> Transformation([8, 8, 1, 8, 8, 8, 8, 8]),
> Transformation([8, 8, 8, 1, 8, 8, 8, 8]),
> Transformation([8, 8, 8, 8, 4, 8, 8, 8]),
> Transformation([8, 8, 8, 8, 8, 7, 8, 8]),
> Transformation([8, 8, 8, 8, 8, 8, 2, 8]));;
gap> IsBrandtSemigroup(S);
true
gap> T := Range(IsomorphismPartialPermSemigroup(S));;
gap> IsBrandtSemigroup(T);
true
gap> S := DualSymmetricInverseMonoid(4);;
gap> D := DClass(S,
>                Bipartition([[1, 2, 3, -1, -2, -3], [4, -4]]));;
gap> R := InjectionPrincipalFactor(D);;
gap> S := Semigroup(PreImages(R, GeneratorsOfSemigroup(Range(R))));;
gap> IsBrandtSemigroup(S);
true

##### 16.2-3 IsEUnitaryInverseSemigroup
 ‣ IsEUnitaryInverseSemigroup( S ) ( property )

Returns: true or false.

As described in Section 5.9 of [How95], an inverse semigroup S with semilattice of idempotents E is E-unitary if for

$s \in S\textrm{ and }e \in E\textrm{: }es \in E \Rightarrow s \in E.$

Equivalently, S is E-unitary if E is closed in the natural partial order (see Proposition 5.9.1 in [How95]):

$\textrm{for } s \in S\textrm{ and }e \in E\textrm{: }e \le s \Rightarrow s \in E.$

This condition is equivalent to E being majorantly closed in S. See IdempotentGeneratedSubsemigroup (14.9-3) and IsMajorantlyClosed (16.2-8). Hence an inverse semigroup of partial permutations, block bijections or partial permutation bipartitions is E-unitary if and only if the idempotent semilattice is majorantly closed.

gap> S := InverseSemigroup(
>  PartialPerm([1, 2, 3, 4], [2, 3, 1, 6]),
>  PartialPerm([1, 2, 3, 5], [3, 2, 1, 6]));;
gap> IsEUnitaryInverseSemigroup(S);
true
gap> e := IdempotentGeneratedSubsemigroup(S);;
gap> ForAll(Difference(S, e), x -> not ForAny(e, y -> y * x in e));
true
gap> T := InverseSemigroup([
>  PartialPerm([1, 3, 4, 6, 8], [2, 5, 10, 7, 9]),
>  PartialPerm([1, 2, 3, 5, 6, 7, 8], [5, 8, 9, 2, 10, 1, 3]),
>  PartialPerm([1, 2, 3, 5, 6, 7, 9], [9, 8, 4, 1, 6, 7, 2])]);;
gap> IsEUnitaryInverseSemigroup(T);
false
gap> U := InverseSemigroup([
>  PartialPerm([1, 2, 3, 4, 5], [2, 3, 4, 5, 1]),
>  PartialPerm([1, 2, 3, 4, 5], [2, 1, 3, 4, 5])]);;
gap> IsEUnitaryInverseSemigroup(U);
true
gap> IsGroupAsSemigroup(U);
true
gap> StructureDescription(U);
"S5"

##### 16.2-4 IsFInverseSemigroup
 ‣ IsFInverseSemigroup( S ) ( property )

Returns: true or false.

This functions determines whether a given semigroup is an F-inverse semigroup. An F-inverse semigroup is a semigroup which satisfies IsEUnitaryInverseSemigroup (16.2-3) as well as being isomorphic to some McAlisterTripleSemigroup (12.1-2) where the McAlisterTripleSemigroupPartialOrder (12.1-4) satisfies IsJoinSemilatticeDigraph (Digraphs: IsJoinSemilatticeDigraph). McAlister triple semigroups are a represenation of E-unitary inverse semigroups and more can be read about them in Chapter 12.

gap> S := InverseMonoid([PartialPermNC([1, 2], [1, 2]),
> PartialPermNC([1, 2, 3], [1, 2, 3]),
> PartialPermNC([1, 2, 4], [1, 2, 4]),
> PartialPermNC([1, 2], [2, 1]), PartialPermNC([1, 2, 3], [2, 1, 3]),
> PartialPermNC([1, 2, 4], [2, 1, 4])]);;
gap> IsEUnitaryInverseSemigroup(S);
true
gap> IsFInverseSemigroup(S);
false
gap> IsFInverseSemigroup(IdempotentGeneratedSubsemigroup(S));
true

##### 16.2-5 IsFInverseMonoid
 ‣ IsFInverseMonoid( S ) ( property )

Returns: true or false.

This function determines whether a given semigroup is an F-inverse monoid. A semigroup is an F-inverse monoid when it satisfies IsMonoid (Reference: IsMonoid) and IsFInverseSemigroup (16.2-4).

##### 16.2-6 IsFactorisableInverseMonoid
 ‣ IsFactorisableInverseMonoid( S ) ( property )

Returns: true or false.

An inverse monoid is factorisable if every element is the product of an element of the group of units and an idempotent; see also GroupOfUnits (14.8-1) and Idempotents (14.9-1). Hence an inverse semigroup of partial permutations is factorisable if and only if each of its generators is the restriction of some element in the group of units.

gap> S := InverseSemigroup(
> PartialPerm([1, 2, 4], [3, 1, 4]),
> PartialPerm([1, 2, 3, 5], [4, 1, 5, 2]));;
gap> IsFactorisableInverseMonoid(S);
false
gap> IsFactorisableInverseMonoid(SymmetricInverseSemigroup(5));
true
gap> IsFactorisableInverseMonoid(DualSymmetricInverseMonoid(5));
false
gap> S := FactorisableDualSymmetricInverseMonoid(5);;
gap> IsFactorisableInverseMonoid(S);
true

##### 16.2-7 IsJoinIrreducible
 ‣ IsJoinIrreducible( S, x ) ( operation )

Returns: true or false.

IsJoinIrreducible determines whether an element x of an inverse semigroup S of partial permutations, block bijections or partial permutation bipartitions is join irreducible.

An element x is join irreducible when it is not the least upper bound (with respect to the natural partial order NaturalLeqPartialPerm (Reference: NaturalLeqPartialPerm)) of any subset of S not containing x.

gap> S := SymmetricInverseSemigroup(3);
<symmetric inverse monoid of degree 3>
gap> x := PartialPerm([1, 2, 3]);
<identity partial perm on [ 1, 2, 3 ]>
gap> IsJoinIrreducible(S, x);
false
gap> T := InverseSemigroup([
>  PartialPerm([1, 2, 4, 3]),
>  PartialPerm([1]),
>  PartialPerm([0, 2])]);
<inverse partial perm semigroup of rank 4 with 3 generators>
gap> y := PartialPerm([1, 2, 3, 4]);
<identity partial perm on [ 1, 2, 3, 4 ]>
gap> IsJoinIrreducible(T, y);
true
gap> B := InverseSemigroup([
>  Bipartition([
>    [1, -5], [2, -2], [3, 5, 6, 7, -1, -4, -6, -7], [4, -3]]),
>  Bipartition([
>    [1, -1], [2, -3], [3, -4], [4, 5, 7, -2, -6, -7], [6, -5]]),
>  Bipartition([
>    [1, -2], [2, -4], [3, -6], [4, -1], [5, 7, -3, -7], [6, -5]]),
>  Bipartition([
>    [1, -5], [2, -1], [3, -6], [4, 5, 7, -2, -4, -7], [6, -3]])]);
<inverse block bijection semigroup of degree 7 with 4 generators>
gap> x := Bipartition([
>   [1, 2, 3, 5, 6, 7, -2, -3, -4, -5, -6, -7], [4, -1]]);
<block bijection: [ 1, 2, 3, 5, 6, 7, -2, -3, -4, -5, -6, -7 ],
[ 4, -1 ]>
gap> IsJoinIrreducible(B, x);
true
gap> IsJoinIrreducible(B, B.1);
false

##### 16.2-8 IsMajorantlyClosed
 ‣ IsMajorantlyClosed( S, T ) ( operation )

Returns: true or false.

IsMajorantlyClosed determines whether the subset T of the inverse semigroup of partial permutations, block bijections or partial permutation bipartitions S is majorantly closed in S. See also MajorantClosure (16.1-3).

We say that T is majorantly closed in S if it contains all elements of S which are greater than or equal to any element of T, with respect to the natural partial order. See NaturalLeqPartialPerm (Reference: NaturalLeqPartialPerm).

Note that T can be a subset of S or a subsemigroup of S.

gap> S := SymmetricInverseSemigroup(2);
<symmetric inverse monoid of degree 2>
gap> T := [Elements(S)[2]];
[ <identity partial perm on [ 1 ]> ]
gap> IsMajorantlyClosed(S, T);
false
gap> U := [Elements(S)[2], Elements(S)[6]];
[ <identity partial perm on [ 1 ]>, <identity partial perm on [ 1, 2 ]
> ]
gap> IsMajorantlyClosed(S, U);
true
gap> D := DualSymmetricInverseSemigroup(3);
<inverse block bijection monoid of degree 3 with 3 generators>
gap> x := Bipartition([[1, -2], [2, -3], [3, -1]]);;
gap> IsMajorantlyClosed(D, [x]);
true
gap> y := Bipartition([[1, 2, -1, -2], [3, -3]]);;
gap> IsMajorantlyClosed(D, [x, y]);
false


##### 16.2-9 IsMonogenicInverseSemigroup
 ‣ IsMonogenicInverseSemigroup( S ) ( property )

Returns: true or false.

IsMonogenicInverseSemigroup returns true if the semigroup S is a monogenic inverse semigroup and it returns false if it is not.

A inverse semigroup is monogenic if it is generated as an inverse semigroup by a single element. See also IsMonogenicSemigroup (15.1-11) and IsMonogenicInverseMonoid (16.2-10).

gap> x := PartialPerm([1, 2, 3, 6, 8, 10], [2, 6, 7, 9, 1, 5]);;
gap> S := InverseSemigroup(x, x ^ 2, x ^ 3);;
gap> IsMonogenicSemigroup(S);
false
gap> IsMonogenicInverseSemigroup(S);
true
gap> x := RandomBlockBijection(100);;
gap> S := InverseSemigroup(x, x ^ 2, x ^ 20);;
gap> IsMonogenicInverseSemigroup(S);
true
gap> S := SymmetricInverseSemigroup(5);;
gap> IsMonogenicInverseSemigroup(S);
false

##### 16.2-10 IsMonogenicInverseMonoid
 ‣ IsMonogenicInverseMonoid( S ) ( property )

Returns: true or false.

IsMonogenicInverseMonoid returns true if the monoid S is a monogenic inverse monoid and it returns false if it is not.

A inverse monoid is monogenic if it is generated as an inverse monoid by a single element. See also IsMonogenicInverseSemigroup (16.2-9) and IsMonogenicMonoid (15.1-12).

gap> x := PartialPerm([1, 2, 3, 6, 8, 10], [2, 6, 7, 9, 1, 5]);;
gap> S := InverseMonoid(x, x ^ 2, x ^ 3);;
gap> IsMonogenicMonoid(S);
false
gap> IsMonogenicInverseSemigroup(S);
false
gap> IsMonogenicInverseMonoid(S);
true
gap> x := RandomBlockBijection(100);;
gap> S := InverseMonoid(x, x ^ 2, x ^ 20);;
gap> IsMonogenicInverseMonoid(S);
true
gap> S := SymmetricInverseMonoid(5);;
gap> IsMonogenicInverseMonoid(S);
false
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Bib Ind

generated by GAPDoc2HTML