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.
‣ 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 ], [ ] ]
‣ 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 ]>> ]
‣ 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
‣ 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) ]
‣ 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 ]> ]
‣ 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 ∈ S, the right coset overlineTs is defined if and only if ss^-1 ∈ 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) ] ]
‣ 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) ]
‣ 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 )
‣ 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-> 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^-1x defined by f(x): sx^-1↦ sx^-1x.
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 )
‣ 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> ] ]
‣ 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
‣ 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
‣ 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
‣ 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"
‣ 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
‣ 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).
‣ 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
‣ 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
‣ 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
‣ 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
‣ 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
generated by GAPDoc2HTML