Documentation

Mathlib.FieldTheory.Finite.GaloisField

Galois fields #

If p is a prime number, and n a natural number, then GaloisField p n is defined as the splitting field of X^(p^n) - X over ZMod p. It is a finite field with p ^ n elements.

Main definition #

Main Results #

theorem galois_poly_separable {K : Type u_1} [CommRing K] (p q : ) [CharP K p] (h : p q) :
def GaloisField (p : ) [Fact (Nat.Prime p)] (n : ) :

A finite field with p ^ n elements. Every field with the same cardinality is (non-canonically) isomorphic to this field.

Instances For
    @[implicit_reducible]
    noncomputable instance instInhabitedGaloisField (p : ) [Fact (Nat.Prime p)] (n : ) :
    Inhabited (GaloisField p n)
    @[implicit_reducible]
    noncomputable instance instFieldGaloisField (p : ) [Fact (Nat.Prime p)] (n : ) :
    @[implicit_reducible]
    noncomputable instance instCharPGaloisField (p : ) [Fact (Nat.Prime p)] (n : ) :
    @[implicit_reducible]
    noncomputable instance instAlgebraZModGaloisField (p : ) [Fact (Nat.Prime p)] (n : ) :
    @[implicit_reducible]
    noncomputable instance instFiniteGaloisField (p : ) [Fact (Nat.Prime p)] (n : ) :
    @[implicit_reducible]
    noncomputable instance instFiniteDimensionalZModGaloisField (p : ) [Fact (Nat.Prime p)] (n : ) :
    theorem GaloisField.finrank (p : ) [h_prime : Fact (Nat.Prime p)] {n : } (h : n 0) :
    theorem GaloisField.card (p : ) [h_prime : Fact (Nat.Prime p)] (n : ) (h : n 0) :
    Nat.card (GaloisField p n) = p ^ n
    noncomputable def GaloisField.equivZmodP (p : ) [h_prime : Fact (Nat.Prime p)] :

    A Galois field with exponent 1 is equivalent to ZMod

    Instances For
      theorem FiniteField.isSplittingField_of_card_eq (p : ) [h_prime : Fact (Nat.Prime p)] (n : ) {K : Type u_1} [Field K] [Fintype K] [Algebra (ZMod p) K] (h : Fintype.card K = p ^ n) :
      noncomputable def GaloisField.algEquivGaloisFieldOfFintype (p : ) [h_prime : Fact (Nat.Prime p)] (n : ) {K : Type u_1} [Field K] [Fintype K] [Algebra (ZMod p) K] (h : Fintype.card K = p ^ n) :

      Any finite field is (possibly noncanonically) isomorphic to some Galois field.

      Instances For
        theorem FiniteField.isSplittingField_of_nat_card_eq (p : ) [h_prime : Fact (Nat.Prime p)] (n : ) {K : Type u_1} [Field K] [Algebra (ZMod p) K] (h : Nat.card K = p ^ n) :
        @[instance 100]
        instance GaloisField.instIsGaloisOfFinite {K : Type u_2} {K' : Type u_3} [Field K] [Field K'] [Finite K'] [Algebra K K'] :
        noncomputable def GaloisField.algEquivGaloisField (p : ) [h_prime : Fact (Nat.Prime p)] (n : ) {K : Type u_1} [Field K] [Algebra (ZMod p) K] (h : Nat.card K = p ^ n) :

        Any finite field is (possibly noncanonically) isomorphic to some Galois field.

        Instances For
          theorem FiniteField.algebraMap_norm_eq_pow {K : Type u_1} {K' : Type u_2} [Field K] [Field K'] [Algebra K K'] [Finite K'] {x : K'} :
          (algebraMap K K') ((Algebra.norm K) x) = x ^ ((Nat.card K' - 1) / (Nat.card K - 1))
          theorem FiniteField.unitsMap_norm_surjective (K : Type u_1) (K' : Type u_2) [Field K] [Field K'] [Algebra K K'] [Finite K'] :
          Function.Surjective (Units.map (Algebra.norm K))
          theorem FiniteField.norm_surjective (K : Type u_1) (K' : Type u_2) [Field K] [Field K'] [Algebra K K'] [Finite K'] :
          Function.Surjective (Algebra.norm K)
          noncomputable def FiniteField.algEquivOfCardEq {K : Type u_1} {K' : Type u_2} [Field K] [Field K'] [Fintype K] [Fintype K'] (p : ) [h_prime : Fact (Nat.Prime p)] [Algebra (ZMod p) K] [Algebra (ZMod p) K'] (hKK' : Fintype.card K = Fintype.card K') :

          Uniqueness of finite fields: Any two finite fields of the same cardinality are (possibly noncanonically) isomorphic

          Instances For
            noncomputable def FiniteField.ringEquivOfCardEq {K : Type u_1} {K' : Type u_2} [Field K] [Field K'] [Fintype K] [Fintype K'] (hKK' : Fintype.card K = Fintype.card K') :
            K ≃+* K'

            Uniqueness of finite fields: Any two finite fields of the same cardinality are (possibly noncanonically) isomorphic

            Instances For
              theorem FiniteField.nonempty_algHom_of_finrank_dvd {F : Type u_3} {K : Type u_4} {L : Type u_5} [Field F] [Field K] [Algebra F K] [Field L] [Algebra F L] [Finite L] (h : Module.finrank F K Module.finrank F L) :
              Nonempty (K →ₐ[F] L)
              theorem FiniteField.natCard_algHom_of_finrank_dvd {F : Type u_3} {K : Type u_4} {L : Type u_5} [Field F] [Field K] [Algebra F K] [Field L] [Algebra F L] [Finite L] (h : Module.finrank F K Module.finrank F L) :
              theorem FiniteField.card_algHom_of_finrank_dvd {F : Type u_3} {K : Type u_4} {L : Type u_5} [Field F] [Field K] [Algebra F K] [Field L] [Algebra F L] [Finite L] [Finite K] (h : Module.finrank F K Module.finrank F L) :
              theorem FiniteField.nonempty_algHom_iff_finrank_dvd {F : Type u_3} {K : Type u_4} {L : Type u_5} [Field F] [Field K] [Algebra F K] [Field L] [Algebra F L] [Finite L] :
              Nonempty (K →ₐ[F] L) Module.finrank F K Module.finrank F L