Algorithm Search⌘K

Proofs: Regular chain

These are the human proofs of Regular chain, at full length.

Correctness of the regular chain operations full

This proof shows: correctness.

We prove that the three operations of the page are correct: pseudo-reduction by a chain, the membership test for the saturated ideal, and the regularity test by iterated resultants. The test for a regular chain is then correct by induction on its length.

Setting. KK is a field and X=(x1<⋯<xn)X = (x_1 < \cdots < x_n). A triangular set T=(T1,…,Tr)T = (T_1, \ldots, T_r) in K[X]K[X] has main variables y1<⋯<yry_1 < \cdots < y_r, main degrees dk=deg⁡ykTk≥1d_k = \deg_{y_k} T_k \ge 1 and initials hk=init⁡(Tk)h_k = \operatorname{init}(T_k). Let h=h1⋯hrh = h_1 \cdots h_r, (T)(T) the ideal generated by TT, and sat⁡(T)=(T):h∞={p:hep∈(T) for some e}\operatorname{sat}(T) = (T) : h^\infty = \{p : h^e p \in (T) \text{ for some } e\}. A polynomial pp is reduced with respect to TT when deg⁡ykp<dk\deg_{y_k} p < d_k for all kk. A polynomial pp is regular modulo an ideal JJ when pp is not a zero divisor in K[X]/JK[X]/J, that is pq∈Jp q \in J implies q∈Jq \in J. We take the convention that 00 is a zero divisor, so p∈Jp \in J is never regular. TT is a regular chain when hkh_k is regular modulo sat⁡(T1,…,Tk−1)\operatorname{sat}(T_1, \ldots, T_{k-1}) for each kk.

Lemma 1 (pseudo-reduction). Let r=prem⁡(p,T)r = \operatorname{prem}(p, T) as computed by PREM-CHAIN. Then rr is reduced with respect to TT, and hep−r∈(T)h^e p - r \in (T) for some e≥0e \ge 0.

Proof. One pseudo-division of ff by TkT_k replaces ff by hkf−c ykm−dkTkh_k f - c\, y_k^{m - d_k} T_k, where m=deg⁡ykfm = \deg_{y_k} f and cc is the leading coefficient of ff in yky_k. This removes the term of degree mm in yky_k and does not raise the degree in yky_k. So the loop ends with deg⁡ykf<dk\deg_{y_k} f < d_k, and ff changes by a multiple of hkh_k and an element of (T)(T). PREM-CHAIN reduces by TrT_r first and then by Tr−1,…,T1T_{r-1}, \ldots, T_1. When it reduces by TkT_k, the polynomials hkh_k and TkT_k contain no yjy_j with j>kj > k, so the degree in each such yjy_j does not grow, and the reductions already done stay valid. Collecting the factors gives hrer⋯h1e1p−r∈(T)h_r^{e_r} \cdots h_1^{e_1} p - r \in (T), and multiplying by more initials gives the form hep−r∈(T)h^e p - r \in (T). □\square

The tower. Let UU be the variables of XX that are not main variables, F=K(U)F = K(U), and S=K[U]∖{0}S = K[U] \setminus \{0\}. Then F[Y]=S−1K[X]F[Y] = S^{-1} K[X] with Y=(y1,…,yr)Y = (y_1, \ldots, y_r), and K[X]⊂F[Y]K[X] \subset F[Y]. Note that hkh_k and the coefficients of TkT_k in yky_k lie in F[y1,…,yk−1]F[y_1, \ldots, y_{k-1}], because they contain only variables smaller than yky_k.

Lemma 2 (localization). Let II be an ideal of F[Y]F[Y] and J=I∩K[X]J = I \cap K[X]. Then K[X]/JK[X]/J embeds in F[Y]/IF[Y]/I, and a∈K[X]a \in K[X] is regular modulo JJ if and only if aa is not a zero divisor in F[Y]/IF[Y]/I.

