S-integers and S-units of fraction fields of Dedekind domains #
Let K be the field of fractions of a Dedekind domain R, and let S be a set of prime ideals in
the height one spectrum of R. An S-integer of K is defined to have v-adic valuation at most
one for all primes ideals v away from S, whereas an S-unit of Kˣ is defined to have v-adic
valuation exactly one for all prime ideals v away from S.
This file defines the subalgebra of S-integers of K and the subgroup of S-units of Kˣ, where
K can be specialised to the case of a number field or a function field separately.
Main definitions #
Set.integer:S-integers.Set.unit:S-units.- TODO: localised notation for
S-integers.
Main statements #
Set.unitEquivUnitsInteger:S-units are units ofS-integers.- TODO: proof that
S-units is the kernel of a map to a product. - TODO: proof that
∅-integers is the usual ring of integers. - TODO: finite generation of
S-units and Dirichlet'sS-unit theorem.
References #
- [D Marcus, Number Fields][marcus1977number]
- [J W S Cassels, A Frölich, Algebraic Number Theory][cassels1967algebraic]
- [J Neukirch, Algebraic Number Theory][Neukirch1992]
Tags #
S integer, S-integer, S unit, S-unit
S-integers #
@[simp]
theorem
Set.integer_carrier
{R : Type u}
[CommRing R]
[IsDomain R]
[IsDedekindDomain R]
(S : Set (IsDedekindDomain.HeightOneSpectrum R))
(K : Type v)
[Field K]
[Algebra R K]
[IsFractionRing R K]
:
↑(Set.integer S K) = {x : K | ∀ v ∉ S, (IsDedekindDomain.HeightOneSpectrum.valuation v) x ≤ 1}
def
Set.integer
{R : Type u}
[CommRing R]
[IsDomain R]
[IsDedekindDomain R]
(S : Set (IsDedekindDomain.HeightOneSpectrum R))
(K : Type v)
[Field K]
[Algebra R K]
[IsFractionRing R K]
:
Subalgebra R K
The R-subalgebra of S-integers of K.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Set.integer_eq
{R : Type u}
[CommRing R]
[IsDomain R]
[IsDedekindDomain R]
(S : Set (IsDedekindDomain.HeightOneSpectrum R))
(K : Type v)
[Field K]
[Algebra R K]
[IsFractionRing R K]
:
Subalgebra.toSubring (Set.integer S K) = ⨅ (v : IsDedekindDomain.HeightOneSpectrum R),
⨅ (_ : v ∉ S), (Valuation.valuationSubring (IsDedekindDomain.HeightOneSpectrum.valuation v)).toSubring
theorem
Set.integer_valuation_le_one
{R : Type u}
[CommRing R]
[IsDomain R]
[IsDedekindDomain R]
(S : Set (IsDedekindDomain.HeightOneSpectrum R))
(K : Type v)
[Field K]
[Algebra R K]
[IsFractionRing R K]
(x : ↥(Set.integer S K))
{v : IsDedekindDomain.HeightOneSpectrum R}
(hv : v ∉ S)
:
S-units #
@[simp]
theorem
Set.unit_coe
{R : Type u}
[CommRing R]
[IsDomain R]
[IsDedekindDomain R]
(S : Set (IsDedekindDomain.HeightOneSpectrum R))
(K : Type v)
[Field K]
[Algebra R K]
[IsFractionRing R K]
:
↑(Set.unit S K) = {x : Kˣ | ∀ v ∉ S, (IsDedekindDomain.HeightOneSpectrum.valuation v) ↑x = 1}
def
Set.unit
{R : Type u}
[CommRing R]
[IsDomain R]
[IsDedekindDomain R]
(S : Set (IsDedekindDomain.HeightOneSpectrum R))
(K : Type v)
[Field K]
[Algebra R K]
[IsFractionRing R K]
:
The subgroup of S-units of Kˣ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Set.unit_eq
{R : Type u}
[CommRing R]
[IsDomain R]
[IsDedekindDomain R]
(S : Set (IsDedekindDomain.HeightOneSpectrum R))
(K : Type v)
[Field K]
[Algebra R K]
[IsFractionRing R K]
:
Set.unit S K = ⨅ (v : IsDedekindDomain.HeightOneSpectrum R),
⨅ (_ : v ∉ S),
ValuationSubring.unitGroup (Valuation.valuationSubring (IsDedekindDomain.HeightOneSpectrum.valuation v))
theorem
Set.unit_valuation_eq_one
{R : Type u}
[CommRing R]
[IsDomain R]
[IsDedekindDomain R]
(S : Set (IsDedekindDomain.HeightOneSpectrum R))
(K : Type v)
[Field K]
[Algebra R K]
[IsFractionRing R K]
(x : ↥(Set.unit S K))
{v : IsDedekindDomain.HeightOneSpectrum R}
(hv : v ∉ S)
:
@[simp]
theorem
Set.unitEquivUnitsInteger_symm_apply_coe
{R : Type u}
[CommRing R]
[IsDomain R]
[IsDedekindDomain R]
(S : Set (IsDedekindDomain.HeightOneSpectrum R))
(K : Type v)
[Field K]
[Algebra R K]
[IsFractionRing R K]
(x : (↥(Set.integer S K))ˣ)
:
↑((MulEquiv.symm (Set.unitEquivUnitsInteger S K)) x) = Units.mk0 ↑↑x ⋯
@[simp]
theorem
Set.val_unitEquivUnitsInteger_apply_coe
{R : Type u}
[CommRing R]
[IsDomain R]
[IsDedekindDomain R]
(S : Set (IsDedekindDomain.HeightOneSpectrum R))
(K : Type v)
[Field K]
[Algebra R K]
[IsFractionRing R K]
(x : ↥(Set.unit S K))
:
↑↑((Set.unitEquivUnitsInteger S K) x) = ↑↑x
def
Set.unitEquivUnitsInteger
{R : Type u}
[CommRing R]
[IsDomain R]
[IsDedekindDomain R]
(S : Set (IsDedekindDomain.HeightOneSpectrum R))
(K : Type v)
[Field K]
[Algebra R K]
[IsFractionRing R K]
:
↥(Set.unit S K) ≃* (↥(Set.integer S K))ˣ
The group of S-units is the group of units of the ring of S-integers.
Equations
- One or more equations did not get rendered due to their size.