Monic-guarded wrapper around the incremental linear certificate checker:
true only when m is monic and the certificate replays. Folding the monicity
guard into the Boolean lets reified applications avoid constructing a
DensePoly.Monic proof term.
Equations
- Hex.Berlekamp.checkMonicCert m cert = if hmonic : Hex.DensePoly.leadingCoeff m = 1 then Hex.Berlekamp.checkIrreducibilityCertificateLinearIncremental m hmonic cert else false
Instances For
A passing checkMonicCert forces irreducibility of the (necessarily monic)
input.
Kernel-decidable irreducibility for a possibly non-monic f : FpPoly p:
f reconstructs as scale c m for a monic m whose Rabin certificate
replays, with a nonzero scalar and a prime modulus. Every hypothesis is a
Boolean check on literal data.
Bulk kernel-decidable irreducibility for a factor list with repetition:
certified carries one (monic, scalar, certificate) entry per distinct
factor, and every listed factor must match some entry's scale scalar monic
by beqCoeffs. Each certificate is replayed once regardless of multiplicity;
repeated factors cost only a coefficient comparison.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A passing checkIrredCover forces irreducibility of every listed factor.
The single Boolean hypothesis is the factors_irred slot of a reified
FpPoly.Factored value.