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-canonically chosen extension of any given degree n > 0.

Equations
    Instances For
      instance FiniteField.instFieldExtension (k : Type u_1) [Field k] (p : ) [Fact (Nat.Prime p)] (n : ) [CharP k p] :
      Equations
        instance FiniteField.instFiniteExtension (k : Type u_1) [Field k] (p : ) [Fact (Nat.Prime p)] (n : ) [CharP k p] :
        Equations
          instance FiniteField.instAlgebraZModExtension (k : Type u_1) [Field k] (p : ) [Fact (Nat.Prime p)] (n : ) [CharP k p] :
          Algebra (ZMod p) (Extension k p n)
          Equations
            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
              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