Documentation

Mathlib.FieldTheory.Finite.Extension

Extensions of finite fields #

In this file we develop the theory of extensions of finite fields.

If k is a finite field (of cardinality q = p ^ m), then there is a unique (up to in general non-unique isomorphism) extension l of k of any given degree n > 0.

This extension is Galois with cyclic Galois group of degree n, and the (arithmetic) Frobenius map x ↦ x ^ q is a generator.

Main definition #

Main Results #

def FiniteField.Extension (k : Type u_1) [Field k] (p : ) [Fact (Nat.Prime p)] (n : ) [CharP k p] :

Given a finite field k of characteristic p, we have a non-canoncailly chosen extension of any given degree n > 0.

Equations
Instances For
    instance FiniteField.instFiniteExtension (k : Type u_1) [Field k] (p : ) [Fact (Nat.Prime p)] (n : ) [CharP k p] :
    Equations
    • =
    Equations
    • =
    theorem FiniteField.finrank_zmod_extension (k : Type u_1) [Field k] [Finite k] (p : ) [Fact (Nat.Prime p)] [CharP k p] (n : ) [NeZero n] [Algebra (ZMod p) k] :
    theorem FiniteField.nonempty_algHom_extension (k : Type u_1) [Field k] [Finite k] (p : ) [Fact (Nat.Prime p)] [CharP k p] (n : ) [NeZero n] [Algebra (ZMod p) k] :
    noncomputable instance FiniteField.instAlgebraExtension (k : Type u_1) [Field k] [Finite k] (p : ) [Fact (Nat.Prime p)] [CharP k p] (n : ) [NeZero n] :
    Algebra k (Extension k p n)
    Equations
    instance FiniteField.instFiniteExtension_1 (k : Type u_1) [Field k] [Finite k] (p : ) [Fact (Nat.Prime p)] [CharP k p] (n : ) [NeZero n] :
    instance FiniteField.instIsScalarTowerZModExtension (k : Type u_1) [Field k] [Finite k] (p : ) [Fact (Nat.Prime p)] [CharP k p] (n : ) [NeZero n] [Algebra (ZMod p) k] :
    theorem FiniteField.natCard_extension (k : Type u_1) [Field k] [Finite k] (p : ) [Fact (Nat.Prime p)] [CharP k p] (n : ) [NeZero n] :
    theorem FiniteField.finrank_extension (k : Type u_1) [Field k] [Finite k] (p : ) [Fact (Nat.Prime p)] [CharP k p] (n : ) [NeZero n] :
    theorem FiniteField.natCard_algEquiv_extension (k : Type u_1) [Field k] [Finite k] (p : ) [Fact (Nat.Prime p)] [CharP k p] (n : ) [NeZero n] :
    Nat.card Gal(Extension k p n/k) = n
    theorem FiniteField.card_algEquiv_extension (k : Type u_1) [Field k] [Finite k] (p : ) [Fact (Nat.Prime p)] [CharP k p] (n : ) [NeZero n] :
    Fintype.card Gal(Extension k p n/k) = n
    noncomputable def FiniteField.Extension.frob (k : Type u_1) [Field k] [Finite k] (p : ) [Fact (Nat.Prime p)] [CharP k p] (n : ) [NeZero n] :
    Gal(Extension k p n/k)

    The Frobenius automorphism x ↦ x ^ Nat.card k that fixes k.

    Equations
    Instances For
      @[simp]
      theorem FiniteField.Extension.frob_apply (k : Type u_1) [Field k] [Finite k] (p : ) [Fact (Nat.Prime p)] [CharP k p] (n : ) [NeZero n] {x : Extension k p n} :
      (frob k p n) x = x ^ Nat.card k
      theorem FiniteField.Extension.exists_frob_pow_eq (k : Type u_1) [Field k] [Finite k] (p : ) [Fact (Nat.Prime p)] [CharP k p] (n : ) [NeZero n] (g : Gal(Extension k p n/k)) :
      i < n, frob k p n ^ i = g
      noncomputable def FiniteField.algEquivExtension (k : Type u_1) [Field k] [Finite k] (p : ) [Fact (Nat.Prime p)] [CharP k p] (n : ) [NeZero n] (l : Type u_2) [Field l] [Algebra k l] (h : Module.finrank k l = n) :

      Given any field extension of finite fields l/k of degree n, we have a non-unique isomorphism between l and our chosen Extension k p n.

      Equations
      Instances For