Dedekind domains and ideals #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
In this file, we show a ring is a Dedekind domain iff all fractional ideals are invertible. Then we prove some results on the unique factorization monoid structure of the ideals.
Main definitions #
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.is_dedekind_domain.height_one_spectrum
defines the type of nonzero prime ideals ofR
.
Main results: #
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
Equations
- fractional_ideal.has_inv K = {inv := λ (I : fractional_ideal (non_zero_divisors R₁) K), 1 / I}
I⁻¹
is the inverse of I
if I
has an inverse.
Equations
- fractional_ideal.inv_one_class K = {one := 1, inv := has_inv.inv (fractional_ideal.has_inv K), inv_one := _}
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 (non_zero_divisors 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.semifield K = {add := comm_semiring.add fractional_ideal.comm_semiring, add_assoc := _, zero := comm_semiring.zero fractional_ideal.comm_semiring, zero_add := _, add_zero := _, nsmul := comm_semiring.nsmul fractional_ideal.comm_semiring, nsmul_zero' := _, nsmul_succ' := _, add_comm := _, mul := comm_semiring.mul fractional_ideal.comm_semiring, left_distrib := _, right_distrib := _, zero_mul := _, mul_zero := _, mul_assoc := _, one := comm_semiring.one fractional_ideal.comm_semiring, one_mul := _, mul_one := _, nat_cast := comm_semiring.nat_cast fractional_ideal.comm_semiring, nat_cast_zero := _, nat_cast_succ := _, npow := comm_semiring.npow fractional_ideal.comm_semiring, npow_zero' := _, npow_succ' := _, mul_comm := _, inv := λ (I : fractional_ideal (non_zero_divisors A) K), I⁻¹, div := has_div.div fractional_ideal.has_div, div_eq_mul_inv := _, zpow := division_semiring.zpow._default comm_semiring.mul _ comm_semiring.one _ _ comm_semiring.npow _ _ (λ (I : fractional_ideal (non_zero_divisors A) K), I⁻¹), zpow_zero' := _, zpow_succ' := _, zpow_neg' := _, exists_pair_ne := _, inv_zero := _, mul_inv_cancel := _}
Fractional ideals have cancellative multiplication in a Dedekind domain.
Although this instance is a direct consequence of the instance
fractional_ideal.comm_group_with_zero
, we define this instance to provide
a computable alternative.
Equations
- fractional_ideal.cancel_comm_monoid_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 := _, mul_left_cancel_of_ne_zero := _}
Equations
- ideal.cancel_comm_monoid_with_zero = {mul := idem_comm_semiring.mul ideal.idem_comm_semiring, mul_assoc := _, one := idem_comm_semiring.one ideal.idem_comm_semiring, one_mul := _, mul_one := _, npow := idem_comm_semiring.npow ideal.idem_comm_semiring, npow_zero' := _, npow_succ' := _, mul_comm := _, zero := idem_comm_semiring.zero ideal.idem_comm_semiring, zero_mul := _, mul_zero := _, mul_left_cancel_of_ne_zero := _}
For ideals in a Dedekind domain, to divide is to contain.
Strengthening of is_localization.exist_integer_multiples
:
Let J ≠ ⊤
be an ideal in a Dedekind domain A
, and f ≠ 0
a finite collection
of elements of K = Frac(A)
, then we can multiply the elements of f
by some a : K
to find a collection of elements of A
that is not completely contained in J
.
GCD and LCM of ideals in a Dedekind domain #
We show that the gcd of two ideals in a Dedekind domain is just their supremum,
and the lcm is their infimum, and use this to instantiate normalized_gcd_monoid (ideal A)
.
Ideals in a Dedekind domain have gcd and lcm operators that (trivially) are compatible with the normalization operator.
Equations
- ideal.normalized_gcd_monoid = {to_normalization_monoid := {norm_unit := normalization_monoid.norm_unit ideal.normalization_monoid, norm_unit_zero := _, norm_unit_mul := _, norm_unit_coe_units := _}, to_gcd_monoid := {gcd := has_sup.sup (semilattice_sup.to_has_sup (ideal A)), lcm := has_inf.inf submodule.has_inf, gcd_dvd_left := _, gcd_dvd_right := _, dvd_gcd := _, gcd_mul_lcm := _, lcm_zero_left := _, lcm_zero_right := _}, normalize_gcd := _, normalize_lcm := _}
Height one spectrum of a Dedekind domain #
If R
is a Dedekind domain of Krull dimension 1, the maximal ideals of R
are exactly its nonzero
prime ideals.
We define height_one_spectrum
and provide lemmas to recover the facts that prime ideals of height
one are prime and irreducible.
The height one prime spectrum of a Dedekind domain R
is the type of nonzero prime ideals of
R
. Note that this equals the maximal spectrum if R
has Krull dimension 1.
Instances for is_dedekind_domain.height_one_spectrum
- is_dedekind_domain.height_one_spectrum.has_sizeof_inst
An equivalence between the height one and maximal spectra for rings of Krull dimension 1.
Equations
- is_dedekind_domain.height_one_spectrum.equiv_maximal_spectrum hR = {to_fun := λ (v : is_dedekind_domain.height_one_spectrum R), {as_ideal := v.as_ideal, is_maximal := _}, inv_fun := λ (v : maximal_spectrum R), {as_ideal := v.as_ideal, is_prime := _, ne_bot := _}, left_inv := _, right_inv := _}
A Dedekind domain is equal to the intersection of its localizations at all its height one non-zero prime ideals viewed as subalgebras of its field of fractions.
The map from ideals of R
dividing I
to the ideals of A
dividing J
induced by
a homomorphism f : R/I →+* A/J
Equations
- ideal_factors_fun_of_quot_hom hf = {to_fun := λ (X : ↥{p : ideal R | p ∣ I}), ⟨ideal.comap (ideal.quotient.mk J) (ideal.map f (ideal.map (ideal.quotient.mk I) ↑X)), _⟩, monotone' := _}
The bijection between ideals of R
dividing I
and the ideals of A
dividing J
induced by
an isomorphism f : R/I ≅ A/J
.
Equations
The bijection between the sets of normalized factors of I and J induced by a ring
isomorphism f : R/I ≅ A/J
.
Equations
- normalized_factors_equiv_of_quot_equiv f hI hJ = {to_fun := λ (j : ↥{L : ideal R | L ∈ unique_factorization_monoid.normalized_factors I}), ⟨↑(⇑(ideal_factors_equiv_of_quot_equiv f) ⟨↑j, _⟩), _⟩, inv_fun := λ (j : ↥{M : ideal A | M ∈ unique_factorization_monoid.normalized_factors J}), ⟨↑(⇑((ideal_factors_equiv_of_quot_equiv f).symm) ⟨↑j, _⟩), _⟩, left_inv := _, right_inv := _}
The map normalized_factors_equiv_of_quot_equiv
preserves multiplicities.
The intersection of distinct prime powers in a Dedekind domain is the product of these prime powers.
Chinese remainder theorem for a Dedekind domain: if the ideal I
factors as
∏ i, P i ^ e i
, then R ⧸ I
factors as Π i, R ⧸ (P i ^ e i)
.
Equations
- is_dedekind_domain.quotient_equiv_pi_of_prod_eq I P e prime coprime prod_eq = (ideal.quot_equiv_of_eq _).trans (ideal.quotient_inf_ring_equiv_pi_quotient (λ (i : ι), P i ^ e i) _)
Chinese remainder theorem for a Dedekind domain: R ⧸ I
factors as Π i, R ⧸ (P i ^ e i)
,
where P i
ranges over the prime factors of I
and e i
over the multiplicities.
Equations
- is_dedekind_domain.quotient_equiv_pi_factors hI = is_dedekind_domain.quotient_equiv_pi_of_prod_eq I (λ (P : ↥((unique_factorization_monoid.factors I).to_finset)), ↑P) (λ (P : ↥((unique_factorization_monoid.factors I).to_finset)), multiset.count ↑P (unique_factorization_monoid.factors I)) is_dedekind_domain.quotient_equiv_pi_factors._proof_1 is_dedekind_domain.quotient_equiv_pi_factors._proof_2 _
Chinese remainder theorem, specialized to two ideals.
Equations
- I.quotient_mul_equiv_quotient_prod J coprime = (ideal.quot_equiv_of_eq _).trans (I.quotient_inf_equiv_quotient_prod J coprime)
Chinese remainder theorem for a Dedekind domain: if the ideal I
factors as
∏ i in s, P i ^ e i
, then R ⧸ I
factors as Π (i : s), R ⧸ (P i ^ e i)
.
This is a version of is_dedekind_domain.quotient_equiv_pi_of_prod_eq
where we restrict
the product to a finite subset s
of a potentially infinite indexing type ι
.
Equations
- is_dedekind_domain.quotient_equiv_pi_of_finset_prod_eq I P e prime coprime prod_eq = is_dedekind_domain.quotient_equiv_pi_of_prod_eq I (λ (i : ↥s), P ↑i) (λ (i : ↥s), e ↑i) _ _ _
Corollary of the Chinese remainder theorem: given elements x i : R / P i ^ e i
,
we can choose a representative y : R
such that y ≡ x i (mod P i ^ e i)
.
Corollary of the Chinese remainder theorem: given elements x i : R
,
we can choose a representative y : R
such that y - x i ∈ P i ^ e i
.
The bijection between the (normalized) prime factors of r
and the (normalized) prime factors
of span {r}
Equations
- normalized_factors_equiv_span_normalized_factors hr = equiv.of_bijective (λ (d : ↥{d : R | d ∈ unique_factorization_monoid.normalized_factors r}), ⟨ideal.span {↑d}, _⟩) _
The bijection normalized_factors_equiv_span_normalized_factors
between the set of prime
factors of r
and the set of prime factors of the ideal ⟨r⟩
preserves multiplicities.
The bijection normalized_factors_equiv_span_normalized_factors.symm
between the set of prime
factors of the ideal ⟨r⟩
and the set of prime factors of r
preserves multiplicities.