# Singular

#### D.12.5.12 updatePairs

Procedure from library `teachstd.lib` (see teachstd_lib).

Usage:
updatePairs(P,S,h); P list, S ideal or module, h poly or vector
P a list of pairs of polys or vectors (obtained from pairset)

Return:
list Q,
Q[1] = the pairset P enlarged by all pairs (f,h), f from S, without pairs for which the product or the chain criterion applies
Q[2] = intvec v, v[1]= # product criterion, v[2]= # chain criterion

Example:
 ```LIB "teachstd.lib"; ring R1=0,(x,y,z),(c,dp); ideal S = x2y+x2,y3+xyz; poly h = x2y+xyz; list P = pairset(S)[1]; P;""; ==> [1]: ==> _[1]=x2y+x2 ==> _[2]=y3+xyz ==> updatePairs(P,S,h);""; ==> [1]: ==> [1]: ==> _[1]=x2y+x2 ==> _[2]=y3+xyz ==> [2]: ==> _[1]=x2y+x2 ==> _[2]=x2y+xyz ==> [2]: ==> 0,1 ==> module T = [x2y3-z2,x2y],[x2y4+z3,x2+y2]; P = pairset(T)[1]; P;""; ==> [1]: ==> _[1]=[x2y3-z2,x2y] ==> _[2]=[x2y4+z3,x2+y2] ==> updatePairs(P,T,[x2+x2y,y3+xyz]); ==> [1]: ==> [1]: ==> _[1]=[x2y3-z2,x2y] ==> _[2]=[x2y4+z3,x2+y2] ==> [2]: ==> _[1]=[x2y3-z2,x2y] ==> _[2]=[x2y+x2,y3+xyz] ==> [2]: ==> 0,1 ```