Documentation

HexBerlekampZassenhausMathlib.IntReductionMod

Mathlib-side abstract-bound wrapper for the slow-trial exhaustive arm.

Specialises the Mathlib-free Hex.exhaustiveIntegerTrialCoreFactorsWithBound_factor_irreducible (HexBerlekampZassenhaus) to the normalized square-free square-free part of an f ≠ 0 input, discharging the four input-shape hypotheses (ne_zero, Primitive, 0 < leadingCoeff, SquareFreeRat) from hf_ne via the existing helpers:

The divisor coefficient bound hbound stays explicit so the public-bound specialisation below (B := Hex.ZPoly.defaultFactorCoeffBound f, required by the slow-trial arm of the h_raw selection in factor_entry_zpolyIrreducible_of_chosen_raw_zpolyIrreducible) can discharge it through the g ∣ (Hex.normalizeForFactor f).squareFreeCore → g ∣ f divisibility chain via primitiveSquareFreeDecomposition_reassembly_signed and the primitive-part divisibility relation.

Input-polynomial bound specialization of factors_irreducible_of_bound at the outer bound B := Hex.ZPoly.defaultFactorCoeffBound f consumed by the slow-trial arm of the h_raw selection.

The divisor coefficient bound is discharged by lifting defaultFactorCoeffBound_valid f along Hex.squareFreeCore_dvd_self: any divisor of the primitive square-free part also divides f, so its coefficients are bounded by Hex.ZPoly.defaultFactorCoeffBound f.

Slow-trial exhaustive-arm reassembly discharger (Mathlib-side).

When the slow trial path takes the exhaustive branch, the reassembly of the integer-trial factors of the square-free part of (normalizeForFactor f).squareFreeCore at the public bound B := Hex.ZPoly.defaultFactorCoeffBound f is expansion-complete. The integer-trial analog of reassemblyExpansionComplete_quadraticIntegerRootFactors_of_ne_zero: it composes the public-bound primitive-square-free-part irreducibility wrapper, the polyProduct / normalizeFactorSign / degree-positivity companions, and the non-monic expansion-complete surface reassemblyExpansionComplete_of_irreducible_squarefree_cover_of_pos_lc. Per-factor positive leading coefficient follows from the sign-normalisation identity and irreducibility; the fuel bound from the per-factor factorPower size lower bound and size_le_of_dvd_nonzero.

Trial-branch raw-factor irreducibility (hybrid guard form).

Trial-branch raw-factor irreducibility for the cost-based hybrid, where the trial arm fires as the totality backstop. Because the deg-0 (constant-part) short-circuit is reachable, the raw output can contain the unit 1, so the statement carries the shouldRecordPolynomialFactor guard that excludes it. The two positive-degree arms reuse the quadratic and exhaustive integer-trial completeness/irreducibility content.