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_invalternatively defines a Dedekind domain as an integral domain where every nonzero fractional ideal is invertible.is_dedekind_domain_inv_iffshows that this does note depend on the choice of field of fractions.is_dedekind_domain.height_one_spectrumdefines 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.