The Lazard valuation of a multivariate polynomial at a point #
Fix a linear order on the variables σ, well-founded for > (for instance Fin n). The
Lazard valuation p.lazardValuation a of a polynomial p at a point a is the
lexicographically least exponent of a nonzero Taylor coefficient of p at a, that is, of a
nonzero coefficient of the translate taylor a p = p(X + a), and ⊤ when p = 0. The
lexicographic order is Mathlib's order on Lex (σ →₀ ℕ), in which the least variable is the
most significant; this is the order in which Lazard evaluation divides out the powers of the
Xᵢ - aᵢ. It is Mathlib's MvPowerSeries.lexOrder of the Taylor
shift, just as the order of vanishing MvPolynomial.orderAt is the order of the Taylor shift;
the two invariants differ in that the Lazard valuation retains the whole lexicographically
leading exponent rather than only a total degree. The Lazard valuation is additive on products
over a domain, it is zero exactly where p does not vanish, and its coordinates are bounded by
the degrees of p, so a fixed polynomial takes only finitely many Lazard valuations.
Valuations turn into orders of vanishing along monomial curves. An evaluator for a set V of
exponents is a weight vector c : σ → ℕ, positive everywhere, such that for every v ∈ V and
every variable i, the c-weight of the coordinates of v less significant than i is less
than c i (TauCeti.IsLazardEvaluator). Such weights turn the lexicographic comparison of an
exponent in V with any other exponent into a comparison of c-weights
(TauCeti.IsLazardEvaluator.weight_lt_weight). Every finite set of exponents has an evaluator
(TauCeti.exists_isLazardEvaluator). Consequently, if the Lazard valuation v of p at a
lies in V, then along the monomial curve y ↦ a + y ^ c with coordinates aᵢ + y ^ cᵢ
(MvPolynomial.monomialCurve) the polynomial p restricts to a nonzero polynomial in y
whose order of vanishing at y = 0 is the c-weight ∑ i, cᵢ vᵢ of v, with lowest
coefficient the Taylor coefficient of p at a of exponent v
(MvPolynomial.natTrailingDegree_aeval_monomialCurve). This is how Lazard's method for
cylindrical algebraic decomposition converts constancy of Lazard valuations into constancy of
orders of vanishing of one-variable restrictions.
Main definitions #
MvPolynomial.lazardValuation: the Lazard valuation ofpata.TauCeti.IsLazardEvaluator:cis an evaluator for the set of exponentsV.MvPolynomial.monomialCurve: the monomial curvey ↦ a + y ^ c.
Main results #
MvPolynomial.lazardValuation_eq_coe_iff: the characterization of the Lazard valuation by Taylor coefficients.MvPolynomial.lazardValuation_mul: over a domain, the Lazard valuation is additive on products.MvPolynomial.lazardValuation_eq_zero_iff: the valuation is zero exactly wherepdoes not vanish.MvPolynomial.finite_range_lazardValuation,MvPolynomial.finite_setOf_lazardValuation_eq: a polynomial has only finitely many Lazard valuations.TauCeti.exists_isLazardEvaluator: every finite set of exponents has an evaluator.MvPolynomial.natTrailingDegree_aeval_monomialCurve: the order ofy ↦ p (a + y ^ c)at0is thec-weight of the Lazard valuation ofpata.
References #
- S. McCallum, A. Parusiński, L. Paunescu, Validity proof of Lazard's method for CAD construction, Journal of Symbolic Computation 92 (2019), 52–69, Section 2 (Lazard valuation) and Section 5.1 (evaluators and monomial test curves).
c is an evaluator for the set of exponents V: every weight c i is positive and, for
every v ∈ V and every variable i, the c-weight ∑ j > i, c j * v j of the coordinates of
v less significant than i is less than c i.
- weight_filter_lt (v : σ →₀ ℕ) : v ∈ V → ∀ (i : σ), (Finsupp.weight c) (Finsupp.filter (fun (x : σ) => i < x) v) < c i
Instances For
An evaluator for W is an evaluator for every subset of W.
Positive multiples of an evaluator are evaluators.
An evaluator for V turns the lexicographic comparison of an exponent in V with any
other exponent into a comparison of c-weights.
Every finite set of exponents has an evaluator.
The monomial curve y ↦ a + y ^ c, given by its coordinates aᵢ + y ^ cᵢ as polynomials in
y. Substituting it into a multivariate polynomial p with aeval restricts p to the
curve.
Equations
- MvPolynomial.monomialCurve a c i = Polynomial.C (a i) + Polynomial.X ^ c i
Instances For
Substituting y ^ cᵢ for each variable Xᵢ sends the monomial X ^ m to y to the power
of the c-weight of m.
Restricting p to the curve y ↦ a + y ^ c, with coordinates aᵢ + y ^ cᵢ, amounts to
substituting y ^ cᵢ for each variable in the Taylor shift of p at a.
The coefficients of the restriction of p to the curve y ↦ a + y ^ c: the coefficient
of y ^ k is the sum of the Taylor coefficients of p at a with exponents of c-weight
k.
The Lazard valuation of p at a: the lexicographically least exponent of a nonzero
Taylor coefficient of p at a, and ⊤ if there is none. In the lexicographic order on
Lex (σ →₀ ℕ) the least variable is the most significant.
Equations
- p.lazardValuation a = (↑((MvPolynomial.taylor a) p)).lexOrder
Instances For
The Taylor coefficient of p at a whose exponent is the Lazard valuation is nonzero.
The Taylor coefficients of p at a with exponents below the Lazard valuation vanish.
The Lazard valuation of p at a is at least w exactly when every Taylor coefficient of
p at a with exponent below w vanishes.
The Lazard valuation of p at a is v exactly when the Taylor coefficient of p at a
with exponent v is nonzero and those with lexicographically smaller exponents vanish.
A nonzero Taylor coefficient of p at a with exponent other than the Lazard valuation has
a lexicographically larger exponent.
The Lazard valuation of p at a is zero exactly when p does not vanish at a.
The Lazard valuation of p at a is positive exactly when p vanishes at a.
Over a domain, the Lazard valuation of a product is the sum of the Lazard valuations.
Over a domain, the Lazard valuation of p ^ n is n times that of p.
Each coordinate of the Lazard valuation of p is at most the degree of p in that
variable.
A polynomial has only finitely many Lazard valuations.
The exponents occurring as Lazard valuations of a fixed polynomial form a finite set.
Only the zero polynomial has Lazard valuation ⊤.
The Lazard valuation of the coordinate function Xᵢ - aᵢ at a is the exponent of Xᵢ.
If the Lazard valuation v of p at a lies in V and c is an evaluator for V, then
every other exponent of a nonzero Taylor coefficient of p at a has larger c-weight than
v.
If the Lazard valuation v of p at a lies in V and c is an evaluator for V, then
the restriction of p to the curve y ↦ a + y ^ c has no terms of degree below the c-weight
of v.
If the Lazard valuation v of p at a lies in V and c is an evaluator for V, then
the coefficient of y to the c-weight of v in the restriction of p to the curve
y ↦ a + y ^ c is the Taylor coefficient of p at a with exponent v.
If the Lazard valuation of p at a lies in a set with evaluator c, then p does not
vanish identically on the curve y ↦ a + y ^ c.
Lazard valuations along monomial curves. If the Lazard valuation v of p at a lies
in V and c is an evaluator for V, then the restriction y ↦ p (a + y ^ c) of p to the
curve with coordinates aᵢ + y ^ cᵢ vanishes at y = 0 to order exactly the c-weight
∑ i, cᵢ vᵢ of v.
If the Lazard valuation v of p at a lies in V and c is an evaluator for V, then
the lowest coefficient of y ↦ p (a + y ^ c) is the Taylor coefficient of p at a with
exponent v.