semigroups / Semigroups

The GAP package Semigroups
https://semigroups.github.io/Semigroups/
Other
24 stars 36 forks source link

Missing maximal subsemigroups for parition monoid #64

Closed james-d-mitchell closed 8 years ago

james-d-mitchell commented 10 years ago

Originally reported by: wilfwilson (Bitbucket: wilfwilson, GitHub: wilfwilson)


Let B be the (bi)parition monoid on 3 points.

As conjectured by Casey in the meeting of 2014-03-12, there do indeed exist 4 maximal subsemigroups of B arising from removing part of the second D-class. However, the MaximalSubsemigroups algorithm (in the maximal branch) currently returns only 2 such results. Below, they are the maximal subsemigroups of size 167.

#!gap

gap> B:=PartitionMonoid(3);
<regular bipartition monoid on 3 pts with 4 generators>
gap> max:=MaximalSubsemigroups(B);
[ <bipartition semigroup on 3 pts with 3 generators>,
  <bipartition semigroup on 3 pts with 6 generators>,
  <bipartition semigroup on 3 pts with 6 generators>,
  <bipartition semigroup on 3 pts with 6 generators>,
  <bipartition semigroup on 3 pts with 7 generators>,
  <bipartition semigroup on 3 pts with 6 generators> ]
gap> List(max, Size);
[ 200, 199, 199, 199, 167, 167 ]

Now to create the 4 conjectured by Casey:

#!gap

gap> B1:=Semigroup([ 
  Bipartition( [ [ 1, -2 ], [ 2, -3 ], [ 3, -1 ] ] ),
  Bipartition( [ [ 1, -2 ], [ 2, -1 ], [ 3, -3 ] ] ), 
  Bipartition( [ [ 1 ], [ 2, -3 ], [ 3, -2 ], [ -1 ] ] ),
  Bipartition( [ [ 1, 3, -2 ], [ 2, -1 ], [ -3 ] ] ),
  Bipartition( [ [ 1, -1, -2 ], [ 2 ], [ 3 ], [ -3 ] ] ),
  Bipartition( [ [ 1, -1, -2, -3 ], [ 2 ], [ 3 ] ] ),
  Bipartition( [ [ 1, 2, 3, -3 ], [ -1, -2 ] ] ) ]);;
gap> B2:=Semigroup([
  Bipartition( [ [ 1, -2 ], [ 2, -3 ], [ 3, -1 ] ] ),
  Bipartition( [ [ 1, -2 ], [ 2, -1 ], [ 3, -3 ] ] ),
  Bipartition( [ [ 1 ], [ 2, -2, -3 ], [ 3, -1 ] ] ),
  Bipartition( [ [ 1, -3 ], [ 2, -2 ], [ 3 ], [ -1 ] ] ),
  Bipartition( [ [ 1, 3, -3 ], [ 2 ], [ -1 ], [ -2 ] ] ),
  Bipartition( [ [ 1, 2 ], [ 3, -1, -2 ], [ -3 ] ] ),
  Bipartition( [ [ 1, 2, 3, -3 ], [ -1, -2 ] ] ) ]);;
gap> B3:=Semigroup([
  Bipartition( [ [ 1, -2 ], [ 2, -1 ], [ 3, -3 ] ] ),
  Bipartition( [ [ 1, -2 ], [ 2, -3 ], [ 3, -1 ] ] ),
  Bipartition( [ [ 1, -2 ], [ 2, 3, -3 ], [ -1 ] ] ),
  Bipartition( [ [ 1, 2, -3 ], [ 3, -1, -2 ] ] ),
  Bipartition( [ [ 1, 3, -3 ], [ 2 ], [ -1 ], [ -2 ] ] ), 
  Bipartition( [ [ 1, -1, -2, -3 ], [ 2 ], [ 3 ] ] ) ]);;
gap> B4:=Semigroup([
  Bipartition( [ [ 1, -2 ], [ 2, -3 ], [ 3, -1 ] ] ),
  Bipartition( [ [ 1, -2 ], [ 2, -1 ], [ 3, -3 ] ] ),
  Bipartition( [ [ 1, 2, -1 ], [ 3, -2, -3 ] ] ),
  Bipartition( [ [ 1, -2 ], [ 2, -1, -3 ], [ 3 ] ] ),
  Bipartition( [ [ 1, -1, -2 ], [ 2 ], [ 3 ], [ -3 ] ] ),
  Bipartition( [ [ 1, 3, -3 ], [ 2 ], [ -1 ], [ -2 ] ] ) ]);;
gap> Y:=[B1,B2,B3,B4];;
gap> IsDuplicateFreeList(Y);
true
gap> List(Y, x->IsMaximalSubsemigroup(B,x));
[ true, true, true, true ]
gap> Set(Y, Size);
[ 167 ]
gap> List(Y, x->x in max);
[ true, false, true, false ]
gap> List(Y, x->not DClasses(x)[2] = DClasses(B)[2]);
[ true, true, true, true ]

The 2 results it does find arise from "YannRecursion". On first glance, this might suggest a bug in that function.

I will investigate further.


james-d-mitchell commented 10 years ago

Original comment by wilfwilson (Bitbucket: wilfwilson, GitHub: wilfwilson):


Resolves Issue #67. Removed ismax from YannRecursion, I will add back if and how I see necessary