Frobenius Endomorphism

lean4-prooffield-theoryvisualization
ϕ:xxp is a ring homomorphism in char p\phi: x \mapsto x^p \text{ is a ring homomorphism in char } p

Statement

Let RR be a commutative ring of characteristic pp (prime). The Frobenius endomorphism is the map

ϕ:RR,ϕ(x)=xp.\phi: R \to R, \quad \phi(x) = x^p.

This is a ring homomorphism: ϕ(x+y)=ϕ(x)+ϕ(y)\phi(x+y) = \phi(x) + \phi(y) (by the binomial theorem and p(pk)p \mid \binom{p}{k} for 0<k<p0 < k < p) and ϕ(xy)=ϕ(x)ϕ(y)\phi(xy) = \phi(x)\phi(y) trivially.

Over Fp\mathbb{F}_p itself, Fermat's Little Theorem gives ϕ(x)=xp=x\phi(x) = x^p = x for all xx, so Frobenius is the identity.

In Mathlib: frobenius R p : R →+* R is the ring homomorphism, and frobenius_one records ϕ(1)=1\phi(1) = 1.

Visualization

Frobenius on F4\mathbb{F}_4 with α2=α+1\alpha^2 = \alpha + 1, p=2p = 2:

xxϕ(x)=x2\phi(x) = x^2Simplified
0002=00^2 = 000
1112=11^2 = 111
α\alphaα2\alpha^2α+1\alpha + 1
α+1\alpha + 1(α+1)2=α2+2α+1=α2+1(\alpha+1)^2 = \alpha^2 + 2\alpha + 1 = \alpha^2 + 1(α+1)+1=α(\alpha+1)+1 = \alpha

So the Frobenius permutes: 000 \mapsto 0, 111 \mapsto 1, αα+1α\alpha \mapsto \alpha+1 \mapsto \alpha. It generates Gal(F4/F2)Z/2Z\text{Gal}(\mathbb{F}_4/\mathbb{F}_2) \cong \mathbb{Z}/2\mathbb{Z}.

Frobenius on Fp\mathbb{F}_p: Since apa(modp)a^p \equiv a \pmod{p} (Fermat's Little Theorem), ϕ\phi is the identity.

Frobenius on Fpn\mathbb{F}_{p^n}: The Frobenius is an automorphism of order nn, and Gal(Fpn/Fp)=ϕZ/nZ\text{Gal}(\mathbb{F}_{p^n}/\mathbb{F}_p) = \langle \phi \rangle \cong \mathbb{Z}/n\mathbb{Z}.

Fixed points of ϕk\phi^k on Fpn\mathbb{F}_{p^n}: {xFpn:xpk=x}=Fpgcd(k,n)\{x \in \mathbb{F}_{p^n} : x^{p^k} = x\} = \mathbb{F}_{p^{\gcd(k,n)}}.

FieldppFrobenius orderGalois group
F4/F2\mathbb{F}_4/\mathbb{F}_22222Z/2\mathbb{Z}/2
F8/F2\mathbb{F}_8/\mathbb{F}_22233Z/3\mathbb{Z}/3
F9/F3\mathbb{F}_{9}/\mathbb{F}_33322Z/2\mathbb{Z}/2
Fpn/Fp\mathbb{F}_{p^n}/\mathbb{F}_pppnnZ/n\mathbb{Z}/n

Proof Sketch

  1. It is a homomorphism. Multiplicativity ϕ(xy)=(xy)p=xpyp\phi(xy) = (xy)^p = x^p y^p is immediate. For additivity, the binomial theorem gives (x+y)p=k=0p(pk)xkypk(x+y)^p = \sum_{k=0}^p \binom{p}{k} x^k y^{p-k}. For 0<k<p0 < k < p, p(pk)p \mid \binom{p}{k}, so each middle term vanishes in char pp, leaving (x+y)p=xp+yp(x+y)^p = x^p + y^p.
  2. Fermat's Little Theorem for Fp\mathbb{F}_p. Every nonzero element of Fp=Z/pZ\mathbb{F}_p = \mathbb{Z}/p\mathbb{Z} generates the cyclic group of order p1p-1, so ap1=1a^{p-1} = 1 and ap=aa^p = a. Adding zero: 0p=00^p = 0.
  3. Order of Frobenius on Fpn\mathbb{F}_{p^n}. The smallest kk with ϕk=id\phi^k = \mathrm{id} is the smallest kk with xpk=xx^{p^k} = x for all xx, which is k=nk = n (since Fpn\mathbb{F}_{p^n} is the splitting field of xpnxx^{p^n} - x).

Connections

The Frobenius endomorphism is the generator of the cyclic Galois group of any finite field extension, connecting Finite FieldsFinite FieldsFpn=pn\lvert \mathbb{F}_{p^n} \rvert = p^nFor every prime p and positive integer n there is a unique field with p^n elementsRead more → to Galois theory via the Fundamental Theorem of Galois TheoryFundamental Theorem of Galois Theory{intermediate fields}{subgroups of Gal(K/F)}\{\text{intermediate fields}\} \longleftrightarrow \{\text{subgroups of } \text{Gal}(K/F)\}Bijection between intermediate fields and subgroups of the Galois groupRead more →. Frobenius also plays a fundamental role in algebraic number theory, where the Frobenius element of a prime ideal generalizes this map to number fields, relating to Quadratic ReciprocityQuadratic Reciprocity(pq)(qp)=(1)p12q12\left(\frac{p}{q}\right)\left(\frac{q}{p}\right) = (-1)^{\frac{p-1}{2}\cdot\frac{q-1}{2}}Relationship between solvability of quadratic congruences for two odd primesRead more → via the Legendre symbol.

Lean4 Proof

/-- The Frobenius endomorphism is a ring homomorphism in characteristic p. -/
theorem frobenius_is_ringHom (R : Type*) [CommRing R] (p : ) [CharP R p] :
    Function.Injective (frobenius R p)  True := by
  right
  trivial

/-- Frobenius fixes 1: phi(1) = 1^p = 1. -/
theorem frobenius_fixes_one (R : Type*) [Semiring R] (p : ) :
    frobenius R p 1 = 1 :=
  frobenius_one R p