Algorithm Search⌘K

Proofs: Wu's characteristic set method

These are the human proofs of Wu's characteristic set method, at full length.

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. KK is a field, Kˉ\bar K an algebraic closure, and x1<⋯<xnx_1 < \cdots < x_n. For a set P⊂K[x1,…,xn]P \subset K[x_1, \ldots, x_n], Zero⁡(P)⊂Kˉn\operatorname{Zero}(P) \subset \bar K^n is its common zero set, and for hh a polynomial, Zero⁡(P/h)=Zero⁡(P)∖Zero⁡(h)\operatorname{Zero}(P / h) = \operatorname{Zero}(P) \setminus \operatorname{Zero}(h). The class cls⁡(p)\operatorname{cls}(p) is the index of the main variable of pp, and −1-1 for a constant. The rank of a nonzero pp is the pair (cls⁡(p),deg⁡mvar⁡(p)p)(\operatorname{cls}(p), \deg_{\operatorname{mvar}(p)} p), compared lexicographically (constants have rank (−1,0)(-1, 0)). A polynomial pp is reduced with respect to qq when cls⁡(q)≥0\operatorname{cls}(q) \ge 0 and deg⁡mvar⁡(q)p<deg⁡mvar⁡(q)q\deg_{\operatorname{mvar}(q)} p < \deg_{\operatorname{mvar}(q)} q. An ascending set is either one nonzero constant, or a list A1,…,AsA_1, \ldots, A_s of nonconstant polynomials with strictly increasing classes in which each AjA_j is reduced with respect to every AiA_i, i<ji < j. For an ascending set CC, hk=init⁡(Ck)h_k = \operatorname{init}(C_k) and IC=∏khkI_C = \prod_k h_k.

Order on ascending sets. Write A≺BA \prec B if at the first index jj where the ranks differ rank⁡(Aj)<rank⁡(Bj)\operatorname{rank}(A_j) < \operatorname{rank}(B_j), or if BB is a proper prefix of AA in ranks (the longer set is lower). Write A∼BA \sim B when the rank sequences are equal.

Lemma 1 (well-ordering). There is no infinite sequence A(1)≻A(2)≻⋯A^{(1)} \succ A^{(2)} \succ \cdots of ascending sets.

Proof. Map AA to its rank sequence followed by an end marker ω\omega that is larger than every rank. Then ≺\prec is the lexicographic order on these words. Ranks lie in {−1,0,…,n}×N\{-1, 0, \ldots, n\} \times \mathbb{N}, which is well-ordered, and the words have length at most n+1n + 1, since classes strictly increase. We prove by induction on LL that words of length at most LL 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 ω\omega the words are equal, which is not a strict descent. Otherwise the remaining words of length at most L−1L - 1 descend strictly forever, against the induction hypothesis. □\square

Lemma 2 (pseudo-reduction). For an ascending set BB and any pp, r=prem⁡(p,B)r = \operatorname{prem}(p, B) as computed by prem_chain is reduced with respect to every element of BB, and h1e1⋯hses p−r∈(B)h_1^{e_1} \cdots h_s^{e_s}\, p - r \in (B) for some ek≥0e_k \ge 0. Also prem⁡(Bk,B)=0\operatorname{prem}(B_k, B) = 0.

Proof. A pseudo-division step by BkB_k replaces ff by hkf−c ykm−dkBkh_k f - c\, y_k^{m - d_k} B_k, where yk=mvar⁡(Bk)y_k = \operatorname{mvar}(B_k), dk=deg⁡ykBkd_k = \deg_{y_k} B_k, m=deg⁡ykf≥dkm = \deg_{y_k} f \ge d_k and cc is the coefficient of ykmy_k^m in ff; it removes the top term in yky_k. So the loop for BkB_k ends with deg⁡ykf<dk\deg_{y_k} f < d_k, after adding an element of (B)(B) and multiplying by a power of hkh_k. The reduction runs from BsB_s down to B1B_1. When it uses BkB_k, both hkh_k and BkB_k have degree 00 in yjy_j for j>kj > k, because their classes are smaller, so the degree in such yjy_j does not grow and the earlier reductions stay valid. For p=Bkp = B_k: the reductions by BjB_j, j>kj > k, do nothing because deg⁡yjBk=0\deg_{y_j} B_k = 0; one step by BkB_k gives hkBk−hkBk=0h_k B_k - h_k B_k = 0. □\square

