  
  [1X14 [33X[0;0YNumerical sets[133X[101X
  
  [33X[0;0YA  numerical  set  is a subset of the non-negative integers containing 0 and
  with  finite  complement  in the non-negative integers. Numerical semigroups
  and normalized ideals of numerical semigroups (ideals whose minimal elements
  are zero) are particular cases of numerical sets.[133X
  
  
  [1X14.1 [33X[0;0YDefinitions and basic operations[133X[101X
  
  [33X[0;0YWe  describe  in  this  section  the  basic  functions to create and compute
  notable elements of numerical sets.[133X
  
  [1X14.1-1 NumericalSetBySmallElements[101X
  
  [33X[1;0Y[29X[2XNumericalSetBySmallElements[102X( [3XL[103X ) [32X function[133X
  
  [33X[0;0Y[3XL[103X  is  a  list  of  non-negative  integers  containing  0. The output is the
  numerical set [22X[3XL[103X∪ (max([3XL[103X)+N)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,1,2,3,5,6,9,10,12]);[127X[104X
    [4X[28X<Numerical set>[128X[104X
    [4X[25Xgap>[125X [27XPrint(s);[127X[104X
    [4X[28X{0,...,3,5,6,9,10,12,->}[128X[104X
  [4X[32X[104X
  
  [1X14.1-2 NumericalSetByGaps[101X
  
  [33X[1;0Y[29X[2XNumericalSetByGaps[102X( [3XL[103X ) [32X function[133X
  
  [33X[0;0Y[3XL[103X  is  a list of positive integers containing 0. The output is the numerical
  set [22XN∖ [3XL[103X[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetByGaps([1,3,5]);[127X[104X
    [4X[28X<Numerical set>[128X[104X
    [4X[25Xgap>[125X [27XGaps(s);[127X[104X
    [4X[28X[ 1, 3, 5 ][128X[104X
    [4X[25Xgap>[125X [27XSmallElements(s);[127X[104X
    [4X[28X[ 0, 2, 4, 6 ][128X[104X
  [4X[32X[104X
  
  [1X14.1-3 AsNumericalSet[101X
  
  [33X[1;0Y[29X[2XAsNumericalSet[102X( [3XS[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XAsNumericalSet[102X( [3XI[103X ) [32X operation[133X
  
  [33X[0;0Y[3XS[103X is a numerical semigroup; [3XI[103X is a normalized ideal of a numerical semigroup
  (that  is  an  ideal  whose minimal element is zero). The output is [3XS[103X (or [3XI[103X)
  considered as a numerical set.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(4,5);;[127X[104X
    [4X[25Xgap>[125X [27XPrint(AsNumericalSet(s));[127X[104X
    [4X[28X{0,4,5,8,9,10,12,->}[128X[104X
    [4X[25Xgap>[125X [27Xi:=[0,1]+s;;[127X[104X
    [4X[25Xgap>[125X [27XPrint(AsNumericalSet(i));[127X[104X
    [4X[28X{0,1,4,5,6,8,->}[128X[104X
  [4X[32X[104X
  
  [1X14.1-4 AsNumericalSemigroup[101X
  
  [33X[1;0Y[29X[2XAsNumericalSemigroup[102X( [3XS[103X ) [32X operation[133X
  
  [33X[0;0Y[3XS[103X  is  a  numerical set. The output is [3XS[103X considered as a numerical semigroup
  provided that [22X[3XS[103X+[3XS[103X = [3XS[103X[122X (otherwise, it raises an error).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(4,5);;[127X[104X
    [4X[25Xgap>[125X [27XPrint(AsNumericalSet(s));[127X[104X
    [4X[28X{0,4,5,8,9,10,12,->}[128X[104X
    [4X[25Xgap>[125X [27Xi:=[0,1]+s;;[127X[104X
    [4X[25Xgap>[125X [27XPrint(AsNumericalSet(i));[127X[104X
    [4X[28X{0,1,4,5,6,8,->}[128X[104X
  [4X[32X[104X
  
  [1X14.1-5 AsIdealOfNumericalSemigroup[101X
  
  [33X[1;0Y[29X[2XAsIdealOfNumericalSemigroup[102X( [3XR[103X, [3XS[103X ) [32X operation[133X
  
  [33X[0;0Y[3XR[103X  is  a  numerical  set  and  [3XS[103X  is  a numerical semigroup. The output is [3XR[103X
  considered  as  an ideal of [3XS[103X provided that [22X[3XR[103X+[3XS[103X = [3XR[103X[122X (otherwise, it raises an
  error).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(3,7,5);;[127X[104X
    [4X[25Xgap>[125X [27Xr:=NumericalSetBySmallElements([0,2]);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(AsIdealOfNumericalSemigroup(r,s))=SmallElements(r);[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [1X14.1-6 IsNumericalSet[101X
  
  [33X[1;0Y[29X[2XIsNumericalSet[102X( [3XObj[103X ) [32X function[133X
  
  [33X[0;0YTests if the object [3XObj[103X is a numerical set.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,1,3]);[127X[104X
    [4X[28X<Numerical set>[128X[104X
    [4X[25Xgap>[125X [27XIsNumericalSet(s);[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [1X14.1-7 Difference[101X
  
  [33X[1;0Y[29X[2XDifference[102X( [3XS[103X, [3XR[103X ) [32X operation[133X
  
  [33X[0;0Y[3XS[103X  and  [3XR[103X  can be numerical sets, numerical semigroups or lists of integers.
  The output is [22X[3XS[103X∖[3XR[103X[122X. In some cases, the output is a numerical set.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(4,5);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=Difference(s,[5..10]);[127X[104X
    [4X[28X<Numerical set>[128X[104X
    [4X[25Xgap>[125X [27XSmallElements(s);[127X[104X
    [4X[28X[ 0, 4, 5, 8, 9, 10, 12 ][128X[104X
    [4X[25Xgap>[125X [27XSmallElements(t);[127X[104X
    [4X[28X[ 0, 4, 12 ][128X[104X
    [4X[25Xgap>[125X [27XDifference([0..Conductor(s)],s)=Gaps(s);[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [1X14.1-8 \[ \][101X
  
  [33X[1;0Y[29X[2X\[ \][102X( [3Xns[103X, [3Xr[103X ) [32X operation[133X
  
  [33X[0;0Y[3Xns[103X  is  an  a numerical set and [3Xr[103X is a positive integer. It returns the [3Xr[103X-th
  element of [3Xns[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,2,5,6,9]);;[127X[104X
    [4X[25Xgap>[125X [27Xs[1];[127X[104X
    [4X[28X0[128X[104X
    [4X[25Xgap>[125X [27Xs[3];[127X[104X
    [4X[28X5[128X[104X
    [4X[25Xgap>[125X [27Xs[7];[127X[104X
    [4X[28X11[128X[104X
  [4X[32X[104X
  
  [1X14.1-9 \{ \}[101X
  
  [33X[1;0Y[29X[2X\{ \}[102X( [3XIns[103X, [3Xls[103X ) [32X operation[133X
  
  [33X[0;0Y[3Xns[103X  is a numerical set and [3Xls[103X is a list of positive integers. It returns the
  list [3X[ns[r] : r in ls][103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,2,5,6,9]);;[127X[104X
    [4X[25Xgap>[125X [27Xs{[1..10]};[127X[104X
    [4X[28X[ 0, 2, 5, 6, 9, 10, 11, 12, 13, 14 ][128X[104X
    [4X[25Xgap>[125X [27XSmallElements(s);[127X[104X
    [4X[28X[ 0, 2, 5, 6, 9 ][128X[104X
  [4X[32X[104X
  
  [1X14.1-10 Position[101X
  
  [33X[1;0Y[29X[2XPosition[102X( [3Xns[103X, [3Xr[103X[, [3Xf[103X] ) [32X operation[133X
  
  [33X[0;0Y[3Xns[103X  is  an  a  numerical  set,  [3Xr[103X  is an object, and [3Xf[103X is an index; it works
  exactly  as  [3XPosition[103X  for  lists  considering  [3Xns[103X  as  an  infinite list of
  integers.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,3,5]);;[127X[104X
    [4X[25Xgap>[125X [27XPosition(s,-3);[127X[104X
    [4X[28Xfail[128X[104X
    [4X[25Xgap>[125X [27XPosition(s,0);[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XPosition(s,0,1);[127X[104X
    [4X[28Xfail[128X[104X
  [4X[32X[104X
  
  [1X14.1-11 Positions[101X
  
  [33X[1;0Y[29X[2XPositions[102X( [3Xns[103X, [3Xr[103X ) [32X operation[133X
  
  [33X[0;0Y[3Xns[103X  is  an a numerical set and [3Xr[103X is an object; it works exactly as [3XPositions[103X
  for lists considering [3Xns[103X as an infinite list of integers.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,3,5]);;[127X[104X
    [4X[25Xgap>[125X [27XPositions(s,2);[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27XPositions(s,3);[127X[104X
    [4X[28X[ 2 ][128X[104X
  [4X[32X[104X
  
  [1X14.1-12 Union[101X
  
  [33X[1;0Y[29X[2XUnion[102X( [3XR[103X, [3XS[103X ) [32X operation[133X
  
  [33X[0;0Y[3XR, S[103X are numerical sets (one of them can be a numerical semigroup).[133X
  
  [33X[0;0YOne of the arguments can also be a list of non-negative integers.[133X
  
  [33X[0;0YThe output is the union of both arguments, and it is a numerical set.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,2,5,6,9]);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSetBySmallElements([0,6]);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(Union(s,t));[127X[104X
    [4X[28X[ 0, 2, 5 ][128X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,2,5,6,9]);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSemigroup(4,7);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(Union(s,t));[127X[104X
    [4X[28X[ 0, 2, 4 ][128X[104X
    [4X[25Xgap>[125X [27Xt:=Union(s,[2,5]);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(t);[127X[104X
    [4X[28X[ 0, 2, 4, 5, 6, 8 ][128X[104X
  [4X[32X[104X
  
  [1X14.1-13 Intersection[101X
  
  [33X[1;0Y[29X[2XIntersection[102X( [3XR[103X, [3XS[103X ) [32X operation[133X
  
  [33X[0;0Y[3XR,  S[103X  are  numerical  sets  (one of them can be a numerical semigroup). The
  output is the intersection of both numerical sets.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,2,5,6,9]);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSemigroup(5,7);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(Intersection(s,t));[127X[104X
    [4X[28X[ 0, 5, 10, 12, 14, 15, 17, 19, 20, 21, 22, 24 ][128X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSetBySmallElements([0,6]);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(Intersection(s,t));[127X[104X
    [4X[28X[ 0, 6, 9 ][128X[104X
  [4X[32X[104X
  
  [1X14.1-14 +[101X
  
  [33X[1;0Y[29X[2X+[102X( [3XR[103X, [3XS[103X ) [32X operation[133X
  
  [33X[0;0Y[3XR,  S[103X  are  numerical  sets  (one of them can be a numerical semigroup). The
  output is the sum of both numerical sets.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,2,5,6,9]);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSetBySmallElements([0,7]);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(s+t);[127X[104X
    [4X[28X[ 0, 2, 5 ][128X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,2,5,6,9]);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSemigroup(5,7);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(s+t);[127X[104X
    [4X[28X[ 0, 2, 5, 6, 7, 9 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  [1X14.1-15 *[101X
  
  [33X[1;0Y[29X[2X*[102X( [3Xn[103X, [3XS[103X ) [32X operation[133X
  
  [33X[0;0Y[3XS[103X is a numerical set and [3Xn[103X is a positive integer. The output is the sum of [3XS[103X
  [3Xn[103X times.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,2,5,6,9]);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSetBySmallElements([0,7]);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(s+t);[127X[104X
    [4X[28X[ 0, 2, 5 ][128X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,2,5,6,9]);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSemigroup(5,7);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(s+t);[127X[104X
    [4X[28X[ 0, 2, 5, 6, 7, 9 ][128X[104X
    [4X[28X[128X[104X
  [4X[32X[104X
  
  
  [1X14.2 [33X[0;0YNotable elements of numerical sets[133X[101X
  
  [1X14.2-1 SmallElements[101X
  
  [33X[1;0Y[29X[2XSmallElements[102X( [3XS[103X ) [32X attribute[133X
  
  [33X[0;0Y[3XS[103X is numerical set. The output is the set of small elements of [3XS[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetByGaps([1,3,5]);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(s);[127X[104X
    [4X[28X[ 0, 2, 4, 6 ][128X[104X
  [4X[32X[104X
  
  [1X14.2-2 Multiplicity[101X
  
  [33X[1;0Y[29X[2XMultiplicity[102X( [3XS[103X ) [32X attribute[133X
  
  [33X[0;0Y[3XS[103X is numerical set. The output is least positive integer in [3XS[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetByGaps([1,3,5]);;[127X[104X
    [4X[25Xgap>[125X [27XMultiplicity(s);[127X[104X
    [4X[28X2[128X[104X
  [4X[32X[104X
  
  [1X14.2-3 Gaps[101X
  
  [33X[1;0Y[29X[2XGaps[102X( [3XS[103X ) [32X attribute[133X
  
  [33X[0;0Y[3XS[103X is numerical set. The output is the set of gaps of [3XS[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetByGaps([1,3,5]);;[127X[104X
    [4X[25Xgap>[125X [27XGaps(s);[127X[104X
    [4X[28X[ 1, 3, 5 ][128X[104X
  [4X[32X[104X
  
  [1X14.2-4 Genus[101X
  
  [33X[1;0Y[29X[2XGenus[102X( [3XS[103X ) [32X attribute[133X
  
  [33X[0;0Y[3XS[103X is numerical set. The output is the number of gaps of [3XS[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetByGaps([1,3,5]);;[127X[104X
    [4X[25Xgap>[125X [27XGenus(s);[127X[104X
    [4X[28X3[128X[104X
  [4X[32X[104X
  
  [1X14.2-5 Conductor[101X
  
  [33X[1;0Y[29X[2XConductor[102X( [3XS[103X ) [32X attribute[133X
  
  [33X[0;0Y[3XS[103X is numerical set. The output is the largest element in [3XSmallElements(S)[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetByGaps([1,3,5]);;[127X[104X
    [4X[25Xgap>[125X [27XConductor(s);[127X[104X
    [4X[28X6[128X[104X
  [4X[32X[104X
  
  [1X14.2-6 FrobeniusNumber[101X
  
  [33X[1;0Y[29X[2XFrobeniusNumber[102X( [3XS[103X ) [32X attribute[133X
  
  [33X[0;0Y[3XS[103X is a numerical set. The output is the largest integer not belonging to [3XS[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetByGaps([1,3,5]);;[127X[104X
    [4X[25Xgap>[125X [27XFrobeniusNumber(s);[127X[104X
    [4X[28X5[128X[104X
  [4X[32X[104X
  
  [1X14.2-7 DualNumericalSet[101X
  
  [33X[1;0Y[29X[2XDualNumericalSet[102X( [3XS[103X ) [32X operation[133X
  
  [33X[0;0Y[3XS[103X  is a numerical set or a numerical semigroup. The output is the dual of [3XS[103X.
  If  [22X[3XS[103X[122X  has  gaps [22Xg_1,g_2,dots,g_n=f[122X and conductor [22Xc[122X, then its dual has small
  elements [22X0,f-g_n-1,dots,f-g_1, c[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,4,8,10]);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(DualNumericalSet(s));[127X[104X
    [4X[28X[ 0, 2, 3, 4, 6, 7, 8, 10 ][128X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(4,5);;[127X[104X
    [4X[25Xgap>[125X [27Xs=DualNumericalSet(s);[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X14.3 [33X[0;0YAssociated sets to numerical semigroups[133X[101X
  
  [1X14.3-1 AtomMonoid[101X
  
  [33X[1;0Y[29X[2XAtomMonoid[102X( [3XS[103X ) [32X operation[133X
  
  [33X[0;0Y[3XS[103X  is  a  numerical  set.  The  output  is  the atom monoid of [3XS[103X, which is a
  numerical  semigroup defined as the set of all integers n such that n + [3XS[103X is
  a subset of [3XS[103X (see [AM02]).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xns:=NumericalSetBySmallElements([0,3,5,7]);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(AtomMonoid(ns));[127X[104X
    [4X[28X[ 0, 5, 7 ][128X[104X
  [4X[32X[104X
  
  [1X14.3-2 AssociatedNumericalSets[101X
  
  [33X[1;0Y[29X[2XAssociatedNumericalSets[102X( [3XS[103X ) [32X operation[133X
  
  [33X[0;0Y[3XS[103X  is  a numerical semigroup. The output is the list of associated numerical
  sets of [3XS[103X (all numerical sets such that its atom monoid is [3XS[103X). The algorithm
  is  baser  on Algorithm 5.1 in [CKL+23] and was implemented by Araitz Unanue
  Bidal.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(17,20,27,19);;[127X[104X
    [4X[25Xgap>[125X [27Xas:=AssociatedNumericalSets(s);;[127X[104X
    [4X[25Xgap>[125X [27XForAll(as,ns->IsAssociatedNumericalSetOfNumericalSemigroup(ns,s));[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XForAll(as,ns->AtomMonoid(ns)=s);[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [1X14.3-3 IsAssociatedNumericalSetOfNumericalSemigroup[101X
  
  [33X[1;0Y[29X[2XIsAssociatedNumericalSetOfNumericalSemigroup[102X( [3XR[103X, [3XS[103X ) [32X operation[133X
  
  [33X[0;0Y[3XR[103X  is  a numerical set and [3XS[103X is a numerical semigroup. Determines if [3XR[103X is an
  ideal of [3XS[103X and if [3XR-R=S[103X (see [KKM+25] ). Equivalently, it checks if the atom
  monoid of [3XR[103X is equal to [3XS[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(3,5);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSetBySmallElements([0,4]);;[127X[104X
    [4X[25Xgap>[125X [27XIsAssociatedNumericalSetOfNumericalSemigroup(t,s);[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27Xr:=NumericalSetBySmallElements([0,3,5,6,8]);;[127X[104X
    [4X[25Xgap>[125X [27XIsAssociatedNumericalSetOfNumericalSemigroup(r,s);[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X14.4 [33X[0;0YInteger partitions associated to numerical sets[133X[101X
  
  [1X14.4-1 IntegerPartition[101X
  
  [33X[1;0Y[29X[2XIntegerPartition[102X( [3XS[103X ) [32X operation[133X
  
  [33X[0;0Y[3XS[103X  is  a  numerical  set or a numerical semigroup. The output is the integer
  partition associated to [3XS[103X, which is the one associated to its Young diagram.
  The algorithm used is the one explained in [{Ye\}25].[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,4,6,7,9,10,12]);;[127X[104X
    [4X[25Xgap>[125X [27XIntegerPartition(s);[127X[104X
    [4X[28X[ 6, 4, 2, 1, 1, 1 ][128X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(5,7,9,11,13);;[127X[104X
    [4X[25Xgap>[125X [27XIntegerPartition(s);[127X[104X
    [4X[28X[ 3, 2, 1, 1, 1, 1 ][128X[104X
  [4X[32X[104X
  
  [1X14.4-2 FerrersDiagram[101X
  
  [33X[1;0Y[29X[2XFerrersDiagram[102X( [3XS[103X ) [32X operation[133X
  
  [33X[0;0Y[3XS[103X  is  a  numerical  set or a numerical semigroup. The output is the integer
  partition  associated  to [3XS[103X. It also displays the Ferrers diagram associated
  to this partition.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetByIntegerPartition([4,2,1]);;[127X[104X
    [4X[25Xgap>[125X [27XFerrersDiagram(s);[127X[104X
    [4X[28X····[128X[104X
    [4X[28X··[128X[104X
    [4X[28X·[128X[104X
    [4X[28X[ 4, 2, 1 ][128X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(3,5,7);;[127X[104X
    [4X[25Xgap>[125X [27XFerrersDiagram(s);[127X[104X
    [4X[28X··[128X[104X
    [4X[28X·[128X[104X
    [4X[28X·[128X[104X
  [4X[32X[104X
  
  [1X14.4-3 NumericalSetByIntegerPartition[101X
  
  [33X[1;0Y[29X[2XNumericalSetByIntegerPartition[102X( [3XL[103X ) [32X function[133X
  
  [33X[0;0Y[3XL[103X is a list that is either empty or of non-increasing positive integers, and
  represents  an  integer partition. The output is numerical set associated to
  [3XL[103X. The algorithm used is the one described in [{Ye\}25].[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSmallElements(NumericalSetByIntegerPartition([]));[127X[104X
    [4X[28X[ 0 ][128X[104X
    [4X[25Xgap>[125X [27XIntegerPartition(NumericalSetByIntegerPartition([6,3,1]))=[6,3,1];[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [1X14.4-4 HookLengths[101X
  
  [33X[1;0Y[29X[2XHookLengths[102X( [3XS[103X ) [32X operation[133X
  
  [33X[0;0Y[3XS[103X  is  a  numerical  set or a numerical semigroup. The output is the list of
  hook  lengths  associated  to  the  integer  partition  associated to [3XS[103X. The
  algorithm used is the one explained in [{Ye\}25].[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0, 5, 7, 9]);;[127X[104X
    [4X[25Xgap>[125X [27XHookLengths(s);[127X[104X
    [4X[28X[ [ 8, 3, 1 ], [ 6, 1 ], [ 4 ], [ 3 ], [ 2 ], [ 1 ] ][128X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(5,6,11,13,14);;[127X[104X
    [4X[25Xgap>[125X [27XHookLengths(s);[127X[104X
    [4X[28X[ [ 9, 4, 3 ], [ 8, 3, 2 ], [ 7, 2, 1 ], [ 4 ], [ 3 ], [ 2 ], [ 1 ] ][128X[104X
  [4X[32X[104X
  
  [1X14.4-5 BondedSum[101X
  
  [33X[1;0Y[29X[2XBondedSum[102X( [3XS[103X, [3XT[103X ) [32X operation[133X
  
  [33X[0;0YThe  arguments are numerical sets or numerical semigroups. The output is the
  bonded sum of them as explained in [{Ye\}25]. If the small elements of [3XS[103X are
  [22X{0=s_0,s_1,dots,s_n}[122X  and  the small elements of [3XT[103X are [22X{0=t_0,t_1,dots,t_m}[122X,
  then   the   small   elements   of   the   bonded   sum   of  [3XS[103X  and  [3XT[103X  are
  [22X{0=s_0,s_1,dots,s_n-1,s_n-1,t_1+s_n-1,t_2+s_n-1,dots, t_m+s_n-1}[122X.[133X
  
  [33X[0;0YIn  terms  of  the Young diagrams associated to the arguments, the resulting
  numerical  set  is  the  one  corresponding to the Young diagram obtained by
  placing  the  diagram of the second above and on the right of the second, so
  that the first row of the first is followed by the last row of the second.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetBySmallElements([0,2,4]);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSetBySmallElements([0,2]);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(BondedSum(s,t));[127X[104X
    [4X[28X[ 0, 2, 3, 5 ][128X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetByIntegerPartition([4,2,1]);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSetByIntegerPartition([4,3,1]);;[127X[104X
    [4X[25Xgap>[125X [27XIntegerPartition(BondedSum(s,t));[127X[104X
    [4X[28X[ 8, 7, 5, 2, 1 ][128X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(2,5);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSetBySmallElements([0,2]);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(BondedSum(s,t));[127X[104X
    [4X[28X[ 0, 2, 3, 5 ][128X[104X
  [4X[32X[104X
  
  [1X14.4-6 CojointSum[101X
  
  [33X[1;0Y[29X[2XCojointSum[102X( [3XS[103X, [3XT[103X ) [32X operation[133X
  
  [33X[0;0YThe  arguments are numerical sets or numerical semigroups. The output is the
  cojoint  sum of them as defined in [{Ye\}25]. If the small elements of [3XS[103X are
  [22X{0=s_0,s_1,dots,s_n}[122X  and  the small elements of [3XT[103X are [22X{0=t_0,t_1,dots,t_m}[122X,
  then   the   small   elements   of   the   bonded   sum   of  [3XS[103X  and  [3XT[103X  are
  [22X{0=s_0,s_1,dots,s_n-1,t_1+s_n-1,t_2+s_n-1,dots, t_m+s_n-1}[122X.[133X
  
  [33X[0;0YIn  terms  of  the Young diagrams associated to the arguments, the resulting
  numerical  set  is  the  one  corresponding to the Young diagram obtained by
  placing  the  diagram of the second above and on the right of the second, so
  that  the  last  column  of  the  first  is below by the first column of the
  second.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetByIntegerPartition([4,2,1]);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSetByIntegerPartition([4,3,1]);;[127X[104X
    [4X[25Xgap>[125X [27XIntegerPartition(CojointSum(s,t));[127X[104X
    [4X[28X[ 7, 6, 4, 4, 2, 1 ][128X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(2,5);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSetBySmallElements([0,2]);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(CojointSum(s,t));[127X[104X
    [4X[28X[ 0, 2, 5 ][128X[104X
  [4X[32X[104X
  
  [1X14.4-7 EndToEndSum[101X
  
  [33X[1;0Y[29X[2XEndToEndSum[102X( [3XS[103X, [3XT[103X ) [32X operation[133X
  
  [33X[0;0YThe  arguments are numerical sets or numerical semigroups. The output is the
  end to end sum of them as described in [{Ye\}25]. If the small elements of [3XS[103X
  are    [22X{0=s_0,s_1,dots,s_n}[122X    and    the    small   elements   of   [3XT[103X   are
  [22X{0=t_0,t_1,dots,t_m}[122X,  then  the small elements of the bonded sum of [3XS[103X and [3XT[103X
  are [22X{0=s_0,s_1,dots,s_n,t_1+s_n,t_2+s_n,dots, t_m+s_n}[122X.[133X
  
  [33X[0;0YIn  terms  of  the Young diagrams associated to the arguments, the resulting
  numerical  set  is  the  one  corresponding to the Young diagram obtained by
  placing  the  diagram of the second above and on the right of the second (in
  diagonal).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSetByIntegerPartition([4,2,1]);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSetByIntegerPartition([4,3,1]);;[127X[104X
    [4X[25Xgap>[125X [27XIntegerPartition(EndToEndSum(s,t));[127X[104X
    [4X[28X[ 8, 7, 5, 4, 2, 1 ][128X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(2,3);;[127X[104X
    [4X[25Xgap>[125X [27Xt:=NumericalSemigroup(3,4,5);;[127X[104X
    [4X[25Xgap>[125X [27XSmallElements(EndToEndSum(s,t));[127X[104X
    [4X[28X[ 0, 2, 5 ][128X[104X
  [4X[32X[104X
  
