Correctness of Wu's characteristic set method full
This proof shows: correctness.
We prove that CHARSET terminates and returns a characteristic set with the two zero relations, that the zero decomposition terminates and covers exactly the zeros of the input, and that the prover is sound.
Setting. K is a field, Kˉ an algebraic closure, and x1<⋯<xn. For a set P⊂K[x1,…,xn], Zero(P)⊂Kˉn is its common zero set, and for h a polynomial, Zero(P/h)=Zero(P)∖Zero(h). The class cls(p) is the index of the main variable of p, and −1 for a constant. The rank of a nonzero p is the pair (cls(p),degmvar(p)p), compared lexicographically (constants have rank (−1,0)). A polynomial p is reduced with respect to q when cls(q)≥0 and degmvar(q)p<degmvar(q)q. An ascending set is either one nonzero constant, or a list A1,…,As of nonconstant polynomials with strictly increasing classes in which each Aj is reduced with respect to every Ai, i<j. For an ascending set C, hk=init(Ck) and IC=∏khk.
Order on ascending sets. Write A≺B if at the first index j where the ranks differ rank(Aj)<rank(Bj), or if B is a proper prefix of A in ranks (the longer set is lower). Write A∼B when the rank sequences are equal.
Lemma 1 (well-ordering). There is no infinite sequence A(1)≻A(2)≻⋯ of ascending sets.
Proof. Map A to its rank sequence followed by an end marker ω that is larger than every rank. Then ≺ is the lexicographic order on these words. Ranks lie in {−1,0,…,n}×N, which is well-ordered, and the words have length at most n+1, since classes strictly increase. We prove by induction on L that words of length at most L have no infinite descending sequence. In such a sequence the first letters do not increase, so they are constant from some point on (a well-order has no infinite descent). If that letter is ω the words are equal, which is not a strict descent. Otherwise the remaining words of length at most L−1 descend strictly forever, against the induction hypothesis. □
Lemma 2 (pseudo-reduction). For an ascending set B and any p, r=prem(p,B) as computed by prem_chain is reduced with respect to every element of B, and h1e1⋯hsesp−r∈(B) for some ek≥0. Also prem(Bk,B)=0.
Proof. A pseudo-division step by Bk replaces f by hkf−cykm−dkBk, where yk=mvar(Bk), dk=degykBk, m=degykf≥dk and c is the coefficient of ykm in f; it removes the top term in yk. So the loop for Bk ends with degykf<dk, after adding an element of (B) and multiplying by a power of hk. The reduction runs from Bs down to B1. When it uses Bk, both hk and Bk have degree 0 in yj for j>k, because their classes are smaller, so the degree in such yj does not grow and the earlier reductions stay valid. For p=Bk: the reductions by Bj, j>k, do nothing because degyjBk=0; one step by Bk gives hkBk−hkBk=0. □
Lemma 3 (basic sets). BASIC-SET(P) is an ascending set contained in P, and BASIC-SET(P)⪯A for every ascending set A⊆P.
Proof. If P contains a nonzero constant, the result is one such constant, whose rank is the smallest of all, and every ascending set starts with a rank at least as large; so the claim holds. Otherwise the scan goes through P in increasing rank and appends p when cls(p) exceeds the last class chosen and p is reduced with respect to all chosen elements. So the output G=(G1,…,Gt) is an ascending set. Whether p is reduced with respect to a list depends only on the ranks in the list. Suppose A⊆P is ascending and A≺G. Let j be the first index where the ranks differ, so rank(Aj)<rank(Gj), or let j=t+1≤s when A is longer. Then Aj is reduced with respect to G1,…,Gj−1 (same ranks as A1,…,Aj−1) and cls(Aj)>cls(Gj−1), so Aj is later than Gj−1 in the scan order and is eligible when the scan looks at it. The scan takes the first eligible element after Gj−1, and later elements have rank at least as large, so Gj exists and rank(Gj)≤rank(Aj). Both cases contradict the choice of j. □
Lemma 4 (descent). Let B=BASIC-SET(P) be nonconstant, r=0 reduced with respect to every element of B, and P+⊇P∪{r}. Then BASIC-SET(P+)≺B.
Proof. If r is a constant, BASIC-SET(P+) is a constant, which is lower than the nonconstant B. Otherwise let j be the number of Bi with class less than cls(r), and A=(B1,…,Bj,r). This is an ascending set in P+. If B has only j elements, A is longer and A≺B. Otherwise cls(Bj+1)≥cls(r); if the classes are equal, r reduced with respect to Bj+1 gives a smaller degree. Either way rank(r)<rank(Bj+1) and A≺B. By Lemma 3, BASIC-SET(P+)⪯A≺B. □
Theorem 1 (CHARSET). CHARSET(P) terminates and returns (C,P′) with P⊆P′⊆(P) and C⊆P′ an ascending set. If C is a nonzero constant, Zero(P)=∅. Otherwise prem(p,C)=0 for every p∈P′, and
Zero(C/IC)⊆Zero(P)⊆Zero(C). Proof. Each round adds remainders r=prem(p,B) with p,B⊆Pm. By Lemma 2, r∈(Pm), so by induction all sets stay inside the ideal (P), and Zero(Pm)=Zero(P). If a round adds a nonzero r, it is reduced with respect to B (Lemma 2), so by Lemma 4 the next basic set is strictly lower. By Lemma 1 this happens only finitely often, so the loop stops at line L3 or L5. At L3 the constant c∈(P) is a unit of K, so Zero(P)=∅. At L5 every p∈P′∖C has remainder 0, and so does every Ck by Lemma 2. Since C⊆(P), Zero(P)⊆Zero(C). For p∈P, Lemma 2 gives ∏khkekp∈(C). At a point of Zero(C) where no hk vanishes, this gives p=0. □
Theorem 2 (zero decomposition). DECOMPOSE(P) terminates and returns ascending sets C(1),…,C(m) with Zero(P)=⋃iZero(C(i)/IC(i)).
Proof. For one popped set Q with (C,Q′)=CHARSET(Q) and C nonconstant, we claim
Zero(Q)=Zero(C/IC)∪k:cls(hk)≥0⋃Zero(Q′∪{hk}). The right side is in the left side: Zero(C/IC)⊆Zero(Q) by Theorem 1, and Zero(Q′∪{hk})⊆Zero(Q′)=Zero(Q) because Q⊆Q′⊆(Q). Conversely, a point of Zero(Q) lies in Zero(C); either no hk vanishes there, or some hk does, and hk is then not a nonzero constant. If C is a constant, Zero(Q)=∅ and the set is dropped. So the invariant "Zero(P) is the union of the output pieces and of Zero(Q) over the stack" holds after every round, and it gives the claim when the stack is empty.
Termination: hk is nonzero and reduced with respect to every Ci. For i<k this holds because Ck is reduced with respect to Ci, so each coefficient of Ck in yk has degree less than di in yi. For i≥k, cls(hk)<cls(Ck)≤cls(Ci), so degyihk=0. By Lemma 4 the basic set of Q′∪{hk} is lower than C, and the characteristic set of the child is at most that basic set, since CHARSET only lowers its basic sets. So along every path of the tree of popped sets the characteristic sets strictly decrease, and by Lemma 1 every path is finite. Each node has at most n children, so by König's lemma the tree is finite. □
Theorem 3 (soundness of the prover). If WU-PROVE(H,g) returns true with conditions hk, then g(a)=0 for every a∈Zero(H) with hk(a)=0 for all k.
Proof. If C is a constant, Zero(H) is empty. Otherwise prem(g,C)=0, so ∏khkekg∈(C) by Lemma 2. Let a∈Zero(H) with all nonconstant hk(a)=0; the constant initials are nonzero elements of K. By Theorem 1, a∈Zero(C), so the product vanishes at a and g(a)=0. ■