The basic (HasGenerators) implementation should be improved, but also in the case the Apéry set is known, it does not use the implementation for HasAperyList.
gap> s:=NumericalSemigroup([ 4, 180738, 234949, 253363 ]);;
gap> a:=AperyList(s);;
gap> x:=373067;;
gap> x in s;
Error, recursion depth trap (5000) in
belongs( x - gen[1], gen ) at /home/FQM343/pedro/lib/gap-4.11.1/pkg/numericalsgps/gap/basics.gi:690 called from
belongs( x - gen[1], gen ) at /home/FQM343/pedro/lib/gap-4.11.1/pkg/numericalsgps/gap/basics.gi:690 called from
belongs( x - gen[1], gen ) at /home/FQM343/pedro/lib/gap-4.11.1/pkg/numericalsgps/gap/basics.gi:690 called from
belongs( x - gen[1], gen ) at /home/FQM343/pedro/lib/gap-4.11.1/pkg/numericalsgps/gap/basics.gi:690 called from
belongs( x - gen[1], gen ) at /home/FQM343/pedro/lib/gap-4.11.1/pkg/numericalsgps/gap/basics.gi:690 called from
belongs( x - gen[1], gen ) at /home/FQM343/pedro/lib/gap-4.11.1/pkg/numericalsgps/gap/basics.gi:690 called from
... at *stdin*:42
you may 'return;'
However, it uses the implementation of HasSmallElements
gap> sm:=SmallElements(s);;
gap> x in s;
true
This is an example produced from an issue reported by @coneill-math .
The basic (
HasGenerators) implementation should be improved, but also in the case the Apéry set is known, it does not use the implementation forHasAperyList.However, it uses the implementation of
HasSmallElementsThis is an example produced from an issue reported by @coneill-math .