Proof. The map K[X]/J→F[Y]/IK[X]/J \to F[Y]/I has kernel I∩K[X]=JI \cap K[X] = J, so it is injective. If ab∈Ja b \in J with b∉Jb \notin J, then ab=0a b = 0 in F[Y]/IF[Y]/I and b≠0b \ne 0 there. Conversely, let a(b/s)∈Ia (b/s) \in I with b/s∉Ib/s \notin I, b∈K[X]b \in K[X], s∈Ss \in S. Then ab=s⋅a(b/s)∈I∩K[X]=Ja b = s \cdot a (b/s) \in I \cap K[X] = J, and b∉Jb \notin J because b/s∉Ib/s \notin I and ss is a unit of F[Y]F[Y]. □\square

Lemma 3 (structure). Let TT be a regular chain. Define R0=FR_0 = F and, for k=1,…,rk = 1, \ldots, r, Rk=Rk−1[yk]/(Tk)R_k = R_{k-1}[y_k]/(T_k). Then for each kk:

  • (a) hkh_k is a unit of Rk−1R_{k-1}, and Rk=Rk−1[yk]/(Mk)R_k = R_{k-1}[y_k]/(M_k) with the monic polynomial Mk=hk−1TkM_k = h_k^{-1} T_k of degree dkd_k;
  • (b) RkR_k is an FF-vector space with basis the reduced monomials y1a1⋯ykaky_1^{a_1} \cdots y_k^{a_k}, 0≤aj<dj0 \le a_j < d_j; in particular dim⁡FRk=d1⋯dk≥1\dim_F R_k = d_1 \cdots d_k \ge 1;
  • (c) with IkI_k the kernel of F[Y]→Rk[yk+1,…,yr]F[Y] \to R_k[y_{k+1}, \ldots, y_r], we have sat⁡(T1,…,Tk)=Ik∩K[X]\operatorname{sat}(T_1, \ldots, T_k) = I_k \cap K[X], and a polynomial p∈K[X]p \in K[X] is in sat⁡(T1,…,Tk)\operatorname{sat}(T_1, \ldots, T_k) if and only if prem⁡(p,(T1,…,Tk))=0\operatorname{prem}(p, (T_1, \ldots, T_k)) = 0.

Proof. Induction on kk. For k=0k = 0 there is nothing in (a), (b) holds with the basis {1}\{1\}, and (c) says {0}={0}\{0\} = \{0\}, since I0=0I_0 = 0 and prem⁡(p,∅)=p\operatorname{prem}(p, \emptyset) = p.

Let k≥1k \ge 1. (a) By hypothesis hkh_k is regular modulo sat⁡(T1,…,Tk−1)=Ik−1∩K[X]\operatorname{sat}(T_1, \ldots, T_{k-1}) = I_{k-1} \cap K[X]. By Lemma 2, hkh_k is not a zero divisor in Rk−1[yk,…,yr]R_{k-1}[y_k, \ldots, y_r]. Since hkh_k contains none of yk,…,yry_k, \ldots, y_r, it multiplies the coefficients of a polynomial separately, so hkh_k is not a zero divisor in Rk−1R_{k-1}. By (b), Rk−1R_{k-1} is a finite-dimensional FF-vector space, and multiplication by hkh_k is an injective FF-linear map of it to itself, hence onto. So hku=1h_k u = 1 for some uu, and hkh_k is a unit. Then (Tk)=(Mk)(T_k) = (M_k) in Rk−1[yk]R_{k-1}[y_k], and MkM_k is monic of degree dkd_k.

(b) Division by the monic MkM_k shows that Rk−1[yk]/(Mk)R_{k-1}[y_k]/(M_k) is a free Rk−1R_{k-1}-module with basis 1,yk,…,ykdk−11, y_k, \ldots, y_k^{d_k - 1}. Combined with the basis of Rk−1R_{k-1} this gives the stated FF-basis.

