Singular

Procedure from library grobcov.lib (see grobcov_lib).

Usage:
Input L: list of components in P-rep to be added
[ [[p_1,[p_11,..,p_1,r1]],..[p_k,[p_k1,..,p_kr_k]] ]

Return:
list of lists of levels of the different locally closed sets of the canonical P-rep of the constructible.
[ [level_1,[ [Comp_11,..Comp_1r_1] ] ], .. ,
[level_s,[ [Comp_s1,..Comp_sr_1] ] ] where level_i=i, Comp_ij=[ p_i,[p_i1,..,p_it_i] ] is a prime component.

Note:
Operates in a ring R=Q[u_1,..,u_m]

Example:
 LIB "grobcov.lib"; if (defined(Grobcov::@P)){kill Grobcov::@P; kill Grobcov::@R; kill Grobcov::@RP;} ring R=0,(x,y,z),lp; short=0; ideal P1=x; ideal Q1=x,y; ideal P2=y; ideal Q2=y,z; list L=list(Prep(P1,Q1)[1],Prep(P2,Q2)[1]); L; ==> [1]: ==> [1]: ==> _[1]=x ==> [2]: ==> [1]: ==> _[1]=y ==> _[2]=x ==> [2]: ==> [1]: ==> _[1]=y ==> [2]: ==> [1]: ==> _[1]=z ==> _[2]=y AddConsP(L); ==> [1]: ==> [1]: ==> 1 ==> [2]: ==> [1]: ==> [1]: ==> _[1]=x ==> [2]: ==> [1]: ==> _[1]=z ==> _[2]=y ==> _[3]=x ==> [2]: ==> [1]: ==> _[1]=y ==> [2]: ==> [1]: ==> _[1]=z ==> _[2]=y