Documentation

TauCeti.NumberTheory.NumberField.Global.Places.Basic

Places of a number field and their normalized absolute values #

Mathlib indexes the two kinds of place of a number field K by two unrelated types: the finite places by IsDedekindDomain.HeightOneSpectrum (π“ž K) and the infinite places by NumberField.InfinitePlace K. Both carry an absolute value, but with different normalizations, and the product formula NumberField.prod_abs_eq_one is stated as a product over the finite places times a product over the infinite places.

This file introduces the single indexing type TauCeti.GlobalNumberFields.Place K for all places of K, together with the normalized absolute value β€–Β·β€–_v attached to a place v, and states the product formula as one finprod over that type.

The normalization is the one that makes the product formula hold with all exponents equal to one:

Because of the square at the complex places, β€–Β·β€–_v is not an AbsoluteValue β€” it does not satisfy the triangle inequality there β€” so it is bundled as a MonoidWithZeroHom. This is the standard normalization: β€–Β·β€–_v is the module of the local field at v, which is what the idele norm and the product formula require.

Heights in Diophantine approximation instead use the degree-normalized absolute value TauCeti.GlobalNumberFields.normAbs, written |Β·|_v, the [K : β„š]-th root of β€–Β·β€–_v, whose products over the places give absolute heights.

Main definitions #

Main results #

References #

@[reducible, inline]

A place of a number field K: either a finite place, indexed by a height one prime of π“ž K, or an infinite place. This is an abbreviation for the disjoint union of Mathlib's two indexing types; it is the uniform vocabulary in which statements ranging over all places of K (the product formula, the restricted product defining the adeles, the idele norm) are phrased.

Instances For

    The normalized absolute value at a place of a number field: the v-adic absolute value at a finite place v, and w x ^ w.mult at an infinite place w, so that a real place contributes |x| and a complex place contributes |x| ^ 2.

    At a complex place this is not subadditive, so it is bundled as a MonoidWithZeroHom rather than as an AbsoluteValue.

    Instances For

      At a real place the normalized absolute value is the absolute value itself.

      At a complex place the normalized absolute value is the square of the absolute value.

      The normalized absolute value at an infinite place, computed through a complex embedding defining the place.

      An algebraic integer has normalized absolute value exactly 1 at a finite place precisely when it avoids the corresponding prime.

      At a finite place, having normalized absolute value at most 1 is having v-adic valuation at most 1.

      An element of a number field is an algebraic integer exactly when its normalized absolute value is at most 1 at every finite place.

      The normalized absolute value of a nonzero algebraic integer at a finite place, explicitly: the ideal norm of the prime, raised to minus the multiplicity of that prime in the principal ideal generated by the integer.

      A nonzero element of a number field lies outside all but finitely many height one primes, so its v-adic absolute values are almost all 1.

      A nonzero element of a number field has normalized absolute value 1 at all but finitely many places.

      The finite part of the product formula, indexed by the height one primes of π“ž K.

      The product formula for a number field, as a single product over all of its places, finite and infinite, of the normalized absolute values.

      theorem TauCeti.GlobalNumberFields.hasFiniteMulSupport_iSup_normalizedAbsValue {K : Type u_1} [Field K] [NumberField K] {ΞΉ : Type u_2} [Finite ΞΉ] {y : ΞΉ β†’ K} (hy : y β‰  0) :
      Function.HasFiniteMulSupport fun (v : Place K) => ⨆ (i : ΞΉ), (normalizedAbsValue v) (y i)

      A tuple of elements of a number field which is not identically zero has, at all but finitely many places, largest normalized absolute value 1.

      The degree-normalized absolute value #

      noncomputable def TauCeti.GlobalNumberFields.normAbs {K : Type u_1} [Field K] [NumberField K] (v : Place K) :

      The degree-normalized absolute value |x|_v = normalizedAbsValue v x ^ (1 / [K : β„š]) at a place v of a number field K. At an infinite place w it is w x ^ (mult w / [K : β„š]) (normAbs_inr), and at a finite place it is the [K : β„š]-th root of the v-adic absolute value (normAbs_inl).

      This is the normalization of Evertse–Ferretti, in which the product of the local factors of a height is the absolute height: it does not change when K is replaced by a finite extension.

      Instances For
        theorem TauCeti.GlobalNumberFields.normAbs_apply {K : Type u_1} [Field K] [NumberField K] (v : Place K) (x : K) :
        (normAbs v) x = (normalizedAbsValue v) x ^ (1 / ↑(Module.finrank β„š K))
        @[simp]

        At a finite place v, the degree-normalized absolute value is the [K : β„š]-th root of the v-adic absolute value.

        @[simp]
        theorem TauCeti.GlobalNumberFields.normAbs_inr {K : Type u_1} [Field K] [NumberField K] (w : NumberField.InfinitePlace K) (x : K) :
        (normAbs (Sum.inr w)) x = w x ^ (↑w.mult / ↑(Module.finrank β„š K))

        At an infinite place w, the degree-normalized absolute value is w x ^ (mult w / [K : β„š]).

        @[simp]
        theorem TauCeti.GlobalNumberFields.normAbs_neg {K : Type u_1} [Field K] [NumberField K] (v : Place K) (x : K) :
        (normAbs v) (-x) = (normAbs v) x

        Negation does not change a degree-normalized absolute value.

        theorem TauCeti.GlobalNumberFields.normAbs_pos {K : Type u_1} [Field K] [NumberField K] (v : Place K) {x : K} (hx : x β‰  0) :
        0 < (normAbs v) x

        The [K : β„š]-th power of the degree-normalized absolute value is the normalized absolute value.

        theorem TauCeti.GlobalNumberFields.iSup_normAbs_pow_finrank {K : Type u_1} [Field K] [NumberField K] {ΞΉ : Type u_2} (v : Place K) (y : ΞΉ β†’ K) :
        (⨆ (i : ΞΉ), (normAbs v) (y i)) ^ Module.finrank β„š K = ⨆ (i : ΞΉ), (normalizedAbsValue v) (y i)

        The [K : β„š]-th power of the largest degree-normalized absolute value of a tuple is its largest normalized absolute value.

        theorem TauCeti.GlobalNumberFields.hasFiniteMulSupport_iSup_normAbs {K : Type u_1} [Field K] [NumberField K] {ΞΉ : Type u_2} [Finite ΞΉ] {y : ΞΉ β†’ K} (hy : y β‰  0) :
        Function.HasFiniteMulSupport fun (v : Place K) => ⨆ (i : ΞΉ), (normAbs v) (y i)

        A tuple of elements of a number field which is not identically zero has, at all but finitely many places, largest degree-normalized absolute value 1.

        A nonzero element of a number field has degree-normalized absolute value 1 at all but finitely many places.

        theorem TauCeti.GlobalNumberFields.finprod_normAbs_eq_one {K : Type u_1} [Field K] [NumberField K] {x : K} (hx : x β‰  0) :
        ∏ᢠ (v : Place K), (normAbs v) x = 1

        The product formula for the degree-normalized absolute values of a number field.