Semigroups icon indicating copy to clipboard operation
Semigroups copied to clipboard

`IsSelfDualSemigroup` returns false negatives

Open james-d-mitchell opened this issue 9 months ago • 0 comments

For example, with only Smallsemi loaded:

gap> S := SmallSemigroup(6, 2);;
gap> IsSelfDualSemigroup(S);
true

with Semigroups loaded:

gap> S := SmallSemigroup(6, 2);;
gap> IsSelfDualSemigroup(S);
false

The correct answer seems to be the one returned by Smallsemi, since:

gap> S := SmallSemigroup(6, 2);;
gap> T := DualSemigroup(S);;
gap> IsIsomorphicSemigroup(S, T);
true

The issue is that the generators don't have to be mapped by the identity function from T to Range(map) in:

https://github.com/semigroups/Semigroups/blob/fa9344fa86f7578e6c1e763dc7fafb01f39b1757/gap/attributes/properties.gi#L1651-L1657

gap> S := SmallSemigroup(6, 2);;
gap> OnTuples(GeneratorsOfSemigroup(S), map); 
[ m1, m2, m3, m4, m6, m5 ]

james-d-mitchell avatar May 20 '24 08:05 james-d-mitchell