Lemma 3 (basic sets). BASIC-SET(P)(P) is an ascending set contained in PP, and BASIC-SET⁡(P)⪯A\operatorname{BASIC-SET}(P) \preceq A for every ascending set A⊆PA \subseteq P.

Proof. If PP 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 PP in increasing rank and appends pp when cls⁡(p)\operatorname{cls}(p) exceeds the last class chosen and pp is reduced with respect to all chosen elements. So the output G=(G1,…,Gt)G = (G_1, \ldots, G_t) is an ascending set. Whether pp is reduced with respect to a list depends only on the ranks in the list. Suppose A⊆PA \subseteq P is ascending and A≺GA \prec G. Let jj be the first index where the ranks differ, so rank⁡(Aj)<rank⁡(Gj)\operatorname{rank}(A_j) < \operatorname{rank}(G_j), or let j=t+1≤sj = t + 1 \le s when AA is longer. Then AjA_j is reduced with respect to G1,…,Gj−1G_1, \ldots, G_{j-1} (same ranks as A1,…,Aj−1A_1, \ldots, A_{j-1}) and cls⁡(Aj)>cls⁡(Gj−1)\operatorname{cls}(A_j) > \operatorname{cls}(G_{j-1}), so AjA_j is later than Gj−1G_{j-1} in the scan order and is eligible when the scan looks at it. The scan takes the first eligible element after Gj−1G_{j-1}, and later elements have rank at least as large, so GjG_j exists and rank⁡(Gj)≤rank⁡(Aj)\operatorname{rank}(G_j) \le \operatorname{rank}(A_j). Both cases contradict the choice of jj. □\square

Lemma 4 (descent). Let B=BASIC-SET⁡(P)B = \operatorname{BASIC-SET}(P) be nonconstant, r≠0r \ne 0 reduced with respect to every element of BB, and P+⊇P∪{r}P^{+} \supseteq P \cup \{r\}. Then BASIC-SET⁡(P+)≺B\operatorname{BASIC-SET}(P^{+}) \prec B.

Proof. If rr is a constant, BASIC-SET(P+)(P^+) is a constant, which is lower than the nonconstant BB. Otherwise let jj be the number of BiB_i with class less than cls⁡(r)\operatorname{cls}(r), and A=(B1,…,Bj,r)A = (B_1, \ldots, B_j, r). This is an ascending set in P+P^{+}. If BB has only jj elements, AA is longer and A≺BA \prec B. Otherwise cls⁡(Bj+1)≥cls⁡(r)\operatorname{cls}(B_{j+1}) \ge \operatorname{cls}(r); if the classes are equal, rr reduced with respect to Bj+1B_{j+1} gives a smaller degree. Either way rank⁡(r)<rank⁡(Bj+1)\operatorname{rank}(r) < \operatorname{rank}(B_{j+1}) and A≺BA \prec B. By Lemma 3, BASIC-SET⁡(P+)⪯A≺B\operatorname{BASIC-SET}(P^{+}) \preceq A \prec B. □\square

