Documentation

Mathlib.NumberTheory.NumberField.InfinitePlace.Basic

Infinite places of a number field #

This file defines the infinite places of a number field.

Main Definitions and Results #

Tags #

number field, infinite places

def NumberField.InfinitePlace (K : Type u_1) [Field K] :
Type u_1

An infinite place of a number field K is a place associated to a complex embedding.

Equations
Instances For
    noncomputable def NumberField.InfinitePlace.mk {K : Type u_1} [Field K] (φ : K →+* ) :

    Return the infinite place defined by a complex embedding φ.

    Equations
    Instances For

      A predicate singling out infinite places among the absolute values on a number field K.

      Equations
      Instances For
        @[instance_reducible]
        Equations
        theorem NumberField.InfinitePlace.coe_apply {K : Type u_1} [Field K] (v : InfinitePlace K) (x : K) :
        v x = v x
        theorem NumberField.InfinitePlace.ext {K : Type u_1} [Field K] (v₁ v₂ : InfinitePlace K) (h : ∀ (k : K), v₁ k = v₂ k) :
        v₁ = v₂
        theorem NumberField.InfinitePlace.ext_iff {K : Type u_1} [Field K] {v₁ v₂ : InfinitePlace K} :
        v₁ = v₂ ∀ (k : K), v₁ k = v₂ k
        @[simp]
        theorem NumberField.InfinitePlace.apply {K : Type u_1} [Field K] (φ : K →+* ) (x : K) :
        (mk φ) x = φ x
        noncomputable def NumberField.InfinitePlace.embedding {K : Type u_1} [Field K] (w : InfinitePlace K) :

        For an infinite place w, return an embedding φ such that w = infinite_place φ .

        Equations
        Instances For
          @[simp]
          theorem NumberField.InfinitePlace.embedding_inj {K : Type u_1} [Field K] {v₁ v₂ : InfinitePlace K} :
          v₁.embedding = v₂.embedding v₁ = v₂
          theorem NumberField.InfinitePlace.eq_iff_eq {K : Type u_1} [Field K] (x : K) (r : ) :
          (∀ (w : InfinitePlace K), w x = r) ∀ (φ : K →+* ), φ x = r
          theorem NumberField.InfinitePlace.le_iff_le {K : Type u_1} [Field K] (x : K) (r : ) :
          (∀ (w : InfinitePlace K), w x r) ∀ (φ : K →+* ), φ x r
          theorem NumberField.InfinitePlace.pos_iff {K : Type u_1} [Field K] {w : InfinitePlace K} {x : K} :
          0 < w x x 0
          @[simp]
          theorem NumberField.InfinitePlace.mk_eq_iff {K : Type u_1} [Field K] {φ ψ : K →+* } :
          @[reducible, inline]
          abbrev NumberField.InfinitePlace.LiesOver {K : Type u_1} [Field K] {L : Type u_2} [Field L] [Algebra K L] (w : InfinitePlace L) (v : InfinitePlace K) :

          An infinite place w of L / K lies over the infinite place v of K if v is the restriction of w to K.

          Equations
          Instances For

            An infinite place is real if it is defined by a real embedding.

            Equations
            Instances For

              An infinite place is complex if it is defined by a complex (i.e. not real) embedding.

              Equations
              Instances For
                theorem NumberField.InfinitePlace.ne_of_isReal_isComplex {K : Type u_1} [Field K] {w w' : InfinitePlace K} (h : w.IsReal) (h' : w'.IsComplex) :
                w w'
                noncomputable def NumberField.InfinitePlace.embedding_of_isReal {K : Type u_1} [Field K] {w : InfinitePlace K} (hw : w.IsReal) :

                The real embedding associated to a real infinite place.

                Equations
                Instances For
                  @[simp]
                  noncomputable def NumberField.InfinitePlace.mult {K : Type u_1} [Field K] (w : InfinitePlace K) :

                  The multiplicity of an infinite place, that is the number of distinct complex embeddings that define it, see card_filter_mk_eq.

                  Equations
                  Instances For
                    @[simp]
                    theorem NumberField.InfinitePlace.mult_isReal {K : Type u_1} [Field K] (w : { w : InfinitePlace K // w.IsReal }) :
                    (↑w).mult = 1
                    @[simp]
                    theorem NumberField.InfinitePlace.mult_isComplex {K : Type u_1} [Field K] (w : { w : InfinitePlace K // w.IsComplex }) :
                    (↑w).mult = 2
                    theorem NumberField.InfinitePlace.prod_eq_prod_mul_prod {K : Type u_1} [Field K] {α : Type u_2} [CommMonoid α] [NumberField K] (f : InfinitePlace Kα) :
                    w : InfinitePlace K, f w = (∏ w : { w : InfinitePlace K // w.IsReal }, f w) * w : { w : InfinitePlace K // w.IsComplex }, f w
                    theorem NumberField.InfinitePlace.sum_eq_sum_add_sum {K : Type u_1} [Field K] {α : Type u_2} [AddCommMonoid α] [NumberField K] (f : InfinitePlace Kα) :
                    w : InfinitePlace K, f w = w : { w : InfinitePlace K // w.IsReal }, f w + w : { w : InfinitePlace K // w.IsComplex }, f w

                    The map from real embeddings to real infinite places as an equiv

                    Equations
                    Instances For

                      The map from nonreal embeddings to complex infinite places

                      Equations
                      Instances For
                        @[simp]
                        theorem NumberField.InfinitePlace.mkReal_coe {K : Type u_1} [Field K] (φ : { φ : K →+* // ComplexEmbedding.IsReal φ }) :
                        (mkReal φ) = mk φ
                        @[simp]
                        theorem NumberField.InfinitePlace.prod_eq_abs_norm {K : Type u_1} [Field K] [NumberField K] (x : K) :
                        w : InfinitePlace K, w x ^ w.mult = |(Algebra.norm ) x|

                        The infinite part of the product formula : for x ∈ K, we have Π_w ‖x‖_w = |norm(x)| where ‖·‖_w is the normalized absolute value for w.

                        theorem NumberField.InfinitePlace.one_le_of_lt_one {K : Type u_1} [Field K] [NumberField K] {w : InfinitePlace K} {a : RingOfIntegers K} (ha : a 0) (h : ∀ ⦃z : InfinitePlace K⦄, z wz a < 1) :
                        1 w a
                        theorem NumberField.is_primitive_element_of_infinitePlace_lt {K : Type u_1} [Field K] [NumberField K] {x : RingOfIntegers K} {w : InfinitePlace K} (h₁ : x 0) (h₂ : ∀ ⦃w' : InfinitePlace K⦄, w' ww' x < 1) (h₃ : w.IsReal |(w.embedding x).re| < 1) :
                        x =
                        theorem NumberField.adjoin_eq_top_of_infinitePlace_lt {K : Type u_1} [Field K] [NumberField K] {x : RingOfIntegers K} {w : InfinitePlace K} (h₁ : x 0) (h₂ : ∀ ⦃w' : InfinitePlace K⦄, w' ww' x < 1) (h₃ : w.IsReal |(w.embedding x).re| < 1) :
                        [x] =
                        @[reducible, inline]
                        noncomputable abbrev NumberField.InfinitePlace.nrRealPlaces (K : Type u_1) [Field K] [NumberField K] :

                        The number of infinite real places of the number field K.

                        Equations
                        Instances For
                          @[reducible, inline]
                          noncomputable abbrev NumberField.InfinitePlace.nrComplexPlaces (K : Type u_1) [Field K] [NumberField K] :

                          The number of infinite complex places of the number field K.

                          Equations
                          Instances For

                            The signature of the permutation on the complex embeddings of K defined by sending an embedding to its conjugate has signature (-1) ^ nrComplexPlaces K.

                            The infinite place of the rationals. #

                            The infinite place of , coming from the canonical map ℚ → ℂ.

                            Equations
                            Instances For
                              @[simp]
                              @[simp]
                              theorem NumberField.InfinitePlace.map_ratCast {K : Type u_1} [Field K] (v : InfinitePlace K) (x : ) :
                              v x = x
                              @[simp]
                              theorem NumberField.InfinitePlace.map_natCast {K : Type u_1} [Field K] (v : InfinitePlace K) (n : ) :
                              v n = n
                              @[simp]
                              theorem NumberField.InfinitePlace.map_intCast {K : Type u_1} [Field K] (v : InfinitePlace K) (z : ) :
                              v z = z
                              theorem NumberField.InfinitePlace.eq_one_of_rpow_eq {K : Type u_1} [Field K] {v w : InfinitePlace K} {t : } (h : (fun (x : K) => w x) ^ t = v) :
                              t = 1

                              If v and w are infinite places of K and v = w ^ t for some t then t = 1.

                              theorem NumberField.InfinitePlace.eq_iff_isEquiv {K : Type u_1} [Field K] {v w : InfinitePlace K} :
                              w = v (↑w).IsEquiv v

                              Two infinite places v and w are equal if and only if their underlying absolute values are equivalent.

                              Infinite places are represented by non-trivial absolute values.

                              Weak approximation for infinite places The number field K is dense when embedded diagonally in the product (v : InfinitePlace K) → WithAbs v.1, in which WithAbs v.1 represents K equipped with the topology coming from the infinite place v.