<Section>
                <Heading>
                    Constructing the set of all numerical semigroups containing a given numerical semigroup
                </Heading>
                In order to construct the set of numerical semigroups containing a fixed numerical
                semigroup <M>S</M>, one first constructs its unitary extensions, that is to say, the
                sets <M>S\cup\{g\}</M> that are numerical semigroups with <M>g</M> a positive integer.
                This is achieved by constructing the special gaps of the semigroup, and then adding each
                of them to the numerical semigroup. Then we repeat the process for each of this new 
                numerical semigroups until we reach <M> {\mathbb N} </M>.
                
                <P/>
                These procedures are described in <Cite Key="RGGJ03"></Cite>.
                
                
                
                <ManSection>
                    <Func Arg="s" Name="OverSemigroupsNumericalSemigroup"></Func>
                    <Description>
                        <A>s</A> is a numerical semigroup. The output is the set of numerical semigroups
                        containing it.           
                        <Example><![CDATA[
gap> OverSemigroupsNumericalSemigroup(NumericalSemigroup(3,5,7));
[ <Numerical semigroup with 1 generators>, <Numerical semigroup>,
  <Numerical semigroup>, <Numerical semigroup with 3 generators> ]
]]

gap> List(last,s->MinimalGeneratingSystemOfNumericalSemigroup(s));
[ [ 1 ], [ 3, 4, 5 ], [ 2, 3 ], [ 3, 5, 7 ] ]
]]></Example>          
                    </Description>
                </ManSection>
                
                <ManSection>
                    <Func Arg="f" Name="NumericalSemigroupsWithFrobeniusNumber"></Func>
                    <Description>
                        <A>f</A> is an non zero integer greater than or equal to -1. The output is the 
                        set of numerical semigroups with Frobenius number <A>f</A>.           
The algorithm implemented is given in <Cite Key="RGGJ04"/>.
                        <Example><![CDATA[
gap> Length(NumericalSemigroupsWithFrobeniusNumber(20));
900
]]>
                        </Example>          
                    </Description>
                </ManSection>
                
            </Section>
