The absolute polynomial X^(2^k) - X in characteristic two.
Packed GF(2) subtraction is addition, so this is represented as
X^(2^k) + X.
Equations
Instances For
The executable Frobenius remainder vanishes exactly when f divides the
absolute Rabin polynomial X^(2^k) - X.
This is the GF2 counterpart of the absolute-to-modular identity used by the generic Berlekamp Rabin soundness proof.
Backward Rabin algebraic content packaged at the executable level.
For an irreducible packed polynomial g of positive degree d, the
iterated-squaring chain xpow2kMod g d returns to the residue class of X.
Equivalently, the residue field element X mod g is fixed by the d-fold
Frobenius endomorphism α ↦ α^(2^d) — the standard Fermat–Euler statement
for the residue field F_2[X]/(g) (which has 2^d elements when g is
irreducible).
This is the deepest finite-field ingredient of Rabin's test: once it is
available, irreducible_dvd_xPowSubX_degree follows by char-2 cancellation.
Backward Rabin degree theorem for packed GF2 polynomials.
An irreducible g of degree d > 0 divides X^(2^d) - X. The proof
combines char-2 cancellation with xpow2kMod_eq_modX_at_degree, which
carries the residue-field Fermat–Euler argument.
Every positive proper divisor of n is contained in a maximal proper divisor
of n.
This routes an irreducible factor degree to one of the gcd legs checked by
rabinTest.
A divisor of a unit polynomial is a unit polynomial.
For packed GF2 this is a degree argument over the executable divisibility relation.
Rabin divisibility is equivalent to the quotient class of X being fixed by
k iterated Frobenius squarings in GF2nPoly g hg_irr.
This is the packed quotient identity used by the finite-field part of Rabin
soundness: absolute divisibility by X^(2^k) - X is the same as
X^(2^k) = X in the quotient by g.
If the quotient class of X is fixed by the n-fold Frobenius squaring in
GF2[x]/(g), then the irreducible modulus degree divides n.
This is the quotient-facing period statement used by the Rabin soundness
orchestration layer; the divisibility/equality translation stays centralized in
dvd_xPowSubX_iff_quotient_X_frobeniusIter_eq_X.
Forward Rabin degree theorem for packed GF2 polynomials.
If an irreducible g of positive degree divides X^(2^n) - X, then
deg g divides n.
A positive-degree polynomial is not a unit polynomial.
The m-th maximal-proper-divisor witness of rabinTest: if the test passes,
the gcd leg holds at every maximal proper divisor.
If gcd(f, q) is a unit polynomial and g divides both f and q, then
g is itself a unit polynomial.
Every nonconstant factor of a packed GF2 polynomial has an irreducible factor.
The proof is the usual descent on degree, specialized to the project-side
GF2Poly.Irreducible predicate and the packed divisibility relation. The
hypothesis a * b = f is irrelevant to the construction; descent operates
purely on a via strong induction on a.natDegree.
Soundness of the executable Rabin test against
Hex.GF2Poly.Irreducible.
The proof decomposes the Boolean test, picks an irreducible factor of any nontrivial factorization, routes its degree through a maximal proper divisor, and contradicts the corresponding gcd leg.
Accepted executable irreducibility certificates imply project-side
GF2Poly.Irreducible, composing checker soundness with Rabin soundness.
The linear-time variant of the certificate checker also implies
project-side GF2Poly.Irreducible, composing the linear soundness theorem
with Rabin soundness.