#############################################################################
##
#W  semibipart.xml
#Y  Copyright (C) 2013-14                                James D. Mitchell
##
##  Licensing information can be found in the README file of this package.
##
#############################################################################
##

<#GAPDoc Label="IsBipartitionSemigroup">
  <ManSection>
    <Filt Name = "IsBipartitionSemigroup" Arg = "S"/>
    <Filt Name = "IsBipartitionMonoid" Arg = "S"/>
    <Returns><K>true</K> or <K>false</K>.</Returns>
    <Description>
      A <E>bipartition semigroup</E> is simply a semigroup consisting of
      bipartitions. An object <A>obj</A> is a bipartition semigroup in &GAP; if
      it satisfies <Ref Prop = "IsSemigroup" BookName = "ref"/> and
      <Ref Filt = "IsBipartitionCollection"/>.<P/>

      A <E>bipartition monoid</E> is a monoid consisting of bipartitions. 
      An object <A>obj</A> is a bipartition monoid in &GAP; if it satisfies 
      <Ref Prop = "IsMonoid" BookName = "ref"/> and
      <Ref Filt = "IsBipartitionCollection"/>.<P/>

      Note that it is possible for a bipartition semigroup to have a
      multiplicative neutral element (i.e. an identity element) but not to
      satisfy <C>IsBipartitionMonoid</C>. For example,

      <Example><![CDATA[
gap> x := Bipartition([
> [1, 4, -2], [2, 5, -6], [3, -7], [6, 7, -9], [8, 9, -1],
> [10, -5], [-3], [-4], [-8], [-10]]);;
gap> S := Semigroup(x, One(x));
<commutative bipartition monoid of degree 10 with 1 generator>
gap> IsMonoid(S);
true
gap> IsBipartitionMonoid(S);
true
gap> S := Semigroup([
> Bipartition([
>   [1, -3], [2, -8], [3, 8, -1], [4, -4], [5, -5], [6, -6],
>   [7, -7], [9, 10, -10], [-2], [-9]]),
> Bipartition([
>   [1, -1], [2, -2], [3, -3], [4, -4], [5, -5], [6, -6],
>   [7, -7], [8, -8], [9, 10, -10], [-9]])]);;
gap> One(S);
fail
gap> MultiplicativeNeutralElement(S);
<bipartition: [ 1, -1 ], [ 2, -2 ], [ 3, -3 ], [ 4, -4 ], [ 5, -5 ], 
 [ 6, -6 ], [ 7, -7 ], [ 8, -8 ], [ 9, 10, -10 ], [ -9 ]>
gap> IsMonoid(S);
false]]></Example>
      In this example <C>S</C> cannot be converted into a monoid using <Ref
        Oper = "AsMonoid" BookName = "ref"/> since the <Ref Attr = "One"
        BookName = "ref"/> of any element in <C>S</C> differs from the
      multiplicative neutral element. <P/>

      For more details see <Ref Filt = "IsMagmaWithOne" BookName = "ref"/>.
    </Description>
  </ManSection>
<#/GAPDoc>

<#GAPDoc Label="DegreeOfBipartitionSemigroup">
  <ManSection>
    <Attr Name = "DegreeOfBipartitionSemigroup" Arg = "S"/>
    <Returns>A non-negative integer.</Returns>
    <Description>
      The <E>degree</E> of a bipartition semigroup <A>S</A> is just the degree
      of any (and every) element of <A>S</A>.

      <Example><![CDATA[
gap> DegreeOfBipartitionSemigroup(JonesMonoid(8));
8]]></Example>
    </Description>
  </ManSection>
<#/GAPDoc>

<#GAPDoc Label="IsBlockBijectionSemigroup">
  <ManSection>
    <Prop Name = "IsBlockBijectionSemigroup" Arg = "S"/>
    <Filt Name = "IsBlockBijectionMonoid" Arg = "S"/>
    <Returns><K>true</K> or <K>false</K>.</Returns>
    <Description>
      A <E>block bijection semigroup</E> is simply a semigroup consisting of
      block bijections.  A <E>block bijection monoid</E> is a monoid consisting
      of block bijections.<P/>
 
      An object in &GAP; is a block bijection monoid if it satisfies
      <Ref Prop = "IsMonoid" BookName = "ref"/> and <Ref
        Prop = "IsBlockBijectionSemigroup"/>.<P/>
 
      See <Ref Prop = "IsBlockBijection"/>.
    </Description>
  </ManSection>
<#/GAPDoc>

<#GAPDoc Label="IsPartialPermBipartitionSemigroup">
  <ManSection>
    <Prop Name = "IsPartialPermBipartitionSemigroup" Arg = "S"/>
    <Filt Name = "IsPartialPermBipartitionMonoid" Arg = "S"/>
    <Returns><K>true</K> or <K>false</K>.</Returns>
    <Description>
      A <E>partial perm bipartition semigroup</E> is simply a semigroup
      consisting of partial perm bipartitions.  A <E>partial perm bipartition
        monoid</E> is a monoid consisting of partial perm bipartitions.<P/>
 
      An object in &GAP; is a partial perm bipartition monoid
      if it satisfies <Ref Prop = "IsMonoid" BookName = "ref"/> and
      <Ref Prop = "IsPartialPermBipartitionSemigroup"/>.<P/>
 
      See <Ref Prop = "IsPartialPermBipartition"/>.
    </Description>
  </ManSection>
<#/GAPDoc>

<#GAPDoc Label="IsPermBipartitionGroup">
  <ManSection>
    <Prop Name = "IsPermBipartitionGroup" Arg = "S"/>
    <Returns><K>true</K> or <K>false</K>.</Returns>
    <Description>
      A <E>perm bipartition group</E> is simply a semigroup consisting of perm
      bipartitions.<P/>

      See <Ref Prop = "IsPermBipartition"/>.<P/>
    </Description>
  </ManSection>
<#/GAPDoc>

