# Singular          #### D.4.16.7 is_nested

Procedure from library `mregular.lib` (see mregular_lib).

Usage:
is_nested (i); i monomial ideal

Return:
1 if i is of nested type, 0 otherwise.
(returns -1 if i=(0) or i=(1)).

Assume:
i is a nonzero proper monomial ideal.

Notes:
1. The ideal must be monomial, otherwise the result has no meaning (so check this before using this procedure).
2. is_nested is used in procedures depthIdeal, regIdeal and satiety.
3. When i is a monomial ideal of nested type of S=K[x(0)..x(n)], the a-invariant of S/i coincides with the upper bound obtained using the procedure regIdeal with printlevel > 0.

Theory:
A monomial ideal is of nested type if its associated primes are all of the form (x(0),...,x(i)) for some i<=n.
(see definition and effective criterion to check this property in the preprint 'Saturation and Castelnuovo-Mumford regularity' by Bermejo-Gimenez, 2004).

Example:
 ```LIB "mregular.lib"; ring s=0,(x,y,z,t),dp; ideal i1=x2,y3; ideal i2=x3,y2,z2; ideal i3=x3,y2,t2; ideal i=intersect(i1,i2,i3); is_nested(i); ==> 0 ideal ch=x,y,z,z+t; map phi=ch; ideal I=lead(std(phi(i))); is_nested(I); ==> 1 ```

### Misc 