Finite-Field Root Correctness #
Theorem statements and certified context constructors for the executable finite-field root backend.
Monic normalization preserves roots of nonzero polynomials.
Monic normalization preserves roots, including the zero polynomial case.
The normalized polynomial divides the original polynomial.
A root of a dividend is a root of the exact quotient when the divisor does not vanish at that point.
Monic normalization of an exact quotient preserves the quotient root from
eval_div_eq_zero_of_dvd_of_root_of_ne_root.
The specialized monic gcd and normalized extended gcd have the same root predicate.
The normalized extended-gcd first component contains every common root.
Roots extracted from a linear factor satisfy that factor.
Validation makes returned candidates sound for the original polynomial.
Raw modular exponentiation evaluates as ordinary exponentiation at roots of the modulus.
Every root of p is a root of the finite-field root product.
Every root of p is a root of the finite-field root product.
Every validated root extracted from the root product is a root of p.
Returned finite-field roots are roots of the original polynomial.
Returned finite-field roots are roots of the original polynomial.
Every explicit X - a factor is represented as a nonconstant linear factor.
The represented-linear recognizer accepts every explicit X - a factor.
The explicit X - a factor represents the root a.
If the represented-linear recognizer accepts p, then any root of p is its root candidate.
Evaluation of a modular X^n at a root of the modulus agrees with a^n.
Every root of a nonzero polynomial is returned by the finite-field backend.
Every root of a nonzero polynomial is returned by the finite-field backend.
The complete executable finite-field root pipeline is sound and complete for nonzero inputs under the finite-field and splitter contracts.