Executable FpPoly p multiplication transports to Mathlib multiplication
through HexBerlekampMathlib.fpPolyEquiv.
The executable 1 : FpPoly p transports to Mathlib's 1.
The executable constant polynomial DensePoly.C c transports to Mathlib's
Polynomial.C of the ZMod p cast of c.
Coefficientwise scaling on FpPoly p transports across
HexBerlekampMathlib.toMathlibPolynomial to multiplication by the
corresponding Polynomial.C of the ZMod p cast.
List foldl (· * ·) of executable FpPoly p factors transports across
HexBerlekampMathlib.toMathlibPolynomial to the explicit Mathlib List.prod
of the per-factor transports.
The Mathlib transport of Hex.PrimeFactorData.factorProduct is the Mathlib
List.prod of the recorded factor transports.
Coefficientwise reduction Hex.ZPoly.modP transports to Mathlib's coefficient
map from ℤ[X] to (ZMod p)[X]. This keeps certificate soundness independent
of the integer-reduction branch proofs.
A successful PrimeFactorData.checkForPolynomial block exposes the Mathlib
factor-product / modular-image alignment: the Mathlib transport of the
recorded factorProduct equals the Mathlib Polynomial.map (Int.castRingHom (ZMod p))
image of the underlying integer polynomial.
A successful PrimeFactorData.checkForPolynomial block exposes the Mathlib
modular image of the underlying integer polynomial as the explicit product of
recorded factor transports.
This is the shape used by the integer irreducibility certificate soundness
composition: the Mathlib (toPolynomial f).map (Int.castRingHom (ZMod p))
factors through the explicit Mathlib List.prod of executable monic factor
transports, enabling UFD-level identification of factor degrees against
factorDegrees.