HepLean Documentation

Mathlib.NumberTheory.NumberField.Units.DirichletTheorem

Dirichlet theorem on the group of units of a number field #

This file is devoted to the proof of Dirichlet unit theorem that states that the group of units (π“ž K)Λ£ of units of the ring of integers π“ž K of a number field K modulo its torsion subgroup is a free β„€-module of rank card (InfinitePlace K) - 1.

Main definitions #

Main results #

Tags #

number field, units, Dirichlet unit theorem

Dirichlet Unit Theorem #

We define a group morphism from (π“ž K)Λ£ to {w : InfinitePlace K // w β‰  wβ‚€} β†’ ℝ where wβ‚€ is a distinguished (arbitrary) infinite place, prove that its kernel is the torsion subgroup (see logEmbedding_eq_zero_iff) and that its image, called unitLattice, is a full β„€-lattice. It follows that unitLattice is a free β„€-module (see instModuleFree_unitLattice) of rank card (InfinitePlaces K) - 1 (see unitLattice_rank). To prove that the unitLattice is a full β„€-lattice, we need to prove that it is discrete (see unitLattice_inter_ball_finite) and that it spans the full space over ℝ (see unitLattice_span_eq_top); this is the main part of the proof, see the section span_top below for more details.

The distinguished infinite place.

Equations
  • NumberField.Units.dirichletUnitTheorem.wβ‚€ = β‹―.some
Instances For
    def NumberField.Units.logEmbedding (K : Type u_1) [Field K] [NumberField K] :
    Additive (NumberField.RingOfIntegers K)Λ£ β†’+ { w : NumberField.InfinitePlace K // w β‰  NumberField.Units.dirichletUnitTheorem.wβ‚€ } β†’ ℝ

    The logarithmic embedding of the units (seen as an Additive group).

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem NumberField.Units.dirichletUnitTheorem.logEmbedding_component {K : Type u_1} [Field K] [NumberField K] (x : (NumberField.RingOfIntegers K)Λ£) (w : { w : NumberField.InfinitePlace K // w β‰  NumberField.Units.dirichletUnitTheorem.wβ‚€ }) :
      (NumberField.Units.logEmbedding K) (Additive.ofMul x) w = ↑(↑w).mult * Real.log (↑w ((algebraMap (NumberField.RingOfIntegers K) K) ↑x))
      theorem NumberField.Units.dirichletUnitTheorem.sum_logEmbedding_component {K : Type u_1} [Field K] [NumberField K] (x : (NumberField.RingOfIntegers K)Λ£) :
      βˆ‘ w : { w : NumberField.InfinitePlace K // w β‰  NumberField.Units.dirichletUnitTheorem.wβ‚€ }, (NumberField.Units.logEmbedding K) (Additive.ofMul x) w = -↑NumberField.Units.dirichletUnitTheorem.wβ‚€.mult * Real.log (NumberField.Units.dirichletUnitTheorem.wβ‚€ ((algebraMap (NumberField.RingOfIntegers K) K) ↑x))
      theorem NumberField.Units.dirichletUnitTheorem.logEmbedding_component_le {K : Type u_1} [Field K] [NumberField K] {r : ℝ} {x : (NumberField.RingOfIntegers K)Λ£} (hr : 0 ≀ r) (h : β€–(NumberField.Units.logEmbedding K) xβ€– ≀ r) (w : { w : NumberField.InfinitePlace K // w β‰  NumberField.Units.dirichletUnitTheorem.wβ‚€ }) :
      |(NumberField.Units.logEmbedding K) (Additive.ofMul x) w| ≀ r
      noncomputable def NumberField.Units.unitLattice (K : Type u_1) [Field K] [NumberField K] :
      Submodule β„€ ({ w : NumberField.InfinitePlace K // w β‰  NumberField.Units.dirichletUnitTheorem.wβ‚€ } β†’ ℝ)

      The lattice formed by the image of the logarithmic embedding.

      Equations
      Instances For

        Section span_top #

        In this section, we prove that the span over ℝ of the unitLattice is equal to the full space. For this, we construct for each infinite place w₁ β‰  wβ‚€ a unit u_w₁ of K such that, for all infinite places w such that w β‰  w₁, we have Real.log w (u_w₁) < 0 (and thus Real.log w₁ (u_w₁) > 0). It follows then from a determinant computation (using Matrix.det_ne_zero_of_sum_col_lt_diag) that the image by logEmbedding of these units is a ℝ-linearly independent family. The unit u_w₁ is obtained by constructing a sequence seq n of nonzero algebraic integers that is strictly decreasing at infinite places distinct from w₁ and of norm ≀ B. Since there are finitely many ideals of norm ≀ B, there exists two term in the sequence defining the same ideal and their quotient is the desired unit u_w₁ (see exists_unit).

        This result shows that there always exists a next term in the sequence.

        An infinite sequence of nonzero algebraic integers of K satisfying the following properties: β€’ seq n is nonzero; β€’ for w : InfinitePlace K, w β‰  w₁ β†’ w (seq n+1) < w (seq n); β€’ ∣norm (seq n)∣ ≀ B.

        Equations
        Instances For

          The sequence is strictly decreasing at infinite places distinct from w₁.

          The terms of the sequence have norm bounded by B.

          Construct a unit associated to the place w₁. The family, for w₁ β‰  wβ‚€, formed by the image by the logEmbedding of these units is ℝ-linearly independent, see unitLattice_span_eq_top.

          The unit rank of the number field K, it is equal to card (InfinitePlace K) - 1.

          Equations
          Instances For
            theorem NumberField.Units.finrank_eq_rank (K : Type u_1) [Field K] [NumberField K] :
            Module.finrank ℝ ({ w : NumberField.InfinitePlace K // w β‰  NumberField.Units.dirichletUnitTheorem.wβ‚€ } β†’ ℝ) = NumberField.Units.rank K

            The map obtained by quotienting by the kernel of logEmbedding.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              The linear equivalence between (π“ž K)Λ£ β§Έ (torsion K) as an additive β„€-module and unitLattice .

              Equations
              Instances For
                @[simp]

                A fundamental system of units of K. The units of fundSystem are arbitrary lifts of the units in basisModTorsion.

                Equations
                Instances For
                  theorem NumberField.Units.fun_eq_repr (K : Type u_1) [Field K] [NumberField K] {x : (NumberField.RingOfIntegers K)Λ£} {ΞΆ : (NumberField.RingOfIntegers K)Λ£} {f : Fin (NumberField.Units.rank K) β†’ β„€} (hΞΆ : ΞΆ ∈ NumberField.Units.torsion K) (h : x = ΞΆ * ∏ i : Fin (NumberField.Units.rank K), NumberField.Units.fundSystem K i ^ f i) :
                  f = ⇑((NumberField.Units.basisModTorsion K).repr (Additive.ofMul ↑x))

                  The exponents that appear in the unique decomposition of a unit as the product of a root of unity and powers of the units of the fundamental system fundSystem (see exist_unique_eq_mul_prod) are given by the representation of the unit on basisModTorsion.

                  Dirichlet Unit Theorem. Any unit x of π“ž K can be written uniquely as the product of a root of unity and powers of the units of the fundamental system fundSystem.