  
  
                                   [1X[5XSemigroups[105X[101X
  
  
                             [1XMethod for semigroups[101X
  
  
                                  Version 2.5
  
  
                                 J. D. Mitchell
  
                                 Manuel Delgado
  
                                   James East
  
                                Attila Egri-Nagy
  
                                 Julius Jonušas
  
                                Markus Pfeiffer
  
                                 Ben Steinberg
  
                                  Jhevon Smith
  
                                 Michael Torpey
  
                                  Wilf Wilson
  
  
  
  J. D. Mitchell
      Email:    [7Xmailto:jdm3@st-and.ac.uk[107X
      Homepage: [7Xhttp://tinyurl.com/jdmitchell[107X
  
  -------------------------------------------------------
  [1XAbstract[101X
  [33X[0;0YThe  [5XSemigroups[105X  package is a [5XGAP[105X package containing methods for semigroups,
  monoids,  and  inverse  semigroups,  principally of transformations, partial
  permutations,   bipartitions,   subsemigroups   of   regular  Rees  0-matrix
  semigroups, and the free inverse semigroup.[133X
  
  [33X[0;0Y[5XSemigroups[105X  contains  more efficient methods than those available in the [5XGAP[105X
  library  (and  in  many  cases  more  efficient than any other software) for
  creating  semigroups,  monoids,  and  inverse  semigroup,  calculating their
  Green's  structure, ideals, size, elements, group of units, small generating
  sets,  testing  membership,  finding  the  inverses  of  a  regular element,
  factorizing elements over the generators, and many more. It is also possible
  to  test  if  a  semigroup satisfies a particular property, such as if it is
  regular,  simple,  inverse,  completely  regular,  and  a variety of further
  properties.[133X
  
  [33X[0;0YThere  are  methods  for finding congruences of certain types of semigroups,
  the   normalizer  of  a  semigroup  in  a  permutation  group,  the  maximal
  subsemigroups  of a finite semigroup, and smaller degree partial permutation
  representations  and  the  character tables of inverse semigroups. There are
  functions  for  producing  pictures of the Green's structure of a semigroup,
  and for drawing bipartitions.[133X
  
  
  -------------------------------------------------------
  [1XCopyright[101X
  [33X[0;0Y© 2011-15 by J. D. Mitchell.[133X
  
  [33X[0;0Y[5XSemigroups[105X  is free software; you can redistribute it and/or modify it under
  the      terms      of      the      GNU      General     Public     License
  ([7Xhttp://www.fsf.org/licenses/gpl.html[107X)  as  published  by  the Free Software
  Foundation;  either  version 2 of the License, or (at your option) any later
  version.[133X
  
  
  -------------------------------------------------------
  [1XAcknowledgements[101X
  [33X[0;0YI  would  like  to thank P. von Bunau, A. Distler, S. Linton, C. Nehaniv, J.
  Neubueser,  M.  R.  Quick, E. F. Robertson, and N. Ruskuc for their help and
  suggestions. Special thanks go to J. Araujo for his mathematical suggestions
  and to M. Neunhoeffer for his invaluable help in improving the efficiency of
  the package.[133X
  
  [33X[0;0YManuel  Delgado  and  Attila  Egri-Nagy  contributed to the functions [2XSplash[102X
  ([14X4.8-1[114X) and [2XDotDClasses[102X ([14X4.8-2[114X).[133X
  
  [33X[0;0YJames East, Attila Egri-Nagy, and Markus Pfeiffer contributed to the part of
  the  package  relating to bipartitions. I would like to thank the University
  of  Western  Sydney for their support of the development of this part of the
  package.[133X
  
  [33X[0;0YJulius  Jonušas contributed the part of the package relating to free inverse
  semigroups, and contributed to the code for ideals.[133X
  
  [33X[0;0YYann  Peresse  and  Yanhui  Wang  contributed  to the function [2XMunnSemigroup[102X
  ([14X2.5-10[114X).[133X
  
  [33X[0;0YJhevon    Smith    and    Ben    Steinberg    contributed    the    function
  [2XCharacterTableOfInverseSemigroup[102X ([14X4.7-16[114X).[133X
  
  [33X[0;0YMichael  Torpey  contributed the part of the package relating to congruences
  of Rees (0-)matrix semigroups.[133X
  
  [33X[0;0YWilf  Wilson  contributed  to  the  part  of  the  package  relating maximal
  subsemigroups  and  smaller  degree  partial  permutation representations of
  inverse  semigroups.  We  are also grateful to C. Donoven and R. Hancock for
  their  contribution  to  the  development  of  the  algorithms  for  maximal
  subsemigroups and smaller degree partial permutation representations.[133X
  
  [33X[0;0YWe  would  also  like to acknowledge the support of the Centre of Algebra at
  the University of Lisbon, and of EPSRC grant number GR/S/56085/01.[133X
  
  
  -------------------------------------------------------
  
  
  [1XContents (semigroups)[101X
  
  1 [33X[0;0YThe [5XSemigroups[105X package[133X
    1.1 [33X[0;0YIntroduction[133X
    1.2 [33X[0;0YInstalling the [5XSemigroups[105X package[133X
    1.3 [33X[0;0YCompiling the documentation[133X
      1.3-1 SemigroupsMakeDoc
    1.4 [33X[0;0YTesting the installation[133X
      1.4-1 SemigroupsTestInstall
      1.4-2 SemigroupsTestManualExamples
      1.4-3 SemigroupsTestAll
    1.5 [33X[0;0YMore information during a computation[133X
      1.5-1 InfoSemigroups
    1.6 [33X[0;0YReading and writing elements to a file[133X
      1.6-1 SemigroupsDir
      1.6-2 ReadGenerators
      1.6-3 WriteGenerators
      1.6-4 IteratorFromGeneratorsFile
  2 [33X[0;0YCreating semigroups and monoids[133X
    2.1 [33X[0;0YRandom semigroups[133X
      2.1-1 RandomInverseMonoid
      2.1-2 RandomTransformationMonoid
      2.1-3 RandomPartialPermMonoid
      2.1-4 RandomBinaryRelationMonoid
      2.1-5 RandomBipartitionSemigroup
    2.2 [33X[0;0YNew semigroups from old[133X
      2.2-1 ClosureInverseSemigroup
      2.2-2 ClosureSemigroup
      2.2-3 SubsemigroupByProperty
      2.2-4 InverseSubsemigroupByProperty
    2.3 [33X[0;0YOptions when creating semigroups[133X
      2.3-1 SemigroupsOptionsRec
    2.4 [33X[0;0YChanging the representation of a semigroup[133X
      2.4-1 AsTransformationSemigroup
      2.4-2 IsomorphismPermGroup
      2.4-3 IsomorphismBipartitionSemigroup
      2.4-4 IsomorphismBlockBijectionSemigroup
    2.5 [33X[0;0YStandard examples[133X
      2.5-1 EndomorphismsPartition
      2.5-2 PartitionMonoid
      2.5-3 BrauerMonoid
      2.5-4 JonesMonoid
      2.5-5 FactorisableDualSymmetricInverseSemigroup
      2.5-6 DualSymmetricInverseSemigroup
      2.5-7 PartialTransformationSemigroup
      2.5-8 FullMatrixSemigroup
      2.5-9 IsFullMatrixSemigroup
      2.5-10 MunnSemigroup
      2.5-11 [33X[0;0YMonoids of order preserving functions[133X
      2.5-12 SingularTransformationSemigroup
      2.5-13 RegularBinaryRelationSemigroup
      2.5-14 MonogenicSemigroup
      2.5-15 RectangularBand
      2.5-16 ZeroSemigroup
  3 [33X[0;0YIdeals[133X
    3.1 [33X[0;0YCreating ideals[133X
      3.1-1 SemigroupIdeal
    3.2 [33X[0;0YAttributes of ideals[133X
      3.2-1 GeneratorsOfSemigroupIdeal
      3.2-2 MinimalIdealGeneratingSet
      3.2-3 SupersemigroupOfIdeal
  4 [33X[0;0YDetermining the structure of a semigroup[133X
    4.1 [33X[0;0YExpressing semigroup elements as words in generators[133X
      4.1-1 EvaluateWord
      4.1-2 Factorization
    4.2 [33X[0;0YCreating Green's classes[133X
      4.2-1 [33X[0;0YXClassOfYClass[133X
      4.2-2 [33X[0;0YGreensXClassOfElement[133X
      4.2-3 [33X[0;0YGreensXClassOfElementNC[133X
      4.2-4 GroupHClass
    4.3 [33X[0;0YIterators and enumerators of classes and representatives[133X
      4.3-1 [33X[0;0YGreensXClasses[133X
      4.3-2 [33X[0;0YIteratorOfXClassReps[133X
      4.3-3 [33X[0;0YIteratorOfXClasses[133X
      4.3-4 [33X[0;0YXClassReps[133X
    4.4 [33X[0;0YAttributes and properties directly related to Green's classes[133X
      4.4-1 [33X[0;0YLess than for Green's classes[133X
      4.4-2 InjectionPrincipalFactor
      4.4-3 PrincipalFactor
      4.4-4 IsRegularClass
      4.4-5 NrRegularDClasses
      4.4-6 [33X[0;0YNrXClasses[133X
      4.4-7 PartialOrderOfDClasses
      4.4-8 SchutzenbergerGroup
      4.4-9 MinimalDClass
      4.4-10 MaximalDClasses
      4.4-11 StructureDescriptionSchutzenbergerGroups
      4.4-12 StructureDescriptionMaximalSubgroups
      4.4-13 MultiplicativeNeutralElement
      4.4-14 IsGreensClassNC
      4.4-15 IsTransformationSemigroupGreensClass
      4.4-16 IsBipartitionSemigroupGreensClass
      4.4-17 IsPartialPermSemigroupGreensClass
      4.4-18 StructureDescription
      4.4-19 IsGreensDLeq
    4.5 [33X[0;0YFurther attributes of semigroups[133X
      4.5-1 Generators
      4.5-2 GroupOfUnits
      4.5-3 Idempotents
      4.5-4 NrIdempotents
      4.5-5 IdempotentGeneratedSubsemigroup
      4.5-6 IrredundantGeneratingSubset
      4.5-7 MaximalSubsemigroups
      4.5-8 MaximalSubsemigroups
      4.5-9 IsMaximalSubsemigroup
      4.5-10 MinimalIdeal
      4.5-11 RepresentativeOfMinimalIdeal
      4.5-12 MultiplicativeZero
      4.5-13 Random
      4.5-14 SmallGeneratingSet
      4.5-15 ComponentRepsOfTransformationSemigroup
      4.5-16 ComponentsOfTransformationSemigroup
      4.5-17 CyclesOfTransformationSemigroup
      4.5-18 IsTransitive
      4.5-19 ComponentRepsOfPartialPermSemigroup
      4.5-20 ComponentsOfPartialPermSemigroup
      4.5-21 CyclesOfPartialPerm
      4.5-22 CyclesOfPartialPermSemigroup
      4.5-23 Normalizer
      4.5-24 SmallestElementSemigroup
      4.5-25 GeneratorsSmallest
    4.6 [33X[0;0YFurther properties of semigroups[133X
      4.6-1 IsBand
      4.6-2 IsBlockGroup
      4.6-3 IsCommutativeSemigroup
      4.6-4 IsCompletelyRegularSemigroup
      4.6-5 IsCongruenceFreeSemigroup
      4.6-6 IsGroupAsSemigroup
      4.6-7 [33X[0;0YIsIdempotentGenerated[133X
      4.6-8 IsLeftSimple
      4.6-9 IsLeftZeroSemigroup
      4.6-10 IsMonogenicSemigroup
      4.6-11 IsMonoidAsSemigroup
      4.6-12 IsOrthodoxSemigroup
      4.6-13 IsRectangularBand
      4.6-14 IsRegularSemigroup
      4.6-15 IsRightZeroSemigroup
      4.6-16 [33X[0;0YIsXTrivial[133X
      4.6-17 IsSemilatticeAsSemigroup
      4.6-18 [33X[0;0YIsSimpleSemigroup[133X
      4.6-19 IsSynchronizingSemigroup
      4.6-20 IsZeroGroup
      4.6-21 IsZeroRectangularBand
      4.6-22 IsZeroSemigroup
      4.6-23 IsZeroSimpleSemigroup
    4.7 [33X[0;0YProperties and attributes of inverse semigroups[133X
      4.7-1 IsCliffordSemigroup
      4.7-2 IsBrandtSemigroup
      4.7-3 IsEUnitaryInverseSemigroup
      4.7-4 IsFactorisableSemigroup
      4.7-5 IsJoinIrreducible
      4.7-6 IsMajorantlyClosed
      4.7-7 IsMonogenicInverseSemigroup
      4.7-8 JoinIrreducibleDClasses
      4.7-9 MajorantClosure
      4.7-10 Minorants
      4.7-11 PrimitiveIdempotents
      4.7-12 RightCosetsOfInverseSemigroup
      4.7-13 SameMinorantsSubgroup
      4.7-14 SmallerDegreePartialPermRepresentation
      4.7-15 VagnerPrestonRepresentation
      4.7-16 CharacterTableOfInverseSemigroup
    4.8 [33X[0;0YVisualising the structure of a semigroup[133X
      4.8-1 Splash
      4.8-2 DotDClasses
      4.8-3 DotSemilatticeOfIdempotents
  5 [33X[0;0YBipartitions and blocks[133X
    5.1 [33X[0;0YThe family and categories of bipartitions[133X
      5.1-1 IsBipartition
      5.1-2 IsBipartitionCollection
      5.1-3 BipartitionFamily
    5.2 [33X[0;0YCreating bipartitions[133X
      5.2-1 Bipartition
      5.2-2 BipartitionByIntRep
      5.2-3 IdentityBipartition
      5.2-4 LeftOne
      5.2-5 RightOne
      5.2-6 StarOp
      5.2-7 RandomBipartition
    5.3 [33X[0;0YChanging the representation of a bipartition[133X
      5.3-1 AsBipartition
      5.3-2 AsBlockBijection
      5.3-3 AsTransformation
      5.3-4 AsPartialPerm
      5.3-5 AsPermutation
    5.4 [33X[0;0YOperators for bipartitions[133X
      5.4-1 PartialPermLeqBipartition
      5.4-2 NaturalLeqPartialPermBipartition
      5.4-3 NaturalLeqBlockBijection
      5.4-4 PermLeftQuoBipartition
      5.4-5 OnRightBlocksBipartitionByPerm
    5.5 [33X[0;0YAttributes for bipartitons[133X
      5.5-1 DegreeOfBipartition
      5.5-2 RankOfBipartition
      5.5-3 ExtRepOfBipartition
      5.5-4 RightBlocks
      5.5-5 LeftBlocks
      5.5-6 NrLeftBlocks
      5.5-7 NrRightBlocks
      5.5-8 NrBlocks
      5.5-9 IsTransBipartition
      5.5-10 IsDualTransBipartition
      5.5-11 IsPermBipartition
      5.5-12 IsPartialPermBipartition
      5.5-13 IsBlockBijection
      5.5-14 IsUniformBlockBijection
    5.6 [33X[0;0YCreating blocks and their attributes[133X
      5.6-1 BlocksNC
      5.6-2 ExtRepOfBlocks
      5.6-3 RankOfBlocks
      5.6-4 DegreeOfBlocks
    5.7 [33X[0;0YActions on blocks[133X
      5.7-1 OnRightBlocks
      5.7-2 OnLeftBlocks
      5.7-3 PermRightBlocks
      5.7-4 InverseRightBlocks
      5.7-5 InverseLeftBlocks
    5.8 [33X[0;0YVisualising blocks and bipartitions[133X
      5.8-1 TikzBipartition
      5.8-2 TikzBlocks
    5.9 [33X[0;0YSemigroups of bipartitions[133X
      5.9-1 IsBipartitionSemigroup
      5.9-2 IsBlockBijectionSemigroup
      5.9-3 IsPartialPermBipartitionSemigroup
      5.9-4 IsPermBipartitionGroup
      5.9-5 DegreeOfBipartitionSemigroup
  6 [33X[0;0YFree inverse semigroups and free bands[133X
    6.1 [33X[0;0YFree inverse semigroups[133X
      6.1-1 FreeInverseSemigroup
      6.1-2 IsFreeInverseSemigroupCategory
      6.1-3 IsFreeInverseSemigroup
      6.1-4 IsFreeInverseSemigroupElement
    6.2 [33X[0;0YDisplaying free inverse semigroup elements[133X
    6.3 [33X[0;0YOperators and operations for free inverse semigroup elements[133X
      6.3-1 CanonicalForm
      6.3-2 MinimalWord
    6.4 [33X[0;0YFree bands[133X
      6.4-1 FreeBand
      6.4-2 IsFreeBandCategory
      6.4-3 IsFreeBand
      6.4-4 IsFreeBandElement
      6.4-5 IsFreeBandSubsemigroup
    6.5 [33X[0;0YOperators and operations for free band elements[133X
      6.5-1 GreensDClassOfElement
  7 [33X[0;0YCongruences[133X
    7.1 [33X[0;0YCreating congruences[133X
      7.1-1 SemigroupCongruence
    7.2 [33X[0;0YCongruence classes[133X
      7.2-1 CongruenceClassOfElement
      7.2-2 CongruenceClasses
      7.2-3 NrCongruenceClasses
      7.2-4 CongruencesOfSemigroup
      7.2-5 AsLookupTable
    7.3 [33X[0;0YCongruences on Rees matrix semigroups[133X
      7.3-1 IsRMSCongruenceByLinkedTriple
      7.3-2 RMSCongruenceByLinkedTriple
      7.3-3 RMSCongruenceClassByLinkedTriple
      7.3-4 IsLinkedTriple
      7.3-5 CanonicalRepresentative
      7.3-6 AsSemigroupCongruenceByGeneratingPairs
      7.3-7 AsRMSCongruenceByLinkedTriple
      7.3-8 MeetSemigroupCongruences
      7.3-9 JoinSemigroupCongruences
    7.4 [33X[0;0YUniversal congruences[133X
      7.4-1 IsUniversalSemigroupCongruence
      7.4-2 UniversalSemigroupCongruence
  8 [33X[0;0YHomomorphisms[133X
    8.1 [33X[0;0YIsomorphisms[133X
      8.1-1 IsIsomorphicSemigroup
      8.1-2 SmallestMultiplicationTable
      8.1-3 IsomorphismSemigroups
  9 [33X[0;0YOrbits[133X
    9.1 [33X[0;0YLooking for something in an orbit[133X
      9.1-1 EnumeratePosition
      9.1-2 LookForInOrb
    9.2 [33X[0;0YStrongly connected components of orbits[133X
      9.2-1 OrbSCC
      9.2-2 OrbSCCLookup
      9.2-3 OrbSCCTruthTable
      9.2-4 ReverseSchreierTreeOfSCC
      9.2-5 SchreierTreeOfSCC
      9.2-6 TraceSchreierTreeOfSCCBack
      9.2-7 TraceSchreierTreeOfSCCForward
  
  
  [32X