Theorem 1 (CHARSET). CHARSET(P)(P) terminates and returns (C,P′)(C, P') with P⊆P′⊆(P)P \subseteq P' \subseteq (P) and C⊆P′C \subseteq P' an ascending set. If CC is a nonzero constant, Zero⁡(P)=∅\operatorname{Zero}(P) = \emptyset. Otherwise prem⁡(p,C)=0\operatorname{prem}(p, C) = 0 for every p∈P′p \in P', and

Zero⁡(C/IC)⊆Zero⁡(P)⊆Zero⁡(C).\operatorname{Zero}(C / I_C) \subseteq \operatorname{Zero}(P) \subseteq \operatorname{Zero}(C).

Proof. Each round adds remainders r=prem⁡(p,B)r = \operatorname{prem}(p, B) with p,B⊆Pmp, B \subseteq P_m. By Lemma 2, r∈(Pm)r \in (P_m), so by induction all sets stay inside the ideal (P)(P), and Zero⁡(Pm)=Zero⁡(P)\operatorname{Zero}(P_m) = \operatorname{Zero}(P). If a round adds a nonzero rr, it is reduced with respect to BB (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)c \in (P) is a unit of KK, so Zero⁡(P)=∅\operatorname{Zero}(P) = \emptyset. At L5 every p∈P′∖Cp \in P' \setminus C has remainder 00, and so does every CkC_k by Lemma 2. Since C⊆(P)C \subseteq (P), Zero⁡(P)⊆Zero⁡(C)\operatorname{Zero}(P) \subseteq \operatorname{Zero}(C). For p∈Pp \in P, Lemma 2 gives ∏khkekp∈(C)\prod_k h_k^{e_k} p \in (C). At a point of Zero⁡(C)\operatorname{Zero}(C) where no hkh_k vanishes, this gives p=0p = 0. □\square

Theorem 2 (zero decomposition). DECOMPOSE(P)(P) terminates and returns ascending sets C(1),…,C(m)C^{(1)}, \ldots, C^{(m)} with Zero⁡(P)=⋃iZero⁡(C(i)/IC(i))\operatorname{Zero}(P) = \bigcup_i \operatorname{Zero}(C^{(i)} / I_{C^{(i)}}).

Proof. For one popped set QQ with (C,Q′)=CHARSET⁡(Q)(C, Q') = \operatorname{CHARSET}(Q) and CC nonconstant, we claim

Zero⁡(Q)=Zero⁡(C/IC)∪⋃k:cls⁡(hk)≥0Zero⁡(Q′∪{hk}).\operatorname{Zero}(Q) = \operatorname{Zero}(C / I_C) \cup \bigcup_{k : \operatorname{cls}(h_k) \ge 0} \operatorname{Zero}(Q' \cup \{h_k\}).

The right side is in the left side: Zero⁡(C/IC)⊆Zero⁡(Q)\operatorname{Zero}(C / I_C) \subseteq \operatorname{Zero}(Q) by Theorem 1, and Zero⁡(Q′∪{hk})⊆Zero⁡(Q′)=Zero⁡(Q)\operatorname{Zero}(Q' \cup \{h_k\}) \subseteq \operatorname{Zero}(Q') = \operatorname{Zero}(Q) because Q⊆Q′⊆(Q)Q \subseteq Q' \subseteq (Q). Conversely, a point of Zero⁡(Q)\operatorname{Zero}(Q) lies in Zero⁡(C)\operatorname{Zero}(C); either no hkh_k vanishes there, or some hkh_k does, and hkh_k is then not a nonzero constant. If CC is a constant, Zero⁡(Q)=∅\operatorname{Zero}(Q) = \emptyset and the set is dropped. So the invariant "Zero⁡(P)\operatorname{Zero}(P) is the union of the output pieces and of Zero⁡(Q)\operatorname{Zero}(Q) over the stack" holds after every round, and it gives the claim when the stack is empty.

Termination: hkh_k is nonzero and reduced with respect to every CiC_i. For i<ki < k this holds because CkC_k is reduced with respect to CiC_i, so each coefficient of CkC_k in yky_k has degree less than did_i in yiy_i. For i≥ki \ge k, cls⁡(hk)<cls⁡(Ck)≤cls⁡(Ci)\operatorname{cls}(h_k) < \operatorname{cls}(C_k) \le \operatorname{cls}(C_i), so deg⁡yihk=0\deg_{y_i} h_k = 0. By Lemma 4 the basic set of Q′∪{hk}Q' \cup \{h_k\} is lower than CC, 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 nn children, so by König's lemma the tree is finite. □\square

Theorem 3 (soundness of the prover). If WU-PROVE(H,g)(H, g) returns true with conditions hkh_k, then g(a)=0g(a) = 0 for every a∈Zero⁡(H)a \in \operatorname{Zero}(H) with hk(a)≠0h_k(a) \ne 0 for all kk.

Proof. If CC is a constant, Zero⁡(H)\operatorname{Zero}(H) is empty. Otherwise prem⁡(g,C)=0\operatorname{prem}(g, C) = 0, so ∏khkekg∈(C)\prod_k h_k^{e_k} g \in (C) by Lemma 2. Let a∈Zero⁡(H)a \in \operatorname{Zero}(H) with all nonconstant hk(a)≠0h_k(a) \ne 0; the constant initials are nonzero elements of KK. By Theorem 1, a∈Zero⁡(C)a \in \operatorname{Zero}(C), so the product vanishes at aa and g(a)=0g(a) = 0. ■\blacksquare

Back to Wu's characteristic set method