Sturm–Tarski on closed half-lines #
The sign sum on [a, ∞) is V(a⁺) - V(+∞) plus the query sign at a if a is a root.
Likewise the sign sum on (-∞, b] is V(-∞) - V(b⁻) plus the endpoint contribution.
These formulas complement the open half-line formulas in Sturm.Infinity. They apply to
positively scaled signed remainder chains, including singleton chains and chains with a
nonconstant terminal common factor. Specializing to Polynomial.sturmSeq computes sign sums
and distinct root counts without requiring squarefreeness or excluding endpoint roots.
A nonzero head polynomial is required. In particular, the empty root multiset of the zero polynomial is not interpreted as its zero set. All statements are over an arbitrary ordered real closed field; no Archimedean or completeness assumption is used.
References #
S. Basu, R. Pollack, and M.-F. Roy, Algorithms in Real Algebraic Geometry, second edition, §2.2.2 (Sturm–Tarski and endpoint contributions).
Sturm–Tarski on [a, ∞), with the contribution of the closed endpoint added explicitly.
Sturm–Tarski on (-∞, b], with the contribution of the closed endpoint added explicitly.
Sturm–Tarski for Mathlib's signed remainder sequence on [a, ∞).
Sturm–Tarski for Mathlib's signed remainder sequence on (-∞, b].
Sturm counting of distinct roots in [a, ∞), including a possible root at a.
Sturm counting of distinct roots in (-∞, b], including a possible root at b.