(c) Let T≤k=(T1,…,Tk)T_{\le k} = (T_1, \ldots, T_k) and g=h1⋯hkg = h_1 \cdots h_k. In RkR_k every TjT_j with j≤kj \le k is 00 and gg is a unit by (a) at each level. If p∈sat⁡(T≤k)p \in \operatorname{sat}(T_{\le k}), then gep∈(T≤k)g^e p \in (T_{\le k}), so gep=0g^e p = 0 in Rk[yk+1,…]R_k[y_{k+1}, \ldots], so p=0p = 0 there, that is p∈Ikp \in I_k. Now let p∈Ik∩K[X]p \in I_k \cap K[X] and ρ=prem⁡(p,T≤k)\rho = \operatorname{prem}(p, T_{\le k}). By Lemma 1, gep−ρ∈(T≤k)⊂Ikg^e p - \rho \in (T_{\le k}) \subset I_k, so ρ∈Ik\rho \in I_k. The polynomial ρ\rho is reduced, so as a polynomial in yk+1,…,yry_{k+1}, \ldots, y_r its coefficients are FF-combinations of reduced monomials in y1,…,yky_1, \ldots, y_k. Its image in Rk[yk+1,…]R_k[y_{k+1}, \ldots] is 00, and by the basis in (b) all these combinations are 00. So ρ=0\rho = 0 as a polynomial, hence gep∈(T≤k)g^e p \in (T_{\le k}) and p∈sat⁡(T≤k)p \in \operatorname{sat}(T_{\le k}). This proves Ik∩K[X]=sat⁡(T≤k)I_k \cap K[X] = \operatorname{sat}(T_{\le k}), and the proof also showed that every pp in this ideal has prem⁡(p,T≤k)=0\operatorname{prem}(p, T_{\le k}) = 0. Conversely, prem⁡(p,T≤k)=0\operatorname{prem}(p, T_{\le k}) = 0 gives gep∈(T≤k)g^e p \in (T_{\le k}) by Lemma 1, so p∈sat⁡(T≤k)p \in \operatorname{sat}(T_{\le k}). □\square

Theorem 1 (membership). For a regular chain TT, IN-SAT returns true if and only if p∈sat⁡(T)p \in \operatorname{sat}(T).

Proof. This is Lemma 3 (c) with k=rk = r. □\square

Lemma 4 (norm). Let AA be a commutative ring, M∈A[y]M \in A[y] monic of degree d≥1d \ge 1, a∈A[y]a \in A[y] of formal degree m≥0m \ge 0 (all coefficients up to ymy^m given, the top one possibly 00), and μa\mu_a the multiplication by aa on the free AA-module B=A[y]/(M)B = A[y]/(M) with basis 1,…,yd−11, \ldots, y^{d-1}. Then Res⁡d,m(M,a)=det⁡μa\operatorname{Res}_{d,m}(M, a) = \det \mu_a, where Res⁡d,m\operatorname{Res}_{d,m} is the determinant of the Sylvester matrix with these formal degrees. Also aa is a unit of BB if and only if Res⁡d,m(M,a)\operatorname{Res}_{d,m}(M, a) is a unit of AA.

Proof. Both sides are polynomials with integer coefficients in the dd lower coefficients of MM and the m+1m + 1 coefficients of aa, so it suffices to prove the identity over Z[coefficients]\mathbb{Z}[\text{coefficients}], and for that over C\mathbb{C} on a dense set of values. Over C\mathbb{C} with M=∏i(y−αi)M = \prod_i (y - \alpha_i) and distinct αi\alpha_i, B≅CdB \cong \mathbb{C}^d by f↦(f(αi))if \mapsto (f(\alpha_i))_i, so det⁡μa=∏ia(αi)\det \mu_a = \prod_i a(\alpha_i). The Poisson formula for a monic first argument gives Res⁡d,m(M,a)=∏ia(αi)\operatorname{Res}_{d,m}(M, a) = \prod_i a(\alpha_i) as well; it holds for formal degrees because a zero top coefficient of aa only changes the second block of rows of the Sylvester matrix, and both sides are polynomial in that coefficient. For the second claim, aa is a unit of BB if and only if μa\mu_a is bijective, and an AA-linear endomorphism of a free module of finite rank is bijective if and only if its determinant is a unit (the adjugate gives the inverse; conversely det⁡(μa)det⁡(μa−1)=det⁡(μ1)=1\det(\mu_a) \det(\mu_{a^{-1}}) = \det(\mu_1) = 1). □\square

