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. K is a field and X=(x1<⋯<xn). A triangular set T=(T1,…,Tr) in K[X] has main variables y1<⋯<yr, main degrees dk=degykTk≥1 and initials hk=init(Tk). Let h=h1⋯hr, (T) the ideal generated by T, and sat(T)=(T):h∞={p:hep∈(T) for some e}. A polynomial p is reduced with respect to T when degykp<dk for all k. A polynomial p is regular modulo an ideal J when p is not a zero divisor in K[X]/J, that is pq∈J implies q∈J. We take the convention that 0 is a zero divisor, so p∈J is never regular. T is a regular chain when hk is regular modulo sat(T1,…,Tk−1) for each k.
Lemma 1 (pseudo-reduction). Let r=prem(p,T) as computed by PREM-CHAIN. Then r is reduced with respect to T, and hep−r∈(T) for some e≥0.
Proof. One pseudo-division of f by Tk replaces f by hkf−cykm−dkTk, where m=degykf and c is the leading coefficient of f in yk. This removes the term of degree m in yk and does not raise the degree in yk. So the loop ends with degykf<dk, and f changes by a multiple of hk and an element of (T). PREM-CHAIN reduces by Tr first and then by Tr−1,…,T1. When it reduces by Tk, the polynomials hk and Tk contain no yj with j>k, so the degree in each such yj does not grow, and the reductions already done stay valid. Collecting the factors gives hrer⋯h1e1p−r∈(T), and multiplying by more initials gives the form hep−r∈(T). □
The tower. Let U be the variables of X that are not main variables, F=K(U), and S=K[U]∖{0}. Then F[Y]=S−1K[X] with Y=(y1,…,yr), and K[X]⊂F[Y]. Note that hk and the coefficients of Tk in yk lie in F[y1,…,yk−1], because they contain only variables smaller than yk.
Lemma 2 (localization). Let I be an ideal of F[Y] and J=I∩K[X]. Then K[X]/J embeds in F[Y]/I, and a∈K[X] is regular modulo J if and only if a is not a zero divisor in F[Y]/I.
Proof. The map K[X]/J→F[Y]/I has kernel I∩K[X]=J, so it is injective. If ab∈J with b∈/J, then ab=0 in F[Y]/I and b=0 there. Conversely, let a(b/s)∈I with b/s∈/I, b∈K[X], s∈S. Then ab=s⋅a(b/s)∈I∩K[X]=J, and b∈/J because b/s∈/I and s is a unit of F[Y]. □
Lemma 3 (structure). Let T be a regular chain. Define R0=F and, for k=1,…,r, Rk=Rk−1[yk]/(Tk). Then for each k:
- (a) hk is a unit of Rk−1, and Rk=Rk−1[yk]/(Mk) with the monic polynomial Mk=hk−1Tk of degree dk;
- (b) Rk is an F-vector space with basis the reduced monomials y1a1⋯ykak, 0≤aj<dj; in particular dimFRk=d1⋯dk≥1;
- (c) with Ik the kernel of F[Y]→Rk[yk+1,…,yr], we have sat(T1,…,Tk)=Ik∩K[X], and a polynomial p∈K[X] is in sat(T1,…,Tk) if and only if prem(p,(T1,…,Tk))=0.
Proof. Induction on k. For k=0 there is nothing in (a), (b) holds with the basis {1}, and (c) says {0}={0}, since I0=0 and prem(p,∅)=p.
Let k≥1. (a) By hypothesis hk is regular modulo sat(T1,…,Tk−1)=Ik−1∩K[X]. By Lemma 2, hk is not a zero divisor in Rk−1[yk,…,yr]. Since hk contains none of yk,…,yr, it multiplies the coefficients of a polynomial separately, so hk is not a zero divisor in Rk−1. By (b), Rk−1 is a finite-dimensional F-vector space, and multiplication by hk is an injective F-linear map of it to itself, hence onto. So hku=1 for some u, and hk is a unit. Then (Tk)=(Mk) in Rk−1[yk], and Mk is monic of degree dk.
(b) Division by the monic Mk shows that Rk−1[yk]/(Mk) is a free Rk−1-module with basis 1,yk,…,ykdk−1. Combined with the basis of Rk−1 this gives the stated F-basis.
(c) Let T≤k=(T1,…,Tk) and g=h1⋯hk. In Rk every Tj with j≤k is 0 and g is a unit by (a) at each level. If p∈sat(T≤k), then gep∈(T≤k), so gep=0 in Rk[yk+1,…], so p=0 there, that is p∈Ik. Now let p∈Ik∩K[X] and ρ=prem(p,T≤k). By Lemma 1, gep−ρ∈(T≤k)⊂Ik, so ρ∈Ik. The polynomial ρ is reduced, so as a polynomial in yk+1,…,yr its coefficients are F-combinations of reduced monomials in y1,…,yk. Its image in Rk[yk+1,…] is 0, and by the basis in (b) all these combinations are 0. So ρ=0 as a polynomial, hence gep∈(T≤k) and p∈sat(T≤k). This proves Ik∩K[X]=sat(T≤k), and the proof also showed that every p in this ideal has prem(p,T≤k)=0. Conversely, prem(p,T≤k)=0 gives gep∈(T≤k) by Lemma 1, so p∈sat(T≤k). □
Theorem 1 (membership). For a regular chain T, IN-SAT returns true if and only if p∈sat(T).
Proof. This is Lemma 3 (c) with k=r. □
Lemma 4 (norm). Let A be a commutative ring, M∈A[y] monic of degree d≥1, a∈A[y] of formal degree m≥0 (all coefficients up to ym given, the top one possibly 0), and μa the multiplication by a on the free A-module B=A[y]/(M) with basis 1,…,yd−1. Then Resd,m(M,a)=detμa, where Resd,m is the determinant of the Sylvester matrix with these formal degrees. Also a is a unit of B if and only if Resd,m(M,a) is a unit of A.
Proof. Both sides are polynomials with integer coefficients in the d lower coefficients of M and the m+1 coefficients of a, so it suffices to prove the identity over Z[coefficients], and for that over C on a dense set of values. Over C with M=∏i(y−αi) and distinct αi, B≅Cd by f↦(f(αi))i, so detμa=∏ia(αi). The Poisson formula for a monic first argument gives Resd,m(M,a)=∏ia(αi) as well; it holds for formal degrees because a zero top coefficient of a only changes the second block of rows of the Sylvester matrix, and both sides are polynomial in that coefficient. For the second claim, a is a unit of B if and only if μa is bijective, and an A-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). □
Theorem 2 (regularity). Let T be a regular chain and p∈K[X]. IS-REGULAR returns true if and only if p is regular modulo sat(T).
Proof. By Lemma 3 (c) with k=r and Lemma 2, p is regular modulo sat(T) if and only if p is not a zero divisor in Rr, since every main variable is in Rr and F[Y]/Ir=Rr. As Rr is finite-dimensional over F, this holds if and only if p is a unit of Rr (the argument of Lemma 3 (a)); and 0 is not a unit since dimFRr≥1.
The algorithm first replaces p by ρ=prem(p,T). By Lemma 1, hep−ρ∈(T), so p and ρ differ by the unit he in Rr, and one is a unit if and only if the other is. If ρ=0 the answer false is correct. Otherwise the algorithm computes ρr=ρ and ρk−1=Resyk(ρk,Tk) for k=r,…,1, where a step with degykρk≤0 keeps ρk−1=ρk. We show by downward induction that ρk is a unit of Rk if and only if ρk−1 is a unit of Rk−1. The resultant is a polynomial in the coefficients, so it commutes with the map K[U][y1,…,yk−1]→Rk−1, provided the formal degrees m=degykρk and dk are kept, which the code does since it builds the Sylvester matrix from the degrees in K[X]. In Rk−1[yk] we have Tk=hkMk, and scaling the m rows of Tk in the Sylvester matrix gives Res(Tk,ρk)=hkmRes(Mk,ρk); swapping the arguments changes only the sign. Since hk is a unit, Lemma 4 with A=Rk−1 gives the claim. In a step with degykρk≤0, the element ρk lies in Rk−1, and multiplication by it on the free Rk−1-module Rk has determinant ρkdk, so again ρk is a unit of Rk if and only if it is a unit of Rk−1. At the end ρ0∈K[U]⊂F=R0, which is a unit if and only if it is not 0. □
Theorem 3 (chain test). IS-REGULAR-CHAIN returns true if and only if T 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=1 the initial h1=0 is regular modulo sat(∅)=0, because K[X] is a domain, so the loop starts at the second polynomial. When the loop reaches index k, all earlier tests passed, so (T1,…,Tk−1) is a regular chain, and by Theorem 2 the call IS-REGULAR(hk,T<k) answers exactly the condition of the definition for Tk. So the loop returns true if and only if every condition holds. □
Termination. Every pseudo-division loop lowers the degree in the main variable, the chain loops are bounded by r, and Bareiss elimination on an (m+d)×(m+d) Sylvester matrix uses a bounded number of exact polynomial divisions, each exact by Sylvester's identity. ■