Documentation

HexBerlekamp.IrreducibleDecide

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
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
      theorem Hex.Berlekamp.irreducible_of_checkIrredCover {p : Nat} [ZMod64.Bounds p] (hp : Nat.isPrimeTrial p = true) (factors : List (FpPoly p)) (certified : List (FpPoly p × ZMod64 p × IrreducibilityCertificate)) (hcheck : checkIrredCover factors certified = true) (q : FpPoly p) :
      q factorsq.Irreducible

      A passing checkIrredCover forces irreducibility of every listed factor. The single Boolean hypothesis is the factors_irred slot of a reified FpPoly.Factored value.