Field-generic square-free-core root transfer. Over a characteristic-zero
field, if q = c * r (with q ≠ 0) and r divides the derivative q', then a
point is a root of c iff it is a root of q. The root-multiplicity argument:
at a root a of multiplicity m ≥ 1, q' has multiplicity m − 1
(characteristic zero), so r ∣ q' forces the r-multiplicity of a below m,
leaving c with multiplicity at least one; conversely any root of c is a root
of the product q. Hex-free; a candidate Mathlib contribution.
aeval at a real point of an embedded integer polynomial is the evaluation
of its real cast.
The real cast is the composition of the rational cast with ℚ → ℝ.
Executable-to-real divisibility. The real cast of the repeated part
divides the derivative of the real cast of the primitive part: the executable
rational divisibility, transported through ℚ and then ℚ → ℝ.
Square-free core preserves real roots. A nonzero integer polynomial and
its executable square-free core have exactly the same real roots, stated through
aeval at real points. Shared with the rcf decision procedure (step 3) and
consumed by the isolate_roots elaborator to reduce to square-free input.