Documentation

MIPRE.Foundations.LowDegree.BinaryNonresidueCorrectness

Correctness of the bounded odd-prime auxiliary construction #

The executable loop's invariant, including the primitive-order progress counter.

Instances For

    The exact specification of the factorization query made by a valid running state.

    On a nonterminal query, the selected factor has precisely the seed degree.

    Every executable step either certifies a nonresidue or advances primitive order.

    The bounded loop preserves its invariant with one progress count per fuel bit.

    theorem MIPRE.LowDegree.BinaryPolynomial.nonresidueInvariant_stopped (q m i : ℕ) (s : NonresidueState) (hq : Nat.Prime q) (hq2 : q ≠ 2) (hv : NonresidueInvariant q m i s) (hi : m ≤ i) :
    s.2.2.1 = true

    A valid state cannot still be running after the seed-degree budget is exhausted.

    The initial seed uses exactly its degree plus one coefficients.

    The polynomial-time auxiliary constructor returns a monic irreducible polynomial of the seed degree whose specified root is an odd-prime nonresidue.

    The auxiliary degree is exactly the multiplicative order of two modulo the prime.

    The auxiliary degree is coprime to the requested odd prime.