Dedekind domains #
This file defines the notion of a Dedekind domain (or Dedekind ring), giving three equivalent definitions (TODO: and shows that they are equivalent).
Main definitions #
is_dedekind_domain
defines a Dedekind domain as a commutative ring that is Noetherian, integrally closed in its field of fractions and has Krull dimension at most one.is_dedekind_domain_iff
shows that this does not depend on the choice of field of fractions.is_dedekind_domain_dvr
alternatively defines a Dedekind domain as an integral domain that is Noetherian, and the localization at every nonzero prime ideal is a DVR.is_dedekind_domain_inv
alternatively defines a Dedekind domain as an integral domain where every nonzero fractional ideal is invertible.is_dedekind_domain_inv_iff
shows that this does note depend on the choice of field of fractions.
Implementation notes #
The definitions that involve a field of fractions choose a canonical field of fractions,
but are independent of that choice. The ..._iff
lemmas express this independence.
Often, definitions assume that Dedekind domains are not fields. We found it more practical
to add a (h : ¬ is_field A)
assumption whenever this is explicitly needed.
References #
- D. Marcus, Number Fields
- J.W.S. Cassels, A. Frölich, Algebraic Number Theory
- J. Neukirch, Algebraic Number Theory
Tags #
dedekind domain, dedekind ring
A ring R
has Krull dimension at most one if all nonzero prime ideals are maximal.
Equations
- ring.dimension_le_one R = ∀ (p : ideal R), p ≠ ⊥ → p.is_prime → p.is_maximal
- is_noetherian_ring : is_noetherian_ring A
- dimension_le_one : ring.dimension_le_one A
- is_integrally_closed : is_integrally_closed A
A Dedekind domain is an integral domain that is Noetherian, integrally closed, and has Krull dimension at most one.
This is definition 3.2 of [Neu99].
The integral closure condition is independent of the choice of field of fractions:
use is_dedekind_domain_iff
to prove is_dedekind_domain
for a given fraction_map
.
This is the default implementation, but there are equivalent definitions,
is_dedekind_domain_dvr
and is_dedekind_domain_inv
.
TODO: Prove that these are actually equivalent definitions.
An integral domain is a Dedekind domain iff and only if it is Noetherian, has dimension ≤ 1, and is integrally closed in a given fraction field. In particular, this definition does not depend on the choice of this fraction field.
- is_noetherian_ring : is_noetherian_ring A
- is_dvr_at_nonzero_prime : ∀ (P : ideal A), P ≠ ⊥ → ∀ (ᾰ : P.is_prime), discrete_valuation_ring (localization.at_prime P)
A Dedekind domain is an integral domain that is Noetherian, and the localization at every nonzero prime is a discrete valuation ring.
This is equivalent to is_dedekind_domain
.
TODO: prove the equivalence.
Equations
- fractional_ideal.has_inv K = {inv := λ (I : fractional_ideal R₁⁰ K), 1 / I}
I⁻¹
is the inverse of I
if I
has an inverse.
A Dedekind domain is an integral domain such that every fractional ideal has an inverse.
This is equivalent to is_dedekind_domain
.
In particular we provide a fractional_ideal.comm_group_with_zero
instance,
assuming is_dedekind_domain A
, which implies is_dedekind_domain_inv
. For integral ideals,
is_dedekind_domain
(_inv
) implies only ideal.cancel_comm_monoid_with_zero
.
Equations
- is_dedekind_domain_inv A = ∀ (I : fractional_ideal A⁰ (fraction_ring A)), I ≠ ⊥ → I * I⁻¹ = 1
Showing one side of the equivalence between the definitions
is_dedekind_domain_inv
and is_dedekind_domain
of Dedekind domains.
Specialization of exists_prime_spectrum_prod_le_and_ne_bot_of_domain
to Dedekind domains:
Let I : ideal A
be a nonzero ideal, where A
is a Dedekind domain that is not a field.
Then exists_prime_spectrum_prod_le_and_ne_bot_of_domain
states we can find a product of prime
ideals that is contained within I
. This lemma extends that result by making the product minimal:
let M
be a maximal ideal that contains I
, then the product including M
is contained within I
and the product excluding M
is not contained within I
.
Nonzero integral ideals in a Dedekind domain are invertible.
We will use this to show that nonzero fractional ideals are invertible, and finally conclude that fractional ideals in a Dedekind domain form a group with zero.
Nonzero fractional ideals in a Dedekind domain are units.
This is also available as _root_.mul_inv_cancel
, using the
comm_group_with_zero
instance defined below.
This is also available as _root_.div_eq_mul_inv
, using the
comm_group_with_zero
instance defined below.
is_dedekind_domain
and is_dedekind_domain_inv
are equivalent ways
to express that an integral domain is a Dedekind domain.
Equations
- fractional_ideal.comm_group_with_zero K = {mul := comm_semiring.mul fractional_ideal.comm_semiring, mul_assoc := _, one := comm_semiring.one fractional_ideal.comm_semiring, one_mul := _, mul_one := _, npow := comm_semiring.npow fractional_ideal.comm_semiring, npow_zero' := _, npow_succ' := _, mul_comm := _, zero := comm_semiring.zero fractional_ideal.comm_semiring, zero_mul := _, mul_zero := _, inv := λ (I : fractional_ideal A⁰ K), I⁻¹, div := has_div.div fractional_ideal.fractional_ideal_has_div, div_eq_mul_inv := _, zpow := group_with_zero.zpow._default comm_semiring.mul _ comm_semiring.one _ _ comm_semiring.npow _ _ (λ (I : fractional_ideal A⁰ K), I⁻¹), zpow_zero' := _, zpow_succ' := _, zpow_neg' := _, exists_pair_ne := _, inv_zero := _, mul_inv_cancel := _}
Equations
- ideal.cancel_comm_monoid_with_zero = function.injective.cancel_comm_monoid_with_zero ⇑(fractional_ideal.coe_ideal_hom A⁰ (fraction_ring A)) ideal.cancel_comm_monoid_with_zero._proof_2 ideal.cancel_comm_monoid_with_zero._proof_3 ideal.cancel_comm_monoid_with_zero._proof_4 ideal.cancel_comm_monoid_with_zero._proof_5
For ideals in a Dedekind domain, to divide is to contain.
is_integral_closure
section #
We show that an integral closure of a Dedekind domain in a finite separable field extension is again a Dedekind domain. This implies the ring of integers of a number field is a Dedekind domain.
Send a set of x
'es in a finite extension L
of the fraction field of R
to (y : R) • x ∈ integral_closure R L
.
If L
is a finite extension of K = Frac(A)
,
then L
has a basis over A
consisting of integral elements.