Theorem 2 (regularity). Let TT be a regular chain and p∈K[X]p \in K[X]. IS-REGULAR returns true if and only if pp is regular modulo sat⁡(T)\operatorname{sat}(T).

Proof. By Lemma 3 (c) with k=rk = r and Lemma 2, pp is regular modulo sat⁡(T)\operatorname{sat}(T) if and only if pp is not a zero divisor in RrR_r, since every main variable is in RrR_r and F[Y]/Ir=RrF[Y]/I_r = R_r. As RrR_r is finite-dimensional over FF, this holds if and only if pp is a unit of RrR_r (the argument of Lemma 3 (a)); and 00 is not a unit since dim⁡FRr≥1\dim_F R_r \ge 1.

The algorithm first replaces pp by ρ=prem⁡(p,T)\rho = \operatorname{prem}(p, T). By Lemma 1, hep−ρ∈(T)h^e p - \rho \in (T), so pp and ρ\rho differ by the unit heh^e in RrR_r, and one is a unit if and only if the other is. If ρ=0\rho = 0 the answer false is correct. Otherwise the algorithm computes ρr=ρ\rho_r = \rho and ρk−1=Res⁡yk(ρk,Tk)\rho_{k-1} = \operatorname{Res}_{y_k}(\rho_k, T_k) for k=r,…,1k = r, \ldots, 1, where a step with deg⁡ykρk≤0\deg_{y_k} \rho_k \le 0 keeps ρk−1=ρk\rho_{k-1} = \rho_k. We show by downward induction that ρk\rho_k is a unit of RkR_k if and only if ρk−1\rho_{k-1} is a unit of Rk−1R_{k-1}. The resultant is a polynomial in the coefficients, so it commutes with the map K[U][y1,…,yk−1]→Rk−1K[U][y_1, \ldots, y_{k-1}] \to R_{k-1}, provided the formal degrees m=deg⁡ykρkm = \deg_{y_k} \rho_k and dkd_k are kept, which the code does since it builds the Sylvester matrix from the degrees in K[X]K[X]. In Rk−1[yk]R_{k-1}[y_k] we have Tk=hkMkT_k = h_k M_k, and scaling the mm rows of TkT_k in the Sylvester matrix gives Res⁡(Tk,ρk)=hkmRes⁡(Mk,ρk)\operatorname{Res}(T_k, \rho_k) = h_k^m \operatorname{Res}(M_k, \rho_k); swapping the arguments changes only the sign. Since hkh_k is a unit, Lemma 4 with A=Rk−1A = R_{k-1} gives the claim. In a step with deg⁡ykρk≤0\deg_{y_k} \rho_k \le 0, the element ρk\rho_k lies in Rk−1R_{k-1}, and multiplication by it on the free Rk−1R_{k-1}-module RkR_k has determinant ρkdk\rho_k^{d_k}, so again ρk\rho_k is a unit of RkR_k if and only if it is a unit of Rk−1R_{k-1}. At the end ρ0∈K[U]⊂F=R0\rho_0 \in K[U] \subset F = R_0, which is a unit if and only if it is not 00. □\square

Theorem 3 (chain test). IS-REGULAR-CHAIN returns true if and only if TT is a regular chain.

Proof. Line R3 rejects exactly the sets that are not triangular (a constant, or main variables not strictly increasing). For k=1k = 1 the initial h1≠0h_1 \ne 0 is regular modulo sat⁡(∅)=0\operatorname{sat}(\emptyset) = 0, because K[X]K[X] is a domain, so the loop starts at the second polynomial. When the loop reaches index kk, all earlier tests passed, so (T1,…,Tk−1)(T_1, \ldots, T_{k-1}) is a regular chain, and by Theorem 2 the call IS-REGULAR(hk,T<k)(h_k, T_{<k}) answers exactly the condition of the definition for TkT_k. So the loop returns true if and only if every condition holds. □\square

Termination. Every pseudo-division loop lowers the degree in the main variable, the chain loops are bounded by rr, and Bareiss elimination on an (m+d)×(m+d)(m + d) \times (m + d) Sylvester matrix uses a bounded number of exact polynomial divisions, each exact by Sylvester's identity. ■\blacksquare

Back to Regular chain