The type FpPoly p × ZMod64 p × Berlekamp.IrreducibilityCertificate of a
certified-cover entry, at a reified prime and bounds instance.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reify one certified-cover entry (m, c, cert).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The untrusted factor search for f : FpPoly p: leading unit plus monic
irreducible factors with repetition, in nondecreasing size order. Correctness
is carried entirely by the emitted kernel checks.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Deduplicate a factor list by coefficient equality (order-preserving).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build the certified-cover entries for the distinct factors: each factor is
monic by construction, so the entry is (q, 1, cert). Errors if a Rabin
certificate cannot be produced (the factors come from Berlekamp on square-free
parts, so this indicates an internal error) or if a replay is over budget.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Constructs the value emitted by factor_poly for
f : FpPoly p: returns the Hex.FpPoly.Factored f value as a raw Expr
over reified literal data.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Elaborate factor_poly f for f : FpPoly p: check primality and bounds
for the literal modulus, then run the instance-carrying implementation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Elaborate a factor_poly argument and produce the structure value,
trying registered extensions for non-FpPoly input types.
Equations
- One or more equations did not get rendered due to their size.
Instances For
factor_poly f elaborates to a certified irreducible factorization of
f (a Hex.FpPoly.Factored f for f : FpPoly p; extensions add further
input types), usable as
obtain ⟨scalar, factors, factors_mul, factors_irred⟩ := factor_poly f.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Term elaborator for factor_poly f: runs the search in compiled code and
returns the checked certificate term.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Introduce the four fields of a recognized factorization result as
scalar/factors let bindings plus factors_mul/factors_irred
hypotheses. Inspecting the result type rather than the emitted constructor
lets extension assemblers return opaque Hex.FactoredPoly terms while exposing
the same tactic interface as the executable FpPoly and ZPoly extensions.
Unrecognized extension result types land as a single factored hypothesis.
Shared by the factor_poly and factor_poly! tactic forms.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The tactic form of factor_poly: introduces scalar and factors as
let bindings holding the literal factorization data, plus factors_mul and
factors_irred hypotheses stated over them.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Tactic elaborator for factor_poly f: elaborates the certificate and
introduces its four fields into the local context.
Equations
- One or more equations did not get rendered due to their size.