30.2 Discussion of RemoveRedundent command

RemoveRedundent requires a history and a list of polynomials. NCMakeGB records part of what it is doing during its computation and that can be used to determine some facts about ideal membership. This history can be though of as a directed acyclic graph (abbreviated as dag)1. The the list of polynomials is a subset V of all of the nodes and the output of RemoveRedundent is another set R of nodes v in V . Let denote a connected path which runs from v backward in time until it reaches a leaf. Now P ends at v in the set V and may as we go backwards along it in time leave V then come back etc. Let v(P) denote the earliest node of P in V . It belongs to R. Indeed, R = {v(P) for all maximal connected forward flowing paths ending in V }. For example, if some path P ends in v and the node immediately before v is not in V , then v is in R. Now we give more formal statements and about how the RemoveRedundent algorithm works.

Let p1,,pn ∈ K[x1,,xn]. Let T be a tree on the nodes {1,,n}. We say that the tree represents the development of p1,,pn if it is the case that for every j = 1,,n either

(1) j is a leaf of the tree OR
(2) there exists a S-polynomial s coming from pa and pb and k1,,kr ∈{1,,n} such that
(a) {a,b,k1,k2,,kr} is the set of children of j in the tree T, and
(b) there exist polynomials q1,,qr such that s pk1q 1 pk2⋅⋅⋅pkrq kr = pj.

OR

(3) there exist a and {k1,,kr} such that {a,k1,,kr} are the children of j and there exist polynomials q1,,qr such that pa reduces to q1 by applying the rule associated to the polynomial pk1, q1 reduces to q2 by applying the rule associated to the polynomial pk2, , qr-1 reduces to qr by applying the rule associated to the polynomial pkr such that pa pk 1q1 pk2⋅⋅⋅ pkrqr = pj.

Now suppose that T is a tree on {1,,n} and it represents the development of p1,,pn. If j is the root of the tree and k1,,kr are the leafs of T, then pj lies in the ideal generated by pk1,,pkr. In fact, pa lies in the ideal generated by pk1,,pkr for every a such that both 1 a n.

Now, if a tree T represents the development of p1,,pn and one chooses a subset {k1,,kr}∈{1,,n}, then one can consider the largest subgraph of T for which each node k has no edge leading from it. Each connected component of this subgraph will be a tree. Let To be such a connected component of T and {1,,ℓw} be the nodes of To. It is clear that the tree To represents the development of p1,,pw.

This is the key to the function RemoveRedundent. This function takes a tree T which represents the development of p1,,pn and a list of nodes {1,,ℓw}. The algorithm proceeds as follows.

Let result = {1,,ℓw};

Let unchanged = False;

while(unchanged)

   unchanged = False;

   temp = result;

   while(unchanged is False and temp is not the empty set)

      Pick ∈ temp;

      Let temp = temp\{};

      More here ? MARK whats this mean

   end while

end while