Frobenius polynomial identities #
This file establishes fundamental identities involving the Frobenius endomorphism for polynomials over finite fields. The main results include factorization identities, Frobenius polynomial identities, and divisibility conditions for irreducible polynomials.
Main Definitions and Theorems #
Field Vanishing Polynomial Equality:
prod_X_sub_C_eq_X_pow_card_sub_X: The identity∏_{c ∈ Fq} (X - c) = X^q - XinFq[X]prod_X_sub_C_eq_X_pow_card_sub_X_in_L: Lifted version for field extensionsL[X]prod_poly_sub_C_eq_poly_pow_card_sub_poly_in_L: General version∏_{c ∈ Fq} (p - c) = p^q - pfor any polynomialpinL[X]
Frobenius Polynomial Identity:
frobenius_identity_in_ground_field:(f + g)^q = f^q + g^qinFq[X](Freshman's Dream)frobenius_identity_in_algebra: Lifted version forFq-algebrasL[X]aeval_pow_card_eq_aeval_pow_card:(aeval x f)^q = aeval (x^q) ffor polynomial evaluationaeval_pow_card_pow_eq_aeval_pow_card_pow: Iterated version(aeval x f)^(q^n) = aeval (x^(q^n)) f
Frobenius Polynomial Divisibility:
X_pow_sub_one_dvd_X_pow_sub_one_of_dvd: Ifk ∣ n, thenX^k - 1 ∣ X^n - 1X_pow_card_pow_dvd_X_pow_card_pow_of_dvd: Ifd ∣ n, thenX^(q^d) - X ∣ X^(q^n) - Xirreducible_dvd_X_pow_card_pow_sub_X: An irreducible polynomialpof degreeddividesX^(q^d) - Xdegree_dvd_of_irreducible_dvd_X_pow_card_pow_sub_X: If irreduciblepdividesX^(q^n) - X, thendeg(p) ∣ nirreducible_dvd_X_pow_sub_X_iff_natDegree_dvd: Fundamental theorem:p ∣ X^(c^n) - X ↔ deg(p) ∣ n, with the field size as a numeralctogether withFintype.card R = cirreducible_dvd_X_pow_add_X_iff_natDegree_dvd: its characteristic-two form, stated with+ Xas the binary fields write it
TODOs #
- potentially generalize the Frobenius theorems to generic algebras?
An algebra over a field of positive characteristic inherits its exponential characteristic:
if ringChar Fq ≠ 0, then ExpChar K (ringChar Fq) for any Fq-algebra K that is a field.
Named as an instance but kept a theorem deliberately — it is introduced locally where a Frobenius
argument needs it, rather than added to the instance graph for every algebra.
The identity ∏_{c ∈ Fq} (X - c) = X^q - X also holds in the polynomial ring L[X],
where L is any field extension of Fq.
The Frobenius identity for polynomials in Fq[X].
The q-th power of a sum of polynomials is the sum of their q-th powers.
The lifted Frobenius identity for polynomials in L[X], where L is an Fq-algebra.
The exponent q is the cardinality of the base field Fq.
Restricting a linear map on polynomial composition to a linear map on polynomial evaluation.
Frobenius endomorphism interaction with polynomial evaluation. (aeval x f)^|Fq| = aeval (x^|Fq|) f
Iterated Frobenius endomorphism interaction with polynomial evaluation. (aeval x f)^(|Fq|^n) = aeval (x^|Fq|^n) f
Lemma 2: Frobenius Divisibility Transitivity
If d divides n, then X^(q^d) - X divides X^(q^n) - X.
This allows us to say: "If a poly divides the small Frobenius, it divides the big one."
Lemma 3: Irreducible Divides Own Frobenius (The Base Case)
An irreducible polynomial p of degree d divides X^(q^d) - X.
Proof:
- Consider the extension
K = Fq[x]/(p). - The group of units
K*has orderq^d - 1. - So every element
αsatisfiesα^(q^d - 1) = 1(ifα ≠ 0). - Thus
α^(q^d) = αfor allα. X^(q^d) - Xhasroot pas a root.- Since
pis the minimal polynomial of its root,pdivides the target.
Theorem: The Rabin Condition (One Direction)
If p is irreducible, and p divides X^(q^n) - X, then deg(p) divides n.
Fundamental Theorem of Irreducible Polynomials over Finite Fields:
For an irreducible polynomial q over a finite field R with c elements:
q ∣ X^(c^n) - X ↔ deg q ∣ n.
The field size enters as a numeral c together with hcard : Fintype.card R = c, rather than
being read off as Fintype.card R. A concrete field then states the divisibility at its own
field-size literal and supplies hcard as ZMod.card _; a caller with no numeral in hand passes
rfl and recovers the Fintype.card R statement verbatim. See the section comment in
CompPoly/Data/Polynomial/Rabin.lean for why every criterion in the library is shaped this way.
The characteristic-two form of irreducible_dvd_X_pow_sub_X_iff_natDegree_dvd, stated with + X
as a binary field writes it: q ∣ X^(c^n) + X ↔ deg q ∣ n.
Over GF(2) the two spellings are the same polynomial, but only one of them is syntactically
what a caller has. Absorbing CharTwo.sub_eq_add here — once, at a statement generic in c and
n — means the concrete caller applies this as a term instead of rewriting a hypothesis whose
type carries a large exponent such as X ^ 2 ^ 128.