Semigroups
Semigroups copied to clipboard
`IsSelfDualSemigroup` returns false negatives
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 ]