Lift a modular support into the sole canonical Hensel basis.
Equations
- HexBerlekampZassenhausMathlib.directLiftedSupport core B data S = HexBerlekampZassenhausMathlib.liftedSubsetOfModPSubset data (core.directLiftData B data) ⋯ S
Instances For
BHKS.supportProduct and the canonical finite-support product select the
same direct lifted factors.
One normalized irreducible integer factor, indexed by its direct modular support and carrying the exact congruence used by the CLD column proof.
- factor : Hex.ZPoly
The normalized integer factor represented by
S. - cofactor : Hex.ZPoly
The complementary integer factor.
- irreducible : Irreducible (HexPolyZMathlib.toPolynomial self.factor)
The represented integer factor is irreducible.
The factor and cofactor multiply to the input polynomial.
- represented : RepresentsIntegerFactorModP data self.factor S
The modular subset represents the integer factor.
The factor uses the chosen sign normalization.
- supportNonempty : Finset.Nonempty S
The modular support is not empty.
Direct coefficient recovery returns this factor.
- inputScale_coprime : (Hex.DensePoly.leadingCoeff core).gcd (Int.ofNat (data.p ^ Hex.precisionForCoeffBound B data.p)) = 1
The input leading coefficient is invertible modulo the lift modulus.
- scaledProduct_congr : (scaledLiftedFactorProduct core (core.directLiftData B data) (directLiftedSupport core B data S)).congr (Hex.DensePoly.scale (Hex.DensePoly.leadingCoeff self.cofactor) self.factor) ((core.directLiftData B data).p ^ (core.directLiftData B data).k)
The scaled lifted product agrees with the scaled factor modulo the lift modulus.
Instances For
View a direct factor certificate as the logarithmic-derivative recovery package used by the lattice geometry.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A certified direct factor divides the input polynomial.
A certified direct factor is nonzero.
A certified direct factor of a primitive input is primitive.
A certified normalized direct factor has positive leading coefficient.
A certified direct factor of a primitive input has positive degree.
Every local Hensel factor in a certified direct support divides the represented integer factor modulo the full lift modulus. The only scalar cancelled here is the cofactor leading coefficient, which is a unit because it divides the input leading coefficient.
The modular support representing a positive-degree irreducible integer divisor is nonempty.
Package a normalized irreducible divisor and its direct modular support as the single certificate consumed by the CLD proof.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The direct-coordinate true supports seen by the CLD lattice. The carrier is the canonical lift of a modular support and the witness is the exact factor certificate for that same support.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The full direct support partition covers every lifted factor index.
Two direct true supports containing the same lifted index are equal.
Every certified direct support is nonempty.
Direct true supports are in bijection with the normalized irreducible factors of the primitive square